基于CH375的USB移動存儲接口設(shè)計
在該設(shè)計中CH375工作于USB-HOST主機并行接口方式,即直接把CH375芯片的TXD引腳接地,使CH375通過被動并行接口電路掛接到8位單片機的系統(tǒng)總線上。CH7375的8位雙向數(shù)據(jù)總線D0~D7直接與單片機的PA數(shù)據(jù)口相連,RD和WR分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳。片選信號CS連接到系統(tǒng)譯碼電路74HCl38的P14引腳,該引腳為低電平時選通CH375。INT連接到單片機的中斷輸入PE7引腳,中斷請求是低電平有效,單片機通過中斷方式獲取中斷請求。地址輸入線AO連接至單片機的PD4引腳,當AO引腳為高電平時選擇命令端口,可以寫入命令;當AO引腳為低電平時選擇數(shù)據(jù)斷口,可以讀寫數(shù)據(jù)。
3 軟件設(shè)計
CH375可以支持各種常用USB全速設(shè)備,對符合Mass-Storage海量存儲設(shè)備的通信協(xié)議的USB設(shè)備,使用內(nèi)置固件可以通過Mass-Storage海量存儲設(shè)備的通信協(xié)議直接通信。對不符合上述要求的USB設(shè)備需要外部單片機通過控制傳輸以及ISSUE_TOKEN命令或ISSUE_TKN_X命令自行處理相關(guān)通信協(xié)議。
3.1 本地端單片機軟件
單片機通過8位并口對CH375芯片進行讀寫,所有操作都由1個命令碼、若干輸入數(shù)據(jù)和若干個輸出數(shù)據(jù)組成。部分命令不需要輸入數(shù)據(jù),部分命令沒有輸出數(shù)據(jù)。命令操作步驟如下:
(1)在A0=1時向命令端口寫入命令代碼;
(2)如果該命令具有輸入數(shù)據(jù),則在A0=O時依次寫入輸入數(shù)據(jù),每次1個字節(jié);
(3)如果該命令具有輸出數(shù)據(jù),則在A0=0時依次讀取輸出數(shù)據(jù),每次1個字節(jié);
(4)命令完成,可以暫停或轉(zhuǎn)入(1)繼續(xù)執(zhí)行下一個命令。
CH375芯片專門用于處理USB通信,在檢測到USB總線的狀態(tài)改變或命令執(zhí)行完成后,CH375以中斷方式通知單片機進行處理。
3.2 UBS接口軟件程序流程
HC375不僅是一個通用的USB-HOST硬件接口芯片,還內(nèi)置了相關(guān)的固定程序,可以方便地實現(xiàn)對USB存儲設(shè)備文件系統(tǒng)的管理。在該應用中采用C語言編程,對蓄電池每次處理數(shù)據(jù)以一個文件的形式進行存儲,程序支持文件打開、新建、刪除和讀寫等功能。設(shè)備與USB存儲設(shè)備之間通信過程主要包括對CH375芯片初始化、狀態(tài)查詢和并行數(shù)據(jù)的采集。通信部分程序流程如圖5所示。
4 結(jié) 語
這里在蓄電池活化設(shè)備USB接口電路中成功地使用了CH375芯片,取得了令人滿意的運行效果。利用該設(shè)計能夠很好地實現(xiàn)檢測設(shè)備數(shù)據(jù)移動轉(zhuǎn)存,為蓄電池活化設(shè)備的使用者提供了極大方便。結(jié)果表明,在實現(xiàn)USB數(shù)據(jù)移動存儲接口電路設(shè)計中采用CH375芯片具有軟硬件接口設(shè)計簡單,性價比高,操作方便等優(yōu)點。
評論