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