您的位置 首页 ADAS

USB在同步相量丈量单元中的使用

1引言同步相量测量单元(PMU)测量装置与上位计算机之间的通讯速率普遍较低,不能将测量数据及时传送到上位机进行分析处理,通讯接口已成为整个系统性能提高的一个瓶颈,因此有必要使用一种传输速率、时延、稳定

  1 导言

  同步相量丈量单元(PMU)丈量设备与上位计算机之间的通讯速率遍及较低,不能将丈量数据及时传送到上位机进行剖析处理,通讯接口已成为整个体系功用进步的一个瓶颈,因此有必要运用一种传输速率、时延、稳定性均能满意同步相量丈量数据传输的通用接口。

  选用USB接口作为上位机与下位机的通讯接口办法能够处理这些问题。运用USB接口中止传输速率大,时延小,差错率极低的特点来完结实时相量数据的传输。在USB接口的实践运用中,驱动程序的开发是最为困难的部分,因为USB接口诞生较晚,现在没有成为大都单片微机的规范设备,还需求运用专门的接口芯片进行衔接,用户有必要编写相应的驱动程序将数据转化为契合USB体系协议的格局进行传输。

  本文叙说了ATMAGE128单片机运用PDIUSBD12接口芯片完结USB接口数据通讯的进程。经过驱动程序完结对相关硬件设备的操作。该驱动程序完结USB接口的中止传输功用,用户调用通用指令就能够像运用一个一般的存储器相同运用USB接口芯片。该接口完结了各采样点的低延时上传功用,能够在1ms内完结一个工频周期悉数采样值的传输。

  2 USB体系及其器材挑选介绍

  2.1 USB体系概述

  USB(Universal Serial Bus)是一种通用串行总线,为了完结整个计算机体系中总线的一致性,由COMPAQ/ INTEL/MICRSOFT和NEC等公司共同开宣布的一种新的、快速的、双向的、同步传输的并能够热拔插的数据传输总线,简称USB总线。USB总线由以下四个首要部分构成:①主机和设备:是指USB体系中的首要构件。②物理构成:是指USB元件的衔接办法。③逻辑构成:不同的USB元件所担任的人物和职责,以及从主机和设备的视点动身USB总线所呈现的结构。④客户软件与设备功用接口的联系。

  USB总线有四种数据传输办法:①操控传输:首要用于主机把指令传给设备以及设备把状况回来给主机。②中止传输:用来支撑那些偶尔需求少数数据通信,但服务时刻受限制的设备。③批量传输:用来传输很多的数据而没有周期和传输速率的设备上。批量传输办法并不能确保传输的速率,但能够确保传输的可靠性,当呈现过错的时分会要求发送方重发。④同步传输:以一个稳定的速率进行传输。同步传输的办法的发送和接纳方都有必要确保传输速率的匹配,否则会形成数据的丢掉。

  2.2 USB器材简介及运用

  完结USB传输的办法首要有运用接口转化芯片和专用的接口芯片两种。前者便是将USB接口转化为规范的RS232接口运用,在操作办法和传输速度上与RS232接口完全相同。后者则能够完结真实的USB传输,运用USB1.1规范的接口芯片如PDIUSBD12能够到达最高12Mb/s的传输速率,运用USB2.0规范的接口芯片如ISP1581则能够到达480Mb/s的传输速率。假如要运用专用的USB接口芯片就有必要编写相应的下位机与上位机驱动程序,因为USB传输不同于串口传输,USB传输的办法都是经过协议规则的数据包来完结的,所以下位机的软件有必要完结对接口器材的硬件办理功用,及对协议宣布的各种恳求作出呼应。而上位机驱动程序需完结对接口芯片的枚举、地址分配等作业。

  2.3 USB接口在本体系中的效果

  USB接口在本体系中用来完结下位机与上位机的通讯,详细便是衔接AVR单片机与PC,将下位机搜集的数据及一些相关信息传送到PC进行处理。传输的数据包括:①电压值(每周期采样64个点,12位数据)。②电流值(每周期采样64个点,12位数据)。③同步时刻信号(取自GPS)。

  上位机在接纳到这些信息后将会对其进行描点,毛病录波,长途传送等处理。12位的电压电流数据都要经过改换,成为16位数据,占一个字节。每通道1秒钟传输的数据在6KB以上,多个通道算计,接口的传输速率至少要40KB/s,这一要求现已超越RS232接口所能供给的传输速率。假如运用CAN总线进行传输,则硬件设备较为杂乱。归纳比较后,选用PDIUSBD12作为接口芯片进行数据传输是较适宜的挑选。选用塑料极小封装的PDIUSBD12能够很简单安顿在电路板上。并且对上位机的要求也较为宽松,只需有USB接口的计算机都能够作为本体系的上位机。

  3 ATMAGE128单片机

  3.1 ATMAGE128单片机介绍

  ATMAGE128单片机是由ATMEL公司出品的一款高功用低功耗的8位微型操控器,最高时钟频率能够达16MHz。片内集成有容量为128KB的闪存作为程序存储器,4KB的EEPROM,以及4KB的片内存储器,最高可支撑64KB的片外存储器。

  3.2 开发进程简述

  TMAGE128的开发一般是由ATMEL公司供给的免费仿真东西avrstudio完结的,与常用的51单片机略有不同,运用c言语进行开发的时分有必要运用第三方编译器对源代码进行编译后才干在仿真环境下运转。本次选用的是icc作为编译器,本文一切的单片机程序都在此环境下运转调试。USB接口器材选用总线操控办法,数据传输办法选用中止传输。USB接口器材在运用上与一个一般的外部存储器相同,一切的操控与数据传输都有必要对ATMAGE128中相应的寄存器进行读写操作才干完结。

  4 USB驱动程序MCU部分

  MCU即设备方操控器,能够是各类型单片机或许是PC,它们的驱动程序在结构上是相似的,而详细的代码,因为运用的体系环境不同,存在较大差异,下面就详细阐明以ATMAGE128单片机作为设备方操控器的USB驱动程序结构以及详细完结的代码。

  4.1 程序全体结构

  关于CPU而言,PDIUSBD12芯片与一个外部存储器完全相同,CPU经过总线操控的办法对PDIUSBD12进行操作。USB接口的传输并不会占用许多CPU资源,CPU能够履行前台操作,而USB接口传输的作业则在后台完结,两者之间经过中止服务程序衔接。当PDIUSBD12 从USB 收到一个数据包,那么就对CPU 发生一个中止恳求,CPU 当即呼应中止。在ISR中固件将数据包从PDIUSBD12 内部缓冲区移到循环数据缓冲区,并在随后清零PDIUSBD12 的内部缓冲区以使能接纳新的数据包CPU 能够持续它当时的前台使命直到完结,然后回来到主循环查看循环缓冲区内是否有新的数据,并开端其它的前台使命。无论是上传或许下载数据都是对循环缓冲区内的数据进行处理,主循环只需查看循环缓冲区内是否有要处理的新数据。程序全体结构框图如图1所示。

  各模块分工如下:

  (1)硬件提取层:对单片机的I/O口、数据总线等硬件接口进行操作。

  (2)PDIUSBD12指令接口:对PDIUSBD12器材进行操作的模块子程序集。

  (3)中止服务程序:当PDIUSBD12向单片机宣布中止恳求时,读取PDIUSBD12的中止传输来的数据,并进行相关处理。

  (4)规范恳求处理程序:对USB的规范设备恳求进行处理。

  (5)厂商恳求处理程序:对用户增加的厂商恳求进行处理。

  (6)主循环程序:发送USB恳求、处理USB总线事情和用户功用处理等。

  图1 USB驱动MCU全体结构图

  4.2 硬件提取层相关程序

  硬件提取层履行对单片机I/O口、数据总线等的操作,包括向PDIUSBD12发送数据或指令的子程序及从PDIUSBD12读取数据的子程序,该部分代码需对地址总线和数据总线进行直接操作。PDIUSBD12的任何操作都是由指令指令和数据指令组合完结的,经过改动A0引脚的电平就能够完结指令形式/数据形式的切换。

  4.3 指令接口

  该部分是由一系列指令接口子程序构成的,包括了一切PDIUSBD12给出的拜访功用接口的指令。在指令接口中调用了硬件提取层中的子程序。PDIUSBD12的一切功用都有必要由相似的办法完结,先发送一条指令,然后写该指令的详细参数。有的指令参数是多个字节的,如设置形式指令,此刻就有必要调用两次写数据线的指令。指令接口程序的编写格局相对固定,依照PDIUSBD12阐明书中给出的指令汇总表顺次编写即可。

  4.4 中止服务程序

  中止服务程序代码处理由PDIUSBD12发生的中止,它将数据从PDIUSBD12内部的缓冲区内取出,并树立正确的标志,告诉主循环进行处理。当PDIUSBD12向单片机宣布中止恳求后,单片机调用读取中止寄存器的规范指令接口子程序d12_readinterruptregister( )来决议中止源,然后跳转到相应的中止服务子程序进行处理。中止服务程序从PDIUSBD12搜集数据,而主循环程序对数据进行处理。当中止服务程序搜集到满足的数据时,它告诉主程序现已做好预备等候处理。例如在发送数据包阶段树立包时,中止服务程序将树立包和数据都存入缓冲区内,然后将setup_packet标志送到主循环,这样主循环就能够节约不必要的服务时刻。

  4.5 总线复位和挂起

  当接纳到总线复位或挂起的恳求时,中止服务程序将bus_set或suspends标志方位位,然后退出。

  操控传输总是由树立阶段开端,之后为可选的数据阶段,然后结束于状况阶段。单片机需经过挑选操控输出端点来提取树立包的内容来决议端点是为满仍是为空。假如操控端点是为满,单片机将从缓冲区内读出内容并将其存入存储区。之后,单片机将从存储区使主设备恳求收效。假如是一个有用的恳求,单片机需向操控端点发送应对树立指令,以从头使能下一个树立阶段。接下来单片机需求证明传输是操控读仍是写,这能够经过树立包重定向的恳求类型位来完结。

  树立阶段结束后,主机就会履行数据阶段。PDIUSBD12等候接纳操控输入包。单片机首要需求读取最终处理状况寄存器清零中止标志位。承认PDIUSBD12处于传输形式后,进行数据包的发送。

  当下一个操控输入标志来届时,单片机将承认剩下的字节是否为零。假如现已没有数据要发送,单片机需求发送一个空的包以指示主机数据现已发送结束。假如树立包的为取得描述符恳求,那么树立包中的操控传输将指示此包为操控写类型。在履行完取得描述符恳求进程后,单片机处于等候数据阶段。主机发送一个操控输出的标志,单片机从PDIUSBD12缓冲区内减去数据。此刻单片机承认PDIUSBD12是否处于USB接纳形式,然后单片机经过查看挑选操控输出端点承认缓冲区是否已满,并将数据从缓冲区内读出。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/206315.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部