USB接口芯片的原理及應(yīng)用
隨著計算機(jī)技術(shù)的快速發(fā)展,USB移動存儲設(shè)備的使用已經(jīng)非常普遍,因此在一些需要轉(zhuǎn)存數(shù)據(jù)的設(shè)備、儀器上使用USB移動存儲設(shè)備接口的芯片便相繼產(chǎn)生了,CH375就是其中之一,它是一個USB總線的通用接口芯片,支持HOST主機(jī)方式和SLAVE設(shè)備方式。
在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機(jī)/DSP/MCU等控制器的系統(tǒng)總線上。在USB主機(jī)方式下,CH375還提供了串行通信方式,通過串行輸入、串行輸出和中斷輸出與單片機(jī)/DSP/MCU等相連接。CH375的USB主機(jī)方式支持各種常用的USB全速設(shè)備,外部單片機(jī)/DSP/MCU可以通過CH375按照相應(yīng)的USB協(xié)議與USB設(shè)備通信。
CH375芯片內(nèi)部結(jié)構(gòu)
1 內(nèi)部結(jié)構(gòu)
CH375芯片內(nèi)部集成了PLL倍頻器、主從USB接口SIE、數(shù)據(jù)緩沖區(qū)、被動并行接口、異步串行接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等。CH375芯片引腳排列如圖1所示。
圖 1 CH375芯片引腳排列
2 內(nèi)部物理端點
CH375芯片內(nèi)部具有7個物理端點。端點0是默認(rèn)端點,支持上傳和下傳,上傳和下傳緩沖區(qū)各是8B;端點1包括上傳端點和下傳端點,上傳和下傳緩沖區(qū)各是8B,上傳端點的端點號是81H,下傳端點的端點號是01H;端點2包括上傳端點和下傳端點,上傳和下傳緩沖區(qū)各是64B,上傳端點的端點號是82H,下傳端點的端點號是02H。
主機(jī)端點包括輸出端點和輸入端點,輸出和輸入緩沖區(qū)各是64B,主機(jī)端點與端點2合用同一組緩沖區(qū),主機(jī)端點的輸出緩沖區(qū)就是端點2的上傳緩沖區(qū),主機(jī)端點的輸入緩沖區(qū)就是端點2的下傳緩沖區(qū)。
其中,CH375的端點0、端點1、端點2只用于USB設(shè)備方式,在USB主機(jī)方式下只需要用到主機(jī)端點。
軟件接口
對于USB存儲設(shè)備的應(yīng)用,CH375直接提供了數(shù)據(jù)塊的讀寫接口,以512b的物理扇區(qū)為基本讀寫單位,從而將USB存儲設(shè)備簡化為一種外部數(shù)據(jù)存儲器,單片機(jī)可以自由讀寫USB存儲設(shè)備中的數(shù)據(jù),也可以自由定義其數(shù)據(jù)結(jié)構(gòu)。
CH375以C語言子程序庫提供了USB存儲設(shè)備的文件級接口,這些應(yīng)用層接口API包含了常用的文件級操作,可以移植并嵌入到各種常用的單片機(jī)程序中。
CH375的U盤文件級子程序庫具有以下特性:支持常用的FAT12、FAT16 和FAT32 文件系統(tǒng),磁盤容量可達(dá)100GB以上,支持多級子目錄,支持8.3格式的大寫字母文件名,支持文件打開、新建、刪除、讀寫以及搜索等。
CH375的文件級接口API子程序需要大約600b的隨機(jī)存儲器RAM 作為緩沖區(qū)。所有API在調(diào)用后都有操作狀態(tài)返回,但不一定有應(yīng)答數(shù)據(jù)。有關(guān)API參數(shù)的說明請參考CH375數(shù)據(jù)手冊。 CH375在單片機(jī)讀寫U盤中的電路原理圖
圖2給出了MCS-51單片機(jī)讀寫U盤的電路原理圖,如果CH375芯片的TXD引腳懸空或者沒有通過下接電阻接地,那么CH375工作于串口方式。在串口方式下,CH375只需要與單片機(jī)/DSP/MCU連接3個信號線,TXD引腳、RXD引腳以及INT#引腳,其他引腳都可以懸空。除了連接線較少之外,其他外圍電路與并口方式基本相同。由于INT#引腳和TXD 引腳在CH375復(fù)位期間只能提供微弱的高電平輸出電流,在進(jìn)行較遠(yuǎn)距離的連接時,為了避免INT#或者TXD在CH375復(fù)位期間受到干擾而導(dǎo)致單片機(jī)誤操作,可以在INT#引腳或者TXD引腳上加阻值為1~5kΩ的上拉電阻,以維持較穩(wěn)定的高電平。在CH375芯片復(fù)位完成后,INT#引腳和TXD引腳將能夠提供5mA的高電平輸出電流或者5mA的低電平吸入電流。
圖2 MCS-51單片機(jī)讀寫U盤的電路原理圖
單片機(jī)讀寫U盤的接口
由于CH375內(nèi)置了處理Mass-Storage海量存儲設(shè)備的專用通信協(xié)議的固件,所以嵌入式系統(tǒng)的單片機(jī)可以通過CH375將U盤(USB閃存盤、USB外置硬盤)作為可移動的大容量存儲器。數(shù)據(jù)讀寫只需要幾條指令,而不需要詳細(xì)了解USB通信協(xié)議。
如果嵌入式系統(tǒng)需要將USB存儲設(shè)備組織為文件系統(tǒng),那么可以直接調(diào)用CH375文件級子程序庫提供的接口API,由子程序庫處理文件系統(tǒng)。
CH375主機(jī)USB-HOST的電路設(shè)計注意事項
某些USB設(shè)備帶電插入時常出現(xiàn)如下問題:
● CH375復(fù)位或者單片機(jī)復(fù)位(尤其是采用uP 監(jiān)控電路的單片機(jī)系統(tǒng))。
● CH375或者單片機(jī)突然工作不正常,失去控制。
● CH375芯片的工作電流突然增大并且持續(xù)如此,時間長了芯片發(fā)熱燙手。
出現(xiàn)上述問題時可參考如下解決方法:
● 給USB插座單獨供電,這樣,即使USB設(shè)備剛插上時存在電容充電過程,也不會影響單片機(jī)和CH375。變通方法是,將5V主電源分別通過兩個獨立的限流電感后(或者在PCB中電源線分開走),一組提供給CH375和單片機(jī)等,另一組提供給USB插座。
● 在USB插座前串接限流電阻或者電感,并在USB插座電源上并聯(lián)儲能用的電解電容。如果用電感也可以限制電流突變,防止電源電壓突降,但是用電感在USB設(shè)備拔出后,容易在USB插座中產(chǎn)生過沖高壓,所以必須接儲能電容。(注意,在第一版CH375評估板的原理圖中已經(jīng)標(biāo)出USB插座的限流電阻R1為1Ω,建議將其換為阻值5Ω的電阻或者保險電阻)
● 其他臨時的解決方法(不推薦):①在USB設(shè)備與USB插座之間加入USB延長線。②在主電源上并聯(lián)較大的儲能電容,在U盤剛插入時提供足夠的瞬時電能,減少對電源電壓的影響。
● 參考目前計算機(jī)端的解決方法:USB端口的電源供給是通過保險電阻或者限流電感提供的,這些能夠限制瞬時電流。對于計算機(jī)前面板的USB端口,由于本身通過一段較長的連接導(dǎo)線,自然減弱了對主電源的影響,而且計算機(jī)的5V電源功率很大,連續(xù)供電電流都在20A以上,所以不易受影響。
評論