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