分享
 
 
 

AN2131QC芯片USB总线通信的开发

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

闫军虎

(中国电子科技集团公司第39研究所陕西西安710065)

1USB总线的网络配置

在USB总线网络中,只能有一个主机,一个主机通过USBHUB最多可以扩展127个USB外围设备。如果不通过HUB,那么USB总线的传输距离最好不超过5 m。图1是USB总线网络图。

从数据的传输流程可以知道,两个计算机无法直接通过USB总线进行通信。

2AN2131QC的主要特点

AN2131QC是基于USB1.1的外设通信控制芯片,主要特点:

(1)四时钟周期的8051内核。

(2)2个快速存储器到存储器的数据传送指针。

(3)扩展的中断,包含有多个USFB数据传输中断。

(4)8 k内部RAM,用于存放程序和数据,支持外部存储器。

(5)灵活的固件程序升级。

(6)32个输入输出管道,其中同步传输支持1 024 B长度数据传输。

(7)多种固件程序引导方式,方便的固件程序升级办法。

3AN2131QC的数据传送方式

USB总线的数据传送是通过管道(PipLine)来完成的,主机发送IN令牌和OUT令牌,完成信息输入或输出。不同于CAN总线的固定地址分配,所有USB外围设备接入到总线时,地址由主机随机分配。

基于AN2131QC的设备接入主机后,信息交换是通过4种方式实现的:

(1)控制传输方式

主要作用是建立主机和USB外设之间的联系管道和USB外设的状态反映,不能用于传输信息数据。AN2131QC的端点0用于控制传输。

(2)块传输方式

主要用于传输长度不大于64个字节而且需要周期性传输的数据块,具有错误重发功能,可以动态地利用可获得的USB总路线带宽。

(3)中断传输方式

传输主式同块传输基本相同,但其主要用于发送或接收少量数据,而且并不经常进行传送的情况。AN2131QC的端点1~7可以进行块传输和中断传输。

(4)同步传输方式

可以一次传输长度不超过1 024 B的数据块,主要用于传输大批量的实时数据,例如音频数据,不支持错误重发。

4AN2131QC的程序引导

AN2131QC内部没有ROM,因此程序只能在上电复 位时从外部导入,主要为以下几个途径:

(1)通过驱动程序,CYPRESS公司提供了工具将编译的固件HEX文件嵌入到驱动程序内,USB外围设备接入到总线后,主机自动将固件程序写入到EZ-USB内RAM,完成枚举和重枚举。

(2)通过外部I2CE2PROM。将固件HEX文件通过“HEX2BIX-I-B2(TARGET).IIC(SOURCE).HEX”命令转换成IIC文件,用编程器或者“控制面板程序”写入到I2C器件。I2 C器件选用24LC64A或者24AA64,将其 A0管脚上拉到高电平,A1,A2接地。

(3)采用外部FLASHIROM和RAM。固件程序如果大于4 k,那么就要考虑用这种方式,注意EA上拉到高电平。

5AN2131QC的电路配置

主机向外围USB设备提供的最大电流是500 mA,因此当USB外围设备电流消耗超过500 mA时,需外接电源。AN2131QC的工作电压是3.3 V,可以通过LDO芯片将5 V转换成3.3 V。

AN2131QC芯片的电路原理如图2所示,其中有几点要说明:

(1)芯片的5,6,13,14,72脚通过一个1 kΩ电阻接地,主要用于上电测试。

(2)无论I2C总线是否外接有器件,SCL和SDA管脚都应通过2.2 kΩ的电阻上拉。

(3)不能让WAKEUP管脚悬空。

(4)将USB+和USB-通过2个24Ω电阻接到D+和D-,可以抑制虚噪声信号和限制环流。

6AN2131QC的固件程序开发

从CYPRESS公司网站,可以下载到“控制面板程序”和驱动程序,也可以得到开发例程。通过开发例程,我们可以总结出开发自己固件程序的框架,从而可以轻松完成USB外围设备的开发。

在建立固件程序框架后,根据地址分配,在KEILC51 编译器内设置编译连接地址,如果选用内部RAM,CODE地址设置为0x100,XDATA地址设置为0x1200。

(1)在DSCR.A51文件中设置外围设备配置信息和通信管道

在此文件内包含有USB外设的定义信息和通信管道,其中需要自己修改的东西是设备描述和通信管道。

StringDscr1和StringDscr2用于描述USB外设的种类和功能。

EpInDscr用于定义AN2131QC的输出端点,包括端点号(作为输入的端点号字节的最高位为“1”)、传输方式、数据包最大长度等。

EpOutDscr用于定义AN2131QC的输入端点,格式与EpInDscr相同,但端点号字节的最高位为“0”。

(2)通信管道的初始化

在DSCR.A51文件内定义了端点号后,需要在初始化定义里使能相应的通信端点,下面的例子为输入端点2和输出端点2的初始化例程:

其中需要注意的是USBPAIR寄存器的初始化值,他用于设定相应端点的双输入输出缓冲区。在一些控制设备中需要实时获取USB外设的状态,但在使用双缓冲功能后,主机需要发送3个IN令牌,才能从外设取得最新的状态数据,因此在实时性要求比较高的情况下,应避免使用输入输出双缓冲功能。

(3)数据收发

USB外设向主机发送信息和获取信息都是以一个数据包为单位,数据包的长度可以随机改变,但不能超过前面端点定义的最大数据包长度。以输入端点2和输出端点3为例说明数据的收发过程。

向主机发送数据:输入端点2

if((IN2CS&0x02)!=0x02))

//检查输出缓冲是否为空

7结语

在有些设备中,可能用AN2131QC作为USB通信,用其他功能强大的微处理器作数据处理,这样的配置有一个瓶颈就是AN2131QC与微处理器的输入输出数据交换问题,可以用双口RAM来解决,但这将使系统复杂,所以最好使用带有标准并行总线接口的USB控制器。在USB设备的开发过程中,驱动程序的开发也是同等重要。

本文摘自《电源技术应用》

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有