|
|||||||||||
AN2131QC |
AN2131QC 的PDF資料下載,1558220.8K |
其他型號 |
| AN2131QC的供應(yīng)商: |
聯(lián)系人:張先生/雷小姐 電話:15814679726/0755-83795896 |
聯(lián)系人:歐陽芳/張先生 電話:0755-89345486/0755-83237676 |
聯(lián)系人:曹歡 電話:0755-83002566 |
聯(lián)系人:詹小姐 電話:0755-83797351 |
|
| >>更多供應(yīng)商 | |||||
AN2131QC芯片USB總線通信的開發(fā)
(中國電子科技集團(tuán)公司第39研究所 陜西 西安710065)
1 USB總線的網(wǎng)絡(luò)配置
在USB總線網(wǎng)絡(luò)中,只能有一個主機(jī),一個主機(jī)通過USBHUB最多可以擴(kuò)展127個USB外圍設(shè)備。如果不通過HUB,那么USB總線的傳輸距離最好不超過5 m。圖1是USB總線網(wǎng)絡(luò)圖。
從數(shù)據(jù)的傳輸流程可以知道,兩個計算機(jī)無法直接通過USB總線進(jìn)行通信。
2 AN2131QC的主要特點
AN2131QC是基于USB1.1的外設(shè)通信控制芯片,主要特點:
(1)四時鐘周期的8051內(nèi)核。
(2)2個快速存儲器到存儲器的數(shù)據(jù)傳送指針。
(3)擴(kuò)展的中斷,包含有多個USFB數(shù)據(jù)傳輸中斷。
(4)8 k內(nèi)部RAM,用于存放程序和數(shù)據(jù),支持外部存儲器。
(5)靈活的固件程序升級。
(6)32個輸入輸出管道,其中同步傳輸支持1 024 B長度數(shù)據(jù)傳輸。
(7)多種固件程序引導(dǎo)方式,方便的固件程序升級辦法。
3 AN2131QC的數(shù)據(jù)傳送方式
USB總線的數(shù)據(jù)傳送是通過管道(PipLine)來完成的,主機(jī)發(fā)送IN令牌和OUT令牌,完成信息輸入或輸出。不同于CAN總線的固定地址分配,所有USB外圍設(shè)備接入到總線時,地址由主機(jī)隨機(jī)分配。
基于AN2131QC的設(shè)備接入主機(jī)后,信息交換是通過4種方式實現(xiàn)的:
(1)控制傳輸方式
主要作用是建立主機(jī)和USB外設(shè)之間的聯(lián)系管道和USB外設(shè)的狀態(tài)反映,不能用于傳輸信息數(shù)據(jù)。AN2131QC的端點0用于控制傳輸。
(2)塊傳輸方式
主要用于傳輸長度不大于64個字節(jié)而且需要周期性傳輸?shù)臄?shù)據(jù)塊,具有錯誤重發(fā)功能,可以動態(tài)地利用可獲得的USB總路線帶寬。
(3)中斷傳輸方式
傳輸主式同塊傳輸基本相同,但其主要用于發(fā)送或接收少量數(shù)據(jù),而且并不經(jīng)常進(jìn)行傳送的情況。AN2131QC的端點1~7可以進(jìn)行塊傳輸和中斷傳輸。
(4)同步傳輸方式
可以一次傳輸長度不超過1 024 B的數(shù)據(jù)塊,主要用于傳輸大批量的實時數(shù)據(jù),例如音頻數(shù)據(jù),不支持錯誤重發(fā)。
4 AN2131QC的程序引導(dǎo)
AN2131QC內(nèi)部沒有ROM,因此程序只能在上電復(fù) 位時從外部導(dǎo)入,主要為以下幾個途徑:
(1)通過驅(qū)動程序,CYPRESS公司提供了工具將編譯的固件HEX文件嵌入到驅(qū)動程序內(nèi),USB外圍設(shè)備接入到總線后,主機(jī)自動將固件程序?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接地。
(3)采用外部FLASHIROM和RAM。固件程序如果大于4 k,那么就要考慮用這種方式,注意EA上拉到高電平。
5 AN2131QC的電路配置
主機(jī)向外圍USB設(shè)備提供的最大電流是500 mA,因此當(dāng)USB外圍設(shè)備電流消耗超過500 mA時,需外接電源。AN2131QC的工作電壓是3.3 V,可以通過LDO芯片將5 V轉(zhuǎn)換成3.3 V。
AN2131QC芯片的電路原理如圖2所示,其中有幾點要說明:
(1)芯片的5,6,13,14,72腳通過一個1 kΩ電阻接地,主要用于上電測試。
(2)無論I2C總線是否外接有器件,SCL和SDA管腳都應(yīng)通過2.2 kΩ的電阻上拉。
(3)不能讓W(xué)AKEUP管腳懸空。
(4)將USB+和USB-通過2個24Ω電阻接到D+和D-,可以抑制虛噪聲信號和限制環(huán)流。
6 AN2131QC的固件程序開發(fā)
從CYPRESS公司網(wǎng)站,可以下載到“控制面板程序”和驅(qū)動程序,也可以得到開發(fā)例程。通過開發(fā)例程,我們可以總結(jié)出開發(fā)自己固件程序的框架,從而可以輕松完成USB外圍設(shè)備的開發(fā)。
在建立固件程序框架后,根據(jù)地址分配,在KEILC51 編譯器內(nèi)設(shè)置編譯連接地址,如果選用內(nèi)部RAM,CODE地址設(shè)置為0x100,XDATA地址設(shè)置為0x1200。
(1)在DSCR.A51文件中設(shè)置外圍設(shè)備配置信息和通信管道
在此文件內(nèi)包含有USB外設(shè)的定義信息和通信管道,其中需要自己修改的東西是設(shè)備描述和通信管道。
StringDscr1和StringDscr2用于描述USB外設(shè)的種類和功能。
EpInDscr用于定義AN2131QC的輸出端點,包括端點號(作為輸入的端點號字節(jié)的最高位為“1”)、傳輸方式、數(shù)據(jù)包最大長度等。
EpOutDscr用于定義AN2131QC的輸入端點,格式與EpInDscr相同,但端點號字節(jié)的最高位為“0”。
(2)通信管道的初始化
在DSCR.A51文件內(nèi)定義了端點號后,需要在初始化定義里使能相應(yīng)的通信端點,下面的例子為輸入端點2和輸出端點2的初始化例程:
其中需要注意的是USBPAIR寄存器的初始化值,他用于設(shè)定相應(yīng)端點的雙輸入輸出緩沖區(qū)。在一些控制設(shè)備中需要實時獲取USB外設(shè)的狀態(tài),但在使用雙緩沖功能后,主機(jī)需要發(fā)送3個IN令牌,才能從外設(shè)取得最新的狀態(tài)數(shù)據(jù),因此在實時性要求比較高的情況下,應(yīng)避免使用輸入輸出雙緩沖功能。
(3)數(shù)據(jù)收發(fā)
USB外設(shè)向主機(jī)發(fā)送信息和獲取信息都是以一個數(shù)據(jù)包為單位,數(shù)據(jù)包的長度可以隨機(jī)改變,但不能超過前面端點定義的最大數(shù)據(jù)包長度。以輸入端點2和輸出端點3為例說明數(shù)據(jù)的收發(fā)過程。
向主機(jī)發(fā)送數(shù)據(jù):輸入端點2
if((IN2CS&0x02)!=0x02))
//檢查輸出緩沖是否為空
7 結(jié)語
在有些設(shè)備中,可能用AN2131QC作為USB通信,用其他功能強(qiáng)大的微處理器作數(shù)據(jù)處理,這樣的配置有一個瓶頸就是AN2131QC與微處理器的輸入輸出數(shù)據(jù)交換問題,可以用雙口RAM來解決,但這將使系統(tǒng)復(fù)雜,所以最好使用帶有標(biāo)準(zhǔn)并行總線接口的USB控制器。在USB設(shè)備的開發(fā)過程中,驅(qū)動程序的開發(fā)也是同等重要。
|
|||
|
|
|
© 2026 維庫電子市場網(wǎng)(www.hbjingang.com) 版權(quán)所有 經(jīng)營許可證編號:浙B2-20050339 版權(quán)聲明
二十一年專注打造優(yōu)質(zhì)電子元器件采購網(wǎng)、IC交易平臺。 |