基于CH371的实用USB接口设计

[复制链接]
查看1905 | 回复0 | 2011-9-7 23:06:45 | 显示全部楼层 |阅读模式
<





摘要:给出一种基于CH371实用USB接口的硬件设计与软件实现。该USB接口具有硬件接口简单、软件编制容易、勿需了解任何USB协议或固件程序甚至驱动程序等特点,是一种非常适用于工程应用的USB接口。
关键词:CH371 USB 接口 AT89C52


引 言

  通用串行总线USB(Universal Serial Bus)是由Intel、Compaq、Digital、IBM、Microsoft、NEC、Northern Telecom七家世界著名的计算机和通信公司共同推出的新一代总线接口标准。作为一种PC机与外设之间的高速通信接口,USB具有连接灵活、可热插拔、一种接口适合多种设备、速度高(USB1.1协议支持12Mb/s,USB2.0协议支持480Mb/s)、自动配置、无需定位及运行安装程序、可为外设提供电源、低功耗、低成本、高可靠性等优点,因而在数码相机、便携式仪器、便携式存储设备等产品中广泛应用。

  但是,USB接口的开发一般要求设计人员对USB的标准、Firmware(固件)编程及驱动程序的编写等有较深入的理解,因此限制了一般的硬件工程师对USB接口产品的开发使用。我们在便携式无线抄表系统中使用的USB接口芯片CH371,使用简单、性能卓越,价格低廉,只要熟悉单片机编程及简单的VB或VC应用程序编程,一般的硬件工程师在极短的周期内就能很容易地开发出相应的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驱动程序,提供设备级接口和应用层接口。
◇通用的本地8位数据总线,4线控制,即读选通、写选通、片选输入、中断输出。
◇占用16个地址,可选直接地址方式或者复用地址方式。
◇内置输入输出缓冲区,以中断方式通知本地端控制器传输数据。
◇内置硬件实现的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
热帖推荐
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则