位置:51电子网 » 技术资料 » 接口电路

基于USB总线的数据采集设备的设计与实现

发布时间:2008/5/27 0:00:00 访问次数:561

        作者:清华大学电机工程与应用电子技术系(100084)马亚全

     高小榕 中央财经大学信息系 吴 靖

     国家医药管理局国际合作司 范晓东

     来源:《电子技术应用》

     摘要:通用串行总线(usb)作为一种崭新的微机总线接口规范,其特点使其非常适合作为主机和医学仪器之间的通信接口,从而实现主机和多台医学仪器之间简单、快速、可靠的连接和通信。介绍了基于usb总线的数据采集设备的开发方法,包括硬件设计、firmware(固件)设计、基于windows驱动程序模型(wdm)的设备驱动程序设计以及应用软件的设计。

    

    

     关键词:通用串行总线

     数据采集

     随着医学信息网络化的需要,经常需要将各种医学仪器(如脑电图、心电图等)与主机相加,以便于从这些医学仪器获得所需的各种医学信息。同时,在需要的进修还可以通过主机对这些医学仪器的操作进行控制。

     传统的外设与主机的通讯接口一般是基于pci总线、isa总线或者是rs-232c串行总线。pci总线虽具有高的传输速度(132mbps),支持“即插即用”功能,但其缺点是插拔麻烦,且扩展槽有限(一般为5~6个)。isa总线显然存在着同样的问题。rs-232c串行总线虽然连接简单,但其缺点是传输速度慢(56kbps),且主机的串行口数目有限。

     usb(universal serial bus,通用串行总线)是由intel、microsoft、ibm及nec等共同制定的微机总线接口规范[1]。由于usb具有较高的传输速度(usb协议1.1支持的最高传输速度为12mbps,而usb协议2.0支持的最高传输速度更为高达480mbps),支持即插即用和热插拔功能,usb设备的连接电缆最长可达5m,且可通过usb集线器进行层式星形拓扑连接(一台主机最多可连接127个usb设备,且可实现最多5级的拓扑连接),因此其非常适合作为主机和医学仪器之间的通信接口。

     为便于临床上采集病人的某些生理信号(如心电信号,脑电信号等)[2][3],设计了基于usb总线的医学数据采集设备,其最多支持32个通道的同步数据采集,最高采样率为1khz,采样精度为16bit,主机的操作系统为win98。主要完成了四个方面的工作:硬件设计、firmware(固件)设计、设备驱动程序设计以及应用软件的设计。

     1 硬件设计

     usb数据采集设备的硬件构成见图1.从图1可知,32路模拟输入信号由多路模拟开关控制将其中的某一路信号接入串行a/d(选用b-b公司的ads7809),a/d转换的结构经光电隔离后串行输出到移位寄存器,移位寄存器将此结果转为并行数据并写入fifo存储器,80c52系统将数据从fifo存储器中读出并通过usb控制器送到主机。

     当前可供选择的usb控制器很多,如朗讯公司的uss820、国家半导体公司的usbn9602.另外,还有将微控制器和usb控制器集成在一起的芯片,如intel公司的8x930hx和8x930ax,其中8x930hx支持usb集线器功能。在实际开发中选择了朗讯公司的uss820,其主要特点是完全遵循usb协议1.1,支持12mbps的全速传输,支持四种传输方式,提供8个端点(endpoint),且每个端点的传输类型、传输方向均可自由配置。另外,它还为每个端点提供两套fifo数据缓冲区,总的数据缓冲区大小可达2240字节。

     2 firmware设计

     此外firmware(固件)是指被固化到89c52e2prom中的程序。firmware主要完成两个方面的工作:控制a/d的采样和通过usb控制器与主机通信。由于89c52系统控制a/d采样的工作非常简单,此处不做介绍。详细介绍89c52系统通过usb控制器与主机通信的工作。

     因为89c52系统对usb控制器的操作是严格按照usb协议1.1进行的,因此先对usb协议1.1做一简单的介绍。按照usb协议1.1的规定,usb的传输方式分为4种:控制传输(control

     transfer),块传输(bulk transactions),中断传输(interrupt

     transactions)和等时传输(isochronous transactions)。控制传输主要用来完成主机对设备各种控制操作(如获取设备的设

        作者:清华大学电机工程与应用电子技术系(100084)马亚全

     高小榕 中央财经大学信息系 吴 靖

     国家医药管理局国际合作司 范晓东

     来源:《电子技术应用》

     摘要:通用串行总线(usb)作为一种崭新的微机总线接口规范,其特点使其非常适合作为主机和医学仪器之间的通信接口,从而实现主机和多台医学仪器之间简单、快速、可靠的连接和通信。介绍了基于usb总线的数据采集设备的开发方法,包括硬件设计、firmware(固件)设计、基于windows驱动程序模型(wdm)的设备驱动程序设计以及应用软件的设计。

    

    

     关键词:通用串行总线

     数据采集

     随着医学信息网络化的需要,经常需要将各种医学仪器(如脑电图、心电图等)与主机相加,以便于从这些医学仪器获得所需的各种医学信息。同时,在需要的进修还可以通过主机对这些医学仪器的操作进行控制。

     传统的外设与主机的通讯接口一般是基于pci总线、isa总线或者是rs-232c串行总线。pci总线虽具有高的传输速度(132mbps),支持“即插即用”功能,但其缺点是插拔麻烦,且扩展槽有限(一般为5~6个)。isa总线显然存在着同样的问题。rs-232c串行总线虽然连接简单,但其缺点是传输速度慢(56kbps),且主机的串行口数目有限。

     usb(universal serial bus,通用串行总线)是由intel、microsoft、ibm及nec等共同制定的微机总线接口规范[1]。由于usb具有较高的传输速度(usb协议1.1支持的最高传输速度为12mbps,而usb协议2.0支持的最高传输速度更为高达480mbps),支持即插即用和热插拔功能,usb设备的连接电缆最长可达5m,且可通过usb集线器进行层式星形拓扑连接(一台主机最多可连接127个usb设备,且可实现最多5级的拓扑连接),因此其非常适合作为主机和医学仪器之间的通信接口。

     为便于临床上采集病人的某些生理信号(如心电信号,脑电信号等)[2][3],设计了基于usb总线的医学数据采集设备,其最多支持32个通道的同步数据采集,最高采样率为1khz,采样精度为16bit,主机的操作系统为win98。主要完成了四个方面的工作:硬件设计、firmware(固件)设计、设备驱动程序设计以及应用软件的设计。

     1 硬件设计

     usb数据采集设备的硬件构成见图1.从图1可知,32路模拟输入信号由多路模拟开关控制将其中的某一路信号接入串行a/d(选用b-b公司的ads7809),a/d转换的结构经光电隔离后串行输出到移位寄存器,移位寄存器将此结果转为并行数据并写入fifo存储器,80c52系统将数据从fifo存储器中读出并通过usb控制器送到主机。

     当前可供选择的usb控制器很多,如朗讯公司的uss820、国家半导体公司的usbn9602.另外,还有将微控制器和usb控制器集成在一起的芯片,如intel公司的8x930hx和8x930ax,其中8x930hx支持usb集线器功能。在实际开发中选择了朗讯公司的uss820,其主要特点是完全遵循usb协议1.1,支持12mbps的全速传输,支持四种传输方式,提供8个端点(endpoint),且每个端点的传输类型、传输方向均可自由配置。另外,它还为每个端点提供两套fifo数据缓冲区,总的数据缓冲区大小可达2240字节。

     2 firmware设计

     此外firmware(固件)是指被固化到89c52e2prom中的程序。firmware主要完成两个方面的工作:控制a/d的采样和通过usb控制器与主机通信。由于89c52系统控制a/d采样的工作非常简单,此处不做介绍。详细介绍89c52系统通过usb控制器与主机通信的工作。

     因为89c52系统对usb控制器的操作是严格按照usb协议1.1进行的,因此先对usb协议1.1做一简单的介绍。按照usb协议1.1的规定,usb的传输方式分为4种:控制传输(control

     transfer),块传输(bulk transactions),中断传输(interrupt

     transactions)和等时传输(isochronous transactions)。控制传输主要用来完成主机对设备各种控制操作(如获取设备的设

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!