用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

基于CH371的实用USB接口设计

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:53:48
【本文由PB创新网为您整理】
摘要:给出一种基于CH371实用USB接口的硬件设计与软件实现。该USB接口具有硬件接口简单、软件编制容易、勿需了解任何USB协议或固件程序甚至驱动程序等特点,是一种非常适用于工程应用的USB接口。

    关键词:CH371 USB 接口AT89C52

通用串行总线USB(Universal Serial Bus)是由Intel、Compaq、Digital、IBM、Microsoft、NEC、Nerthern Telecom七家世界著名的计算机和通信公司共同推出的新一代总线接口标准。作为一种PC机与外设之间的高速通信接口,USB具有连接灵活、可热插拔、一种接口适合多种设备、速度高(USB1.1协议支持12Mb/s,USB2.0协议支持480Mb/s)、自动配置、无需定位及运行安装程序、可为外设提供电源、低功耗、低成本、高可靠性等优点,因而在数码相机、便携式仪器、便携式存储设备等产品中广泛应用。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    但是,USB接口的开发一般要求设计人员对USB的标准、Firmware(固件)编程及驱动程序的编写等有较深入的理解,因此限制了一般的硬件工程师对USB接口产品的开发使用。我们在便携式无线抄表系统中使用的USB接口芯片CH371,使用简单、性能卓越,价格低廉,只要熟悉单片机编程及简单的VBVC应用程序编程,一般的硬件工程师在极短的周期内就能很容易地开发出相应的USB产品。

1 USB总线的通用接口芯片CH371简介

CH371是一个USB总线的通用接口芯片,如图1所示。在本地端,CH371具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机、DSP等控制器的系统总线上。在计算机系统中,CH371的配套软件提供了简洁易用的操作接口,与本地端的单片机通信就如读写硬盘中的文件。CH371屏蔽了USB通信中的所有协议,在计算机应用层与本地端控制器之间提供端对端的连接。使用CH371,不需要了解任何USB协议或者固件程序,甚至驱动程序,就可以轻松地将并口、串口的产品升级到USB接口。它具有以下特点:

*屏蔽USB协议,在计算机应用层与本地端之间提供端对端的连接。

*两种通信模式:单向数据流模式、请求加应答模式,支持伪中断。

*自动完成USB配置过程,完全不需要本地端控制器作任何处理。

*标准的USB V1.1接口,即插即用,D+引脚内置上拉电阻。

*内置4个端点,支持USB的控制传输、批量传输、中断传输。

*通用Windows驱动程序,提供设备级接口和应用层接口。

图2

*通用的本地8位数据总线,4线控制,即读选通、写选通、写选输入、中断输出。

*占用16个地址,可选直接地址方式或者复用地址方式。

*内置输入输出缓冲区,以中断方式通知本地端控制器传输数据。javascript:window.open(this.src);" style="cursor:pointer;"/>

*内置硬件实现的I2C主接口,应用层可以直接读写外挂的I2C从设备。

*在主控方式下可以提供16根输入信号线或者12根独立控制的输出信号线。

*内置上电复位,提供高电平有效复位输出和低电平有效复位输出。

*内置可选的看门狗电路Watch-Dog,为本地端控制器提供监控。

2 基于CH371 USB接口的硬件设计

图2给出的是CH371与MCU的硬件接口简图。对MCU AT89C52的硬件连接比较简单,主要是在该系统的设计中,如晶振的选择连接以及复位电路等,没有什么特殊的要求,而CH371的复位完全可以采用单片机复位电路产生的复位信号。带I2C接口的串行EEPROM 24C01的作用是存储产品的VID、PID、设备序列号等信息,只要地址不相同,就可以挂接多片带I2C接口的外围芯片,用户可以利用提供的动态连接库的函数,非常方便地完成对串地EEPROM的读出和写入。系统设计中,也可以没有EEPROM,CH371将使用默认的VID、PID、产品描述符和电源描述符,并且没有设备的序列号。

需要注意的是:最好在USB连接器的1和4之间跨接1个100μF的电解电容和1个0.1μF的独石或瓷片电容;12MHz晶振的外壳最好接地;阻抗匹配电阻为80Ω~150Ω。

3 信息传输软件实现流程

下位机数据上传子程序流程简图如图3所示。

下位机中断服务程序流程如图4所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    对于计算机应用层的程序,在计算机上装载WINCHIPHEAD提供的CH371的通用驱动程序后,不必再考虑USB通信协议、固件程序、驱动程序、自动配置过程和底层数据传输过程。只需要根据提供的动态连接库的接口函数,用VBVC编制自己的应用程序即可。

结语

从目前实际应用来看,系统的设计是成功的。尤其是基于CH371的USB接口,具有硬件设计简单、软件编程容易、成本低、传输速率快、可靠性高等特点。相信基于CH371的USB接口新产品将会越来越多。



Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:28,625.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号