AN2131QC芯片USB總線通信的開發(fā)
目前USB總線的芯片種類很多,主要有兩種:一種是CPU集成USB控制器,例如EZ-USB AN2131,C8051F320 等;另一種是專用控制器,例如ISP1581,PDIUSB12,USB9602等。兩者的選擇主要是取決于USB外圍設(shè)備的功能。本文主要以Cypress公司的AN2131QCL來說明USB控制設(shè)備的開發(fā)。
1 USB總線的網(wǎng)絡(luò)配置
在USB總線網(wǎng)絡(luò)中,只能有一個(gè)主機(jī),一個(gè)主機(jī)通過USBHUB最多可以擴(kuò)展127個(gè)USB外圍設(shè)備。如果不通過HUB,那么USB總線的傳輸距離最好不超過5 m。圖1是USB總線網(wǎng)絡(luò)圖。
從數(shù)據(jù)的傳輸流程可以知道,兩個(gè)計(jì)算機(jī)無法直接通過USB總線進(jìn)行通信。
2 AN2131QC的主要特點(diǎn)
AN2131QC是基于USB1.1的外設(shè)通信控制芯片,主要特點(diǎn):
?。?)四時(shí)鐘周期的8051內(nèi)核。
?。?)2個(gè)快速存儲(chǔ)器到存儲(chǔ)器的數(shù)據(jù)傳送指針。
?。?)擴(kuò)展的中斷,包含有多個(gè)USFB數(shù)據(jù)傳輸中斷?! ?BR> ?。?)8 k內(nèi)部RAM,用于存放程序和數(shù)據(jù),支持外部存儲(chǔ)器。
(5)靈活的固件程序升級(jí)。
?。?)32個(gè)輸入輸出管道,其中同步傳輸支持1 024 B長度數(shù)據(jù)傳輸。
?。?)多種固件程序引導(dǎo)方式,方便的固件程序升級(jí)辦法。
3 AN2131QC的數(shù)據(jù)傳送方式
USB總線的數(shù)據(jù)傳送是通過管道(PipLine)來完成的,主機(jī)發(fā)送IN令牌和OUT令牌,完成信息輸入或輸出。不同于CAN總線的固定地址分配,所有USB外圍設(shè)備接入到總線時(shí),地址由主機(jī)隨機(jī)分配。
基于AN2131QC的設(shè)備接入主機(jī)后,信息交換是通過4種方式實(shí)現(xiàn)的:
?。?)控制傳輸方式
主要作用是建立主機(jī)和USB外設(shè)之間的聯(lián)系管道和USB外設(shè)的狀態(tài)反映,不能用于傳輸信息數(shù)據(jù)。AN2131QC的端點(diǎn)0用于控制傳輸。
?。?)塊傳輸方式
主要用于傳輸長度不大于64個(gè)字節(jié)而且需要周期性傳輸?shù)臄?shù)據(jù)塊,具有錯(cuò)誤重發(fā)功能,可以動(dòng)態(tài)地利用可獲得的USB總路線帶寬。
?。?)中斷傳輸方式
傳輸主式同塊傳輸基本相同,但其主要用于發(fā)送或接收少量數(shù)據(jù),而且并不經(jīng)常進(jìn)行傳送的情況。AN2131QC的端點(diǎn)1~7可以進(jìn)行塊傳輸和中斷傳輸。
(4)同步傳輸方式
可以一次傳輸長度不超過1 024 B的數(shù)據(jù)塊,主要用于傳輸大批量的實(shí)時(shí)數(shù)據(jù),例如音頻數(shù)據(jù),不支持錯(cuò)誤重發(fā)?! ?/P>
4 AN2131QC的程序引導(dǎo)
AN2131QC內(nèi)部沒有ROM,因此程序只能在上電復(fù) 位時(shí)從外部導(dǎo)入,主要為以下幾個(gè)途徑:
?。?)通過驅(qū)動(dòng)程序,CYPRESS公司提供了工具將編譯的固件HEX文件嵌入到驅(qū)動(dòng)程序內(nèi),USB外圍設(shè)備接入到總線后,主機(jī)自動(dòng)將固件程序?qū)懭氲紼Z-USB內(nèi)RAM,完成枚舉和重枚舉。
(2)通過外部I2CE2PROM。將固件HEX文件通過“HEX2BIX-I-B2(TARGET).IIC(SOURCE).HEX”命令轉(zhuǎn)換成IIC文件,用編程器或者“控制面板程序”寫入到I2C器件。I2 C器件選用24LC64A或者24AA64,將其 A0管腳上拉到高電平,A1,A2接地。
?。?)采用外部FLASHIROM和RAM。固件程序如果大于4 k,那么就要考慮用這種方式,注意EA上拉到高電平。
5 AN2131QC的電路配置
主機(jī)向外圍USB設(shè)備提供的最大電流是500 mA,因此當(dāng)USB外圍設(shè)備電流消耗超過500 mA時(shí),需外接電源。AN2131QC的工作電壓是3.3 V,可以通過LDO芯片將5 V轉(zhuǎn)換成3.3 V。
AN2131QC芯片的電路原理如圖2所示,其中有幾點(diǎn)要說明:
?。?)芯片的5,6,13,14,72腳通過一個(gè)1 kΩ電阻接地,主要用于上電測(cè)試。
?。?)無論I2C總線是否外接有器件,SCL和SDA管腳都應(yīng)通過2.2 kΩ的電阻上拉。
?。?)不能讓W(xué)AKEUP管腳懸空。
(4)將USB+和USB-通過2個(gè)24Ω電阻接到D+和D-,可以抑制虛噪聲信號(hào)和限制環(huán)流。
評(píng)論