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ò)中,只能有一個主機,一個主機通過USBHUB最多可以擴展127個USB外圍設(shè)備。如果不通過HUB,那么USB總線的傳輸距離最好不超過5 m。圖1是USB總線網(wǎng)絡(luò)圖。
從數(shù)據(jù)的傳輸流程可以知道,兩個計算機無法直接通過USB總線進行通信。
2 AN2131QC的主要特點
AN2131QC是基于USB1.1的外設(shè)通信控制芯片,主要特點:
(1)四時鐘周期的8051內(nèi)核。
?。?)2個快速存儲器到存儲器的數(shù)據(jù)傳送指針。
?。?)擴展的中斷,包含有多個USFB數(shù)據(jù)傳輸中斷。
?。?)8 k內(nèi)部RAM,用于存放程序和數(shù)據(jù),支持外部存儲器。
?。?)靈活的固件程序升級。
(6)32個輸入輸出管道,其中同步傳輸支持1 024 B長度數(shù)據(jù)傳輸。
?。?)多種固件程序引導方式,方便的固件程序升級辦法。
3 AN2131QC的數(shù)據(jù)傳送方式
USB總線的數(shù)據(jù)傳送是通過管道(PipLine)來完成的,主機發(fā)送IN令牌和OUT令牌,完成信息輸入或輸出。不同于CAN總線的固定地址分配,所有USB外圍設(shè)備接入到總線時,地址由主機隨機分配。
基于AN2131QC的設(shè)備接入主機后,信息交換是通過4種方式實現(xiàn)的:
?。?)控制傳輸方式
主要作用是建立主機和USB外設(shè)之間的聯(lián)系管道和USB外設(shè)的狀態(tài)反映,不能用于傳輸信息數(shù)據(jù)。AN2131QC的端點0用于控制傳輸。
?。?)塊傳輸方式
主要用于傳輸長度不大于64個字節(jié)而且需要周期性傳輸?shù)臄?shù)據(jù)塊,具有錯誤重發(fā)功能,可以動態(tài)地利用可獲得的USB總路線帶寬。
?。?)中斷傳輸方式
傳輸主式同塊傳輸基本相同,但其主要用于發(fā)送或接收少量數(shù)據(jù),而且并不經(jīng)常進行傳送的情況。AN2131QC的端點1~7可以進行塊傳輸和中斷傳輸。
?。?)同步傳輸方式
可以一次傳輸長度不超過1 024 B的數(shù)據(jù)塊,主要用于傳輸大批量的實時數(shù)據(jù),例如音頻數(shù)據(jù),不支持錯誤重發(fā)。
4 AN2131QC的程序引導
AN2131QC內(nèi)部沒有ROM,因此程序只能在上電復 位時從外部導入,主要為以下幾個途徑:
?。?)通過驅(qū)動程序,CYPRESS公司提供了工具將編譯的固件HEX文件嵌入到驅(qū)動程序內(nèi),USB外圍設(shè)備接入到總線后,主機自動將固件程序?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的電路配置
主機向外圍USB設(shè)備提供的最大電流是500 mA,因此當USB外圍設(shè)備電流消耗超過500 mA時,需外接電源。AN2131QC的工作電壓是3.3 V,可以通過LDO芯片將5 V轉(zhuǎn)換成3.3 V。
AN2131QC芯片的電路原理如圖2所示,其中有幾點要說明:
?。?)芯片的5,6,13,14,72腳通過一個1 kΩ電阻接地,主要用于上電測試。
?。?)無論I2C總線是否外接有器件,SCL和SDA管腳都應通過2.2 kΩ的電阻上拉。
?。?)不能讓WAKEUP管腳懸空。
?。?)將USB+和USB-通過2個24Ω電阻接到D+和D-,可以抑制虛噪聲信號和限制環(huán)流。
評論