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驱动程序结构以及具体实现的代码。