当前位置:文档之家› 基于USB的数据采集卡设计

基于USB的数据采集卡设计

基于USB的数据采集卡设计

刘铁

(北京经纬纺机新技术有限公司100176)

摘要本文介绍了PIC单片机PIC18F4580控制PDIUSBD12,实现USB主机的硬件设计和底

层驱动程序的编写。通过PC机上的软件完成对监控设备的脉冲信号频率、CAN通讯数据监控。

关键词USBPIC18F4580PDIUSBD12数据采集卡

1引言

随着工业技术的发展和现场监控要求的提高,

许多应用场合需要对现场的数字、模拟信号以及通

讯数据进行实时监控和操作。目前常用的监控手段

一般采用基于PCI总线的板卡或基于RS232、RS485通讯总线,PCI总线虽然传输速度快,但要占

用PC机扩展槽地址或中断资源,且现场插拔不方

便。RS232、RS485总线虽然插拔比较方便,但传输速度有限,而USB接口很好的解决了上述问题,它

是PC机的基本配置,即插即用,并且具有较高的传

输速度,是实现数据监控比较理想的一种方式。

2硬件实现

图1系统硬件示意图

本硬件系统包括内嵌CAN总线控制器的Mi

crochip公司PIC18F4580单片机,USB接口芯片采

用的DIUSBD,N通讯收发器采用

M55,外部数字脉冲信号直接进入单片机捕获单元。供电采用USB系统电源,由于USB控制芯片即可以采用5伏供电也可以采用3.3伏供电,因

此单片机和USB控制器数据线和控制线可以直接连接,不需要进行电平转换或缓冲。硬件系统图如

图1所示。

2.1PIC18F4580单片机特点

PIC18F4580是美国Microchip公司生产的内嵌增强性CAN控制器的8位处理器,内部包含了32K

FlashRom,256个字节的EEOROM,1536个字节

SRAM,11路10位AD输入通道,2路捕获和比较单元,1路EUSRT和MSSP模块,灵活的时钟晶振

结构和高达40M时钟频率等十分丰富的外设模块

来满足不同用户使用需求。

2.2PDIUSBD12芯片特点PDIUSBD12是PHILIPS公司生产的兼容

USB1.1协议带有并行总线和局部DMA传输能力

的全速USB接口器件。片内集成了高性能USB接

口器件,SIE,FIFO存储器,收发器以及电压调整器等,可与任何外部微控制器微处理器实现高速并行

接口(2MBS)。PDIUSBD13可理想地用于数据监

控设备当中。

3软件设计

软件设计主要包括USB设备驱动程序、用户应

用程序和USB固件程序设三部分,其中USB设备驱动程序采用DriverWorks为开发工具,用户应用

程序在VC++6.0平台上编写,设备固件程序的设

计是本文研究重点。固件程序设计成中断驱动的方式(如图2所示),单片机响应PDIUSBD12外部中

断并调用中断服务程序,通过数据总线以及一些控

制信号的时序配合从DIUSBD内取出数据,并

置位相应的事件标志,通知主循环程序进行处理。11纺织机械2010年第4期研究与应用

PhilipsP12CA

CP21P12

图2中断服务程序流程

主循环程序会对端点接收的数据进行解析,以

确定如何响应。一般数据域的数据格式是固定的,

在固件程序中可以用C语言结构来描述所接收到

的信息特征。

typedefstruct_REQUESTCMD

{uint8bmRequestType;

uint8bRequest;

uint16wValue;

uint16wIndex;

uint16wLength;

}REQUESTCMD,*pREQUESTCMD;

可分以下几种情况对数据域进行解析:

当bmRequestType=0x80且bRequest=0x06,

主机请求类型为GET_DESCRIPTOR,此时若

wValue的高字节为0x01表明主机向设备请求设备描述符;为0x02表明主机向设备请求配置描述符。

当bmRequestType=0x00且bRequest=0x05,

主机请求类型为SET_ADDRESS,wValue的高字节

为设置的地址值。

当bmRequestType=0x00且bRequest=0x09,主机请求类型为SET_CONFIGURATION,wValue

的低字节指示了一个设置配置。

当bmRequestType=0x21且bRequest=0x0A,

主机请求类型为S_I,该请求的作用是限制中

断输入端点的报表频率来节省总线带宽,V的高字节设置了报表之间的最大时间间隔,低字节设置了设备所支持的报表类型。

主循环程序对接收到的信息解析后,然后发送

相应的信息给主机。其中主要有地址分配,设置配

置和描述符类信息,描述符类信息同样可用C语言的结构体表示,主要包括设备描述符、配置描述符、

接口描述符、端口描述符、字符串描述符,每一个描

述符都以一个字节开始表示描述符的长度,后紧跟一字节表示描述符类信息等,USB设备就是通过各

种描述符来向主机报告它的属性。

USB设备配置结束后,设备就可以正常使用,

主机通过IN,OUT指令可以和设备设定的端口进行监控数据的交换。设备监测的CAN通讯线上的

数据以及数字脉冲信号的频率等数据就可以在主机

人机界面上显示出来,从而达到实时监控目的。

4结论

本文主要讨论了基于USB接口芯片PDIUS

BD12和PIC18F4580的数据采集单元的设计,该采集单元已投入使用,运行状态稳定,实现了CAN通

讯数据和脉冲信号频率监控以及数据的保存。由于

USB1.1使用简单、即插即用、高速稳定,已广泛地应用在PC的外设上并且通讯协议兼容,大大提高

了数据传输能力和速度,在数据采集和处理中达到

了令人满意的效果。

参考文献[1]萧世文,宋延清.USB2.0硬件设计(2版)[M].北京:清华大学出版社,2006.[2]周立功.PDIUSBD12USB固件编程与驱动开发[M].北京:北京航空航天大学出版社,2003.[3]PDIUSBD12芯片在USB接口电路中的应用.http://www..icembed.com[4]MicrochipTechnologyInc.PIC18Fxx8datasheet.http://www.microchip.com12研究与应用纺织机械2010年第4期

etdle

walue

相关主题