an2131qc芯片usb总线通信的开发

上传人:第*** 文档编号:31311843 上传时间:2018-02-06 格式:DOC 页数:5 大小:147.50KB
返回 下载 相关 举报
an2131qc芯片usb总线通信的开发_第1页
第1页 / 共5页
an2131qc芯片usb总线通信的开发_第2页
第2页 / 共5页
an2131qc芯片usb总线通信的开发_第3页
第3页 / 共5页
an2131qc芯片usb总线通信的开发_第4页
第4页 / 共5页
an2131qc芯片usb总线通信的开发_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《an2131qc芯片usb总线通信的开发》由会员分享,可在线阅读,更多相关《an2131qc芯片usb总线通信的开发(5页珍藏版)》请在金锄头文库上搜索。

1、AN2131QC 芯片 USB 总线通信的开发摘要:以 EZ-USB AN2131QC 为基础,描述了 USB 总线的网络结构和数据传送方式,介绍了 AN2131QC 的硬件开发和块传输的软件设计,为以后的 USB 总线控制设备打下基础。关键词:USB 总线;USB 外设;端点;管道;令牌;固件程序DevelopmentofUSBPeripheralDesign with AN2131QCYAN Junhu(The 39th Institute,Electronic Technology Corporation of China,Xian,710065,China)Abstract:This

2、article describes USBnetwork and data transformation based on EZ-USBchip AN2131QC,introduces hardwaredesign and software design for bulk transmission,and lays the foundation ofdesigns for USBperipheralcontroldeviceKeywords:USB;USBperipheral;endpoint;pipline;token;firmware目前 USB 总线的芯片种类很多,主要有两种:一种是 C

3、PU 集成 USB 控制器,例如 EZ-USB AN2131,C8051F320 等;另一种是专用控制器,例如ISP1581,PDIUSB12,USB9602 等。两者的选择主要是取决于 USB 外围设备的功能。本文主要以 Cypress 公司的 AN2131QCL 来说明 USB 控制设备的开发。1USB 总线的网络配置在 USB 总线网络中,只能有一个主机,一个主机通过 USBHUB 最多可以扩展127 个 USB 外围设备。如果不通过 HUB,那么 USB 总线的传输距离最好不超过 5 m。图 1 是 USB 总线网络图。从数据的传输流程可以知道,两个计算机无法直接通过 USB 总线进行

4、通信。2AN2131QC 的主要特点AN2131QC 是基于 USB11 的外设通信控制芯片,主要特点:(1)四时钟周期的 8051 内核。(2)2 个快速存储器到存储器的数据传送指针。(3)扩展的中断,包含有多个 USFB 数据传输中断。(4)8 k 内部 RAM,用于存放程序和数据,支持外部存储器。(5)灵活的固件程序升级。(6)32 个输入输出管道,其中同步传输支持 1 024 B 长度数据传输。(7)多种固件程序引导方式,方便的固件程序升级办法。3AN2131QC 的数据传送方式USB 总线的数据传送是通过管道(PipLine)来完成的,主机发送 IN 令牌和 OUT 令牌,完成信息输

5、入或输出。不同于 CAN 总线的固定地址分配,所有USB 外围设备接入到总线时,地址由主机随机分配。基于 AN2131QC 的设备接入主机后,信息交换是通过 4 种方式实现的:(1)控制传输方式主要作用是建立主机和 USB 外设之间的联系管道和 USB 外设的状态反映,不能用于传输信息数据。AN2131QC 的端点 0 用于控制传输。(2)块传输方式主要用于传输长度不大于 64 个字节而且需要周期性传输的数据块,具有错误重发功能,可以动态地利用可获得的 USB 总路线带宽。(3)中断传输方式传输主式同块传输基本相同,但其主要用于发送或接收少量数据,而且并不经常进行传送的情况。AN2131QC

6、的端点 17 可以进行块传输和中断传输。(4)同步传输方式可以一次传输长度不超过 1 024 B 的数据块,主要用于传输大批量的实时数据,例如音频数据,不支持错误重发。4AN2131QC 的程序引导AN2131QC 内部没有 ROM,因此程序只能在上电复 位时从外部导入,主要为以下几个途径:(1)通过驱动程序,CYPRESS 公司提供了工具将编译的固件 HEX 文件嵌入到驱动程序内,USB 外围设备接入到总线后,主机自动将固件程序写入到 EZ-USB 内 RAM,完成枚举和重枚举。(2)通过外部 I2CE2PROM。将固件 HEX 文件通过“HEX2BIX-I-B2(TARGET).IIC(S

7、OURCE).HEX”命令转换成 IIC 文件,用编程器或者“控制面板程序”写入到I2C 器件。I 2 C 器件选用 24LC64A 或者 24AA64,将其 A0 管脚上拉到高电平,A1,A2 接地。(3)采用外部 FLASHIROM 和 RAM。固件程序如果大于 4 k,那么就要考虑用这种方式,注意 EA 上拉到高电平。5AN2131QC 的电路配置主机向外围 USB 设备提供的最大电流是 500 mA,因此当 USB 外围设备电流消耗超过 500 mA 时,需外接电源。AN2131QC 的工作电压是 33 V,可以通过LDO 芯片将 5 V 转换成 33 V。AN2131QC 芯片的电路

8、原理如图 2 所示,其中有几点要说明:(1)芯片的 5,6,13,14,72 脚通过一个 1 k 电阻接地,主要用于上电测试。(2)无论 I2C 总线是否外接有器件,SCL 和 SDA 管脚都应通过 22 k 的电阻上拉。(3)不能让 WAKEUP 管脚悬空。(4)将 USB和 USB通过 2 个 24 电阻接到 D和 D,可以抑制虚噪声信号和限制环流。 6AN2131QC 的固件程序开发从 CYPRESS 公司网站,可以下载到“控制面板程序”和驱动程序,也可以得到开发例程。通过开发例程,我们可以总结出开发自己固件程序的框架,从而可以轻松完成 USB 外围设备的开发。在建立固件程序框架后,根据

9、地址分配,在 KEILC51 编译器内设置编译连接地址,如果选用内部 RAM,CODE 地址设置为 0x100,XDATA 地址设置为0x1200。(1)在 DSCRA51 文件中设置外围设备配置信息和通信管道在此文件内包含有 USB 外设的定义信息和通信管道,其中需要自己修改的东西是设备描述和通信管道。StringDscr1 和 StringDscr2 用于描述 USB 外设的种类和功能。EpInDscr 用于定义 AN2131QC 的输出端点,包括端点号(作为输入的端点号字节的最高位为“1”)、传输方式、数据包最大长度等。EpOutDscr 用于定义 AN2131QC 的输入端点,格式与

10、EpInDscr 相同,但端点号字节的最高位为“0”。(2)通信管道的初始化在 DSCRA51 文件内定义了端点号后,需要在初始化定义里使能相应的通信端点,下面的例子为输入端点 2 和输出端点 2 的初始化例程:其中需要注意的是 USBPAIR 寄存器的初始化值,他用于设定相应端点的双输入输出缓冲区。在一些控制设备中需要实时获取 USB 外设的状态,但在使用双缓冲功能后,主机需要发送 3 个 IN 令牌,才能从外设取得最新的状态数据,因此在实时性要求比较高的情况下,应避免使用输入输出双缓冲功能。(3)数据收发USB 外设向主机发送信息和获取信息都是以一个数据包为单位,数据包的长度可以随机改变,但不能超过前面端点定义的最大数据包长度。以输入端点2 和输出端点 3 为例说明数据的收发过程。向主机发送数据:输入端点 2if(IN2CS0x02)!0x02)检查输出缓冲是否为空7结语在有些设备中,可能用 AN2131QC 作为 USB 通信,用其他功能强大的微处理器作数据处理,这样的配置有一个瓶颈就是 AN2131QC 与微处理器的输入输出数据交换问题,可以用双口 RAM 来解决,但这将使系统复杂,所以最好使用带有标准并行总线接口的 USB 控制器。在 USB 设备的开发过程中,驱动程序的开发也是同等重要。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号