采用CY7C68013A实现USB控制系统
引言
通用串行总线(Universal Serial Bus,USB)作为计算机上的新型接口技术,越来越受到人们的青睐。与以前的RS 232,RS 485,ISA,PCI和并行接口等接口相比,USB避免了接口体积大、接口规范不统一、不支持热插拔等缺陷,具有使计算机与外部设备连接十分方便的优点。目前,很多设备都开始使用USB接口来实现,如鼠标、键盘、打印机等。在实际设计工作当中,也越来越多地采用了USB技术,如数据采集等。USB的设计和应用已经成为现代电子设计中一个非常重要的部分。
1 USB 2.0特点
USB是一种高效、快速、价格低廉、体积小的新型串行通信接口,其最大的特点是支持热插拔,可以在不重新启动计算机的情况下直接将USB外部设备连接到计算机并开始通信。
USB具有以下主要特点:
(1)节省系统资源。在计算机中,系统为USB主控制器分配一根中断控制线和一些输入/输出地址,USB再为外部设备分配惟一的地址。
(2)可以提供电源。计算机上的USB接口可以向外部设备提供一定的电力支持,其输出电流最小值为100 mA,最大值为500 mA,输出电压为5 V。
(3)良好的兼容性。USB规范已经有USB 1.O,USB 1.1,USB 2.O,无线USB等多个版本的协议,这些协议都有很好的向下兼容性。
(4)共享式接口。USB采用“菊花链”式的连接方式,同时支持多个设备的连接,一个USB主控制器最多可以连接126个外部设备。
2 CY7C68013A的主要特点
CY7C68013A是Cypress公司的EZ-USB FX2LP系列低功耗版本单片机,具有和8051兼容的CPU和指令系统,同时包括USB接口和完整的USB 2.0协议引擎,并且提供了完善的固件及主机程序开发包。该单片机的CPU采用的是增强型805l内核,比标准的8051的速度快,硬件资源更为丰富,功能更强大。主要具有以下特点:
(1)具有第二个数据指针;
(2)具有第二个USATRT;
(3)I2C总线接口;
(4)8个额外的中断(INT2~INT6,WAKEUP,T2,USARTl);
(5)CPU时钟可以运行在12 MHz,24 MHz,48 MHz。
3 控制系统设计
基于USB的控制系统设计主要包含两个方面的内容,分别为固件程序的开发和上位机(主机)控制界面的设计。CY7C68013A芯片采用的是一种软配置模式,即程序和数据都存放在内部RAM中,并从RAM中开始执行。
3.1 启动模式的选择
EZ-USB在没有固件的情况下列举为一个缺省的USB设备,并且将其固件和描述符等下载到EZ-USB后,开始执行固件程序,此时模拟一个物理上的断开重新连接过程。在列举为一个USB设备时,根据芯片有没有连接E2PROM,以及E2PROM中第一个字节值的不同,其处理方式有很多。主要有:不连接E2PROM的缺省设备列举、CO加载、C2加载等启动方式。在此系统的设计过程中,采用第一种方式,即芯片没有连接任何片外存储器,USB的描述符以及VID,PID和DID等均由芯片内置的逻辑提供,然后根据驱动程序中提供的VID,PID和DID把主机上对应的固件程序下载到片内的RAM中,并执行固件代码。该方式具有硬件连接简单,节省器件等特点。
3.2 硬件系统框图
整个系统的硬件框图如图1所示。可以看出USB控制系统在整个系统中起到桥梁作用,用于连接上位机和外部设备。
![](../img/eep/emb/emb-11381twygx5qvpf4.jpg)
上位机发送控制指令给USB设备,信息处于下行状态,解码后用来控制外围设备执行相应功能。上位机需要从外设获得信息(如数据采集),信息处于上行状态,由USB设备负责控制外设并将数据传送到上位机,由上位机分析、显示。
3.3 固件程序设计
在固件中,主要实现芯片外围设备的控制,以及对USB设备的功能描述等任务,同时负责与上位机通信,响应上位机的标准请求和自定义请求。
描述符主要是让上位机了解USB功能设备的基本配置信息和能力,如端点、接口等。在此主要使用标准描述符来说明USB设备,如设备描述符、配置描述符、接口描述符、端点描述符、设备限定描述符等。在该设备中,这些描述符的层次结构如图2所示。
![](../img/eep/emb/emb-11382zywnmls2rsa.jpg)
系统中使用了2个配置描述符,分别为高速配置和全速配置,每个配置使用1个接口,并对应1个接口描述符,每个接口应用了4个端点,对应4个端点描述符。同时端点配置为块传输模式,2、4端点为OUT,6、8端点为IN,最大数据包长度为512 B,上位机通过O端点来操作、控制USB设备。设备描述符中VID=Ox04B4,PID=0x1304,用于指示设备供应商和产品信息,并用于上电时帮助主机加载合适的驱动程序,进而下载相应的固件程序。固件中对标准请求的响应部分,主要是让上位机能够对描述符进行读取和写操作。自定义请求响应主要实现上位机发送控制命令,来使能USB功能设备、以及执行相应的功能的目的,如DR_SendData,DR_ReadData。
固件设计流程图如图3所示。
![](../img/eep/emb/emb-11383twop11brd2d.jpg)
用户初始化设备
CY7C68013A USB控制 相关文章:
- 基于USB协议的DSP高速上位机接口设计 (10-02)
- 基于USB接口的LED显示系统设计(10-31)
- 基于CY7C68013A和FPGA的ADSP-TS101扩展USB接口设计(08-26)
- FPGA与USB技术在纺织品数字印刷机系统中的应用(08-08)
- 解决通用串行总线(USB)控制器有感叹号(12-14)
- 典型USB控制器芯片性能分析研究(11-08)