1 引言
USB(Universal Serial Bus—通用串行总线)是由Intel,Compaq,Digital,IBM, Microsoft,NEC,Northern Telecom七家世界著名的计算机和通信公司共同推出的新一代总线接口标准。作为一种PC机与外设之间的高速通信接口,USB具有连接灵活、可热插拔、一种接口适合多种设备、速度高(USB1.1协议支持12Mbps,USB2.0协议支持480Mbps)、自动配置、无需定位及运行安装程序、可为外设提供电源、低功耗、低成本、可靠性高等优点,因而在数码相机、便携式仪器、便携式存储设备等产品中广泛应用。
但是,USB接口的开发一般要求设计人员对USB的标准、Firmware(固件)编程及驱动程序的编写等有较深入的理解,因此限制了一般的硬件工程师对 USB接口产品的开发使用;我们在便携式无线抄表系统中使用的USB接口芯片CH371,使用简单、性能卓越,价格低廉,只要熟悉单片机编程及简单的VB 或VC应用程序编程,使一般的硬件工程师在极短的周期内就能很容易地开发出相应的USB产品。图1示出了无线抄表与管理系统的原理
框图。
图1无线抄表与管理系统的原理框图
2 USB总线的通用接口芯片CH371简介
CH371是USB总线的通用接口芯片。
如图2所示,在本地端,CH371具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机、DSP、MCU等控制器的系统总线上;在计算机系统中,CH371的配套软件提供了简洁易用的操作接口,与本地端的单片机通信就如同读写硬盘中的文件。CH371屏蔽了USB通信中的所有协议,在计算机应用层与本地端控制器之间提供端对端的连接。基于CH371,不需要了解任何USB协议或者固件程序甚至驱动程序,就可以轻松地将并口、串口的产品升级到USB接口。
图2 CH371芯片原理图
它具有以下特点:
(1) 屏蔽USB协议,在计算机应用层与本地端之间提供端对端的连接;
(2) 两种通信模式:单向数据流模式、请求加应答模式,支持伪中断;
(3) 自动完成USB配置过程,完全不需要本地端控制器作任何处理;
(4) 标准的USB V1.1接口,即插即用,D+引脚内置上拉电阻;
(5) 内置4个端点,支持USB的控制传输、批量传输、中断传输;
(6) 通用Windows驱动程序,提供设备级接口和应用层接口;
(7) 通用的本地8位数据总线,4线控制:读选通、写选通、片选输入、中断输出;
(8) 占用16个地址,可选直接地址方式或者复用地址方式;
(9) 内置输入输出缓冲区,以中断方式通知本地端控制器传输数据;
(10) 内置硬件实现的I2C主接口,应用层可以直接读写外挂的I2C从设备;
(11) 在主控方式下可以提供16根输入信号线或者12根独立控制的输出信号线;
(12) 内置上电复位,提供高电平有效复位输出和低电平有效复位输出;
(13) 内置可选的看门狗电路Watch-Dog,为本地端控制器提供监控。
3 CH371在基于单片机的无线抄表仪中的硬件接口设计
图3示出的是CH371与MCU的硬件接口简图,因此对MCU AT89C52的硬件连接比较简略,主要是在该系统的设计中,如晶振的选择连接以及复位电路等没有什么特殊的要求,而CH371的复位完全可以采用单片机复位电路产生的复位信号。带I2C接口的串行EEPROM 24C01的作用是用于存储产品的VID、PID、设备序列号等信息,只要地址不相同就可以挂接多片带I2C接口的外围芯片,用户可以利用提供的动态连接库的函数非常方便地完成对串行EEPROM的读出和写入相应的信息。当然系统设计中也可以没有EEPROM,CH371将使用默认的VID、PID、产品描述符和电源描述符,并且没有设备的序列号。
图3CH371与MCU的硬件接口简图
需要注意的是,最好在USB连接器1和4之间跨接一个100μF电解电容和一个0.1μF独石或瓷片电容;12MHz的晶振的外壳最好接地;阻抗匹配电阻在80Ω~150Ω之间即可。
4 信息传输软件实现流程
(1) 下位机数据上传子程序
流程简图如图4所示。
图4数据上传子程序流程图
(2) 下位机中断服务程序
流程图如图5所示。
图5 下位机中断服务程序流程图
&nb
sp; (3) 计算机应用层的程序在计算机上装载WINCHIPHEAD 提供的CH371的通用驱动程序后,我们不必再考 虑USB通信协议、固件程序、驱动程序、自动配置过程和底层数据传输过程,只需要根据提供的动态连接库的接口函数,用VB或VC编制自己的应用程序即可。
5 结束语
从目前的实际应用来看,系统的设计是成功的。尤其是基于CH371的USB接口具有硬件设计简单、软件编程容易、成本低、传输速率快、可靠性高等特点,相信基于CH371的USB 接口新产品将会越来越多。