HOME / TIME
广东深圳专业医用器械产品外观工业产品设计USB设备设计的一种简便快速实现
-USB设备设计的一种简便快速实现
2019/03/05
首先介绍基于接口芯片CH372的US广东深圳专业Alaris输液泵产品设计公司医疗领域室内装饰设计中色彩的研究B设备设计方法,该方法免去了烦琐的USB驱动程序和下位机的USB总线操作固件程序广东深圳专业医用产品仪器工业产品设计TCL:针对性产品设计的开发。
接着具体介绍了该方案在多功能人体生物电信号处理系统设计中的应用。

  关键词:USB设备;USB通信;生物电信号处理��
  中图法分类号:TP336文献标识码:A
  文章编号:1001―3695(2007)02―0252―02
  通用串行总线(Universal Serial Bus)是1995年Microsoft,Compaq,IBM等公司联合制定的一种新的总线接口协议[1]。
作为一种外设接口,它较其他接口有以下四个优点:��
  (1)使用方便,所有的USB设备支持热插拔,系统对其进行自动配置,彻底抛弃了过去的跳线和拨码开关设置,使用接口可以连接多个不同的设备。
��
  (2)有较高的信息传输速率(USB1.1支持最高传输速度为12Mbps,而USB 2.0的传输速度可达到480 Mbps)。
��
  (3)连接灵活,一个系统可支持127个物理设备,且可以实现最多五级的星型拓扑连接。
��
  (4)独立供电,接口提供了内置电源,能向低压设备广东深圳专业医疗设备产品工业产品设计产品设计中隐喻提供5V电源。
��
  由于以上优点, PC机外部设备通过USB接口通信已成为一种发展趋势。
基于PC-USB设备、主从结构的系统开发,可以利用PC机强大的运算处理能力及网络通信能力实现系统的功能,组成功能强大、分布灵活的系统。
��
  
  1 USB设备设计的一种简便快速实现��
  
  基于独立运作的USB接口芯片,如USBN9602,开发USB接口一般要求设计人员对 USB的标准、Firmware编程及驱动程序的编写等有较深入的理解,因此限制了一般的硬件工程师对USB接口产品的开发使用;基于内含USB单元的MCU, 如C8051F320,开发USB接口,虽然简化了MCU的Firmware编程、接口电路的设计,但是也必须进行复杂的客户机驱动程序的编写[2,3],而且它们的开发工具都较贵。
使用接口芯片CH372可以快速简便实现USB设备开发[4]。
��
  1.1 基于接口芯片CH372的USB设备设计��
  CH372是一个USB总线的通用接口芯片,如图1所示。
在本地端,CH372具有八位数据总线和读、写、片选控制线以及中断输出, 可以方便地挂接到单片机、DSP等控制器的系统总线上。
��
  在计算机系统中,CH372的配套软件提供了简洁易用的应用程序接口,与本地端的单片机通信就如同读写硬盘中的文件一样。
CH372屏蔽了USB通信中的所有协议,在计算机应用层与本地端控制器之间提供端对端的连接。
CH372的外置电路如图2所示,CH372连接单片机总线如图3所示。
��
  这样USB接口芯片C广东深圳专业医疗电子产品工业产品设计高层建筑结构设计分析H372就成为了单片机系统的外部I/O接口单元,对USB总线读写操作就像对外部I/O端口的读写一样。
有了这样的构架,就能实现具体的USB设备开发,利用计算机的网络功能构架USB设备网络系统。
��
  1.2 软件设计��
  单片机固件程序设计,包括设备功能单元的控制处理模块和USB数据传输模块,USB数据传输模块具体实现见下文的介绍。
��
  计算机应用层程序设计。
在计算机上装载厂家提供的CH372通用驱动程序后,不必再考虑USB通信协议、驱动程序、自动配置过程和底层数据传输过程,只需要根据厂家提供的动态链接库的接口函数,用Delphi或 VC++ 编制自己的应用程序即可。
��
  
  2 USB设备设计方案在多功能人体生物电信号处理系统中的应用
  
  人体有各种生物电信号,如心电、脑电和肌电等。
这些信号一般都较微弱,故需放大,初步滤波,然后经A/D转换,再把数据上传给PC机处理。
多功能人体生物电信号处理系统实现实时信号的波形显示、存储、回放、分析,自动测量血氧饱和度、血压、体温等功能。
其传输速度要求为4KBps,基于接口芯片CH372的USB通信足以满足其要求。
��
  2.1 用多个MCU实现USB数据传输及设备控制模块��
  本文将上述USB设备设计方案应用于多功能人体生物电信号处理系统中。
其系统组成如图4所示。
用多MCU协调工作实现数据传输及设备控制模块。
USB通信单片机MCU3专门负责数据命令的上下传输,数据采集打包单片机MCU1负责把各设备功能执行单元的数据采集打包,控制单片机MCU2实现整个设备的协调,各功能执行单元由多个作业MCU控制。
这样设计结构清晰,可以针对具体的设备操作选择内嵌具体功能模块的作业MCU,如要进行数据采集时可选择内嵌多路模拟转换开关和A/D转换模块的MCU,不然用单个MCU处理时,协调处理各种大、小、快、慢、定时、随机等不同性质的数据将会很困难和由此造成数据流瓶颈、速度变慢。
广东深圳专业双波长半导体激光治疗仪产品设计公司慈善医疗救助与政府医疗救助的衔接研究4中,为了实现多MCU的数据交互,在单片机外部设计一个数据缓冲器,一个命令缓冲器,以数据包为单位FIFO。
数据采集打包单片机MCU1不断地往缓冲器输入数据,数据缓冲器能装下四个数据包,第一个数据包字段装满即发出中断,请求控制USB通信的单片机MCU3传输数据。
当单片机MCU3传完第一个数据包后面的数据马上移进来,如此循环。
同样,命令缓冲器能装下三个命令包,控制USB通信的单片机MCU3只管将接到的下传命令包往命令缓冲器中送,第一个命令包满即发出中断,请求设备控制单片机MCU2读取处理命令。
��
  2.2 单片机USB通信程序设计��
  单片机USB通信子程序流程如图5所示,下位机数据上传子程序流程如图6所示。
下位机INT0中断服务程序流程如图7所示。
CH372的收发器只有64Bytes大,而为了提高传输速度要求数据包比较大,所以一个数据包要分为若干次上传。
在中断INT1服务程序中广东深圳专业医用产品仪器外观工业产品设计个体化医疗传输完整的数据包,结构较清晰,但为了提高效率只传一组即64Bytes数据,余下的若干组在接收到上传成功中断INT0后,在其中断服务程序中继广东深圳专业飞利浦磁共振产品设计公司工学结合的产品设计教学探索续上传。
��
  2.3 应用程序层的USB通信程序编写��
  USB通信程序模块负责上传数据的接收、卸包保存,下传命令的打包、下传。
用Delphi或VC++等开发工具均可以实现USB通信模块。
PC机应用程序层的USB通信程序模块流程如图8所示。
��
  把USB通信模块封装成类,定义好数据包的数据结构,有利于装包与拆包,有利于其他单元的使用,多线程的同步。
��
  2.4 基于接口芯片CH372的USB通信模块的测试结果��
  (1)正确性:下传任意长度数据(0―64Bytes),测试2 000次,编程实现下传的数据和返回的数据比较,测试
  (2)下传速度:数据量204 800Bytes,速度255 936Bps,时间8 002ms。
��
  (3)上传速度:数据量204 800Bytes,速度272 666.8Bps,时间7 511ms。
��
  上述测试结果表明,它很好地实现了上位机与下位机的通信、交互。
��
  
  3 结束语��
  
  随着USB接口芯片厂商提供的技术支持越来越友好,USB设备的接口设计将变得越来越容易,由于USB通信自身的优点,USB设备将得到越来越广泛的应用。
这应该是以后接口芯片发展的方向。
基于CH372的USB接口,具有硬件设计简单、软件编程容易、成本低、传输速率快、可靠性高等特点,相信基于CH372 的USB设备新产品将会越来越多。

  本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

微信
粤ICP备16001253号-1