O 引 言
隨著USB技術的快速發(fā)展,USB移動存儲設備的使用越來越廣泛,目前在一些具有數(shù)據(jù)采集分析功能的儀器設備上都提供了USB接口。在眾多USB移動存儲設備接口芯片中,CH375是一種具有極高性價比的國產(chǎn)芯片。這里介紹在蓄電池活化檢測設備中應用該芯片的一些實踐經(jīng)驗,供讀者參考。
1 CH375功能及特點
1.1 芯片概述
CH375是一個USB總線通用接口電路,支持HOST主機方式和SLAVE設備方式。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線及中斷輸出,可以方便地掛接到單片機/DSP/MCU/MPU 等控制器的系統(tǒng)總線上。在USB主機方式下,提供了串行通信方式,通過串行輸入、串行輸出和中斷輸出與單片機/DSP/MCU/MPU等相連。外部單片機/DSP/MCU/MPU可以通過CH375按照相應的USB協(xié)議與USB設備通信,使設計人員設計開發(fā)USB工作簡單化。應用框圖見圖1。
1.2 內部結構
CH375內部集成了PLL倍頻器、主從USB接口SIE、數(shù)據(jù)緩沖區(qū)、被動并行接口、異步串型接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等。
CH375芯片內部具有7個物理端點。端點O是默認端點,支持上傳和下傳,上傳和下傳緩沖區(qū)各是8 B;端點1包括上傳端點和下傳端點,上傳和下傳緩沖區(qū)各是8 B,上傳端點的端點號是81H,下傳端點的端點號是01H;端點2包括上傳端點和下傳端點,上傳和下傳緩沖區(qū)各是64 B,上傳端點的端點號是82H,下傳端點的端點號是02H。主機端點包括輸出端點和輸入端點,輸出和輸入緩沖區(qū)各是64 B,主機端點與端點2合用同一組緩沖區(qū),主機端點的輸出緩沖區(qū)就是端點2的上傳緩沖區(qū),主機端點的輸入緩沖區(qū)就是端點2的下傳緩沖區(qū)。其中,CH375的端點0、端點1、端點2只用于USB設備方式,在USB主機方式下只需要用到主機端點。CH375A內部中斷邏輯圖如圖2所示。
1.3 芯片特性
(1)低速和全速USB-HOST主機接口,支持LISB 2.0,外圍元器件只需要1個晶振和2個電容;(2)低速和全速USB設備接口,支持動態(tài)切換主機與設備方式;
(3)主機端點輸入和輸出緩沖區(qū)各有64 B,支持常用的12 Mb/s全速USB設備和1.5 Mb/s低速設備;
?。?)支持USB設備的控制傳輸、批量傳輸、中斷傳輸;
?。?)自動檢測USB設備的連接和斷開,提供設備連接和斷開的事件通知;
(6)內置控制傳輸?shù)膮f(xié)議處理器,簡化常用的控制傳輸;
?。?)內置固件處理海量存儲設備的專用通信協(xié)議;
?。?)并行接口包含8位數(shù)據(jù)總線,4線控制:讀選通、寫選通、片選輸入和中斷輸出;
?。?)串行接口包括串行輸入、串行輸出和中斷輸出,支持通信波特率的動態(tài)調整;
?。?0)支持5 V電源電壓和3.3 V電源電壓,支持低功耗模式。
2 硬件電路設計
2.1 蓄電池活化設備框圖
蓄電池活化設備是一種集電池數(shù)據(jù)采集、分析及活化處理多項功能于一體的智能設備。在活化過程中,需要分別對每組24節(jié)電池的端電壓實時采樣并存儲以供上層分析軟件進行分析處理。傳統(tǒng)設備與上層軟件一般通過RS 232串行通信口進行數(shù)據(jù)傳輸,在實際應用中必須攜帶計算機到現(xiàn)場,同時要求計算機必須配備串口硬件使用極不方便。
在此,提出一種基于CH375A USB接口芯片的智能蓄電池活化設備,使蓄電池活化設備具有通用USB接口,為智能設備和計算機提供了一種簡單方便的數(shù)據(jù)通信方法,具有操作簡單使用方便等優(yōu)點。蓄電池活化設備系統(tǒng)如圖3所示,其工作原理如下所述。
蓄電池活化設備系統(tǒng)采用ATMEGA64單片機+U盤主控芯片CH375A,實現(xiàn)對U盤的讀寫,并把蓄電池活化設備的每次工作狀態(tài)及參數(shù)值,按照固定格式以單獨文件進行存儲,可以為上層分析軟件提供基站信息、電池組信息、電池組充放電狀態(tài)、電池充放電電流、設置的充放電時間、實際充放電時間、電池組開路電壓、電池組電壓、單節(jié)電池電壓、電池組電流、電池組溫度、告警等必要信息。這里重點介紹CH375芯片的應用,系統(tǒng)中其他部分功能電路不做介紹。
2.2 CH375與ATMEGA64單片機接口原理
圖4所示為ATMEGA64單片機通過CH375實現(xiàn)USB接口的硬件電路。
在該設計中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 軟件設計
CH375可以支持各種常用USB全速設備,對符合Mass-Storage海量存儲設備的通信協(xié)議的USB設備,使用內置固件可以通過Mass- Storage海量存儲設備的通信協(xié)議直接通信。對不符合上述要求的USB設備需要外部單片機通過控制傳輸以及ISSUE_TOKEN命令或 ISSUE_TKN_X命令自行處理相關通信協(xié)議。
3.1 本地端單片機軟件
單片機通過8位并口對CH375芯片進行讀寫,所有操作都由1個命令碼、若干輸入數(shù)據(jù)和若干個輸出數(shù)據(jù)組成。部分命令不需要輸入數(shù)據(jù),部分命令沒有輸出數(shù)據(jù)。命令操作步驟如下:
?。?)在A0=1時向命令端口寫入命令代碼;
(2)如果該命令具有輸入數(shù)據(jù),則在A0=O時依次寫入輸入數(shù)據(jù),每次1個字節(jié);
?。?)如果該命令具有輸出數(shù)據(jù),則在A0=0時依次讀取輸出數(shù)據(jù),每次1個字節(jié);
?。?)命令完成,可以暫?;蜣D入(1)繼續(xù)執(zhí)行下一個命令。
CH375芯片專門用于處理USB通信,在檢測到USB總線的狀態(tài)改變或命令執(zhí)行完成后,CH375以中斷方式通知單片機進行處理。
3.2 UBS接口軟件程序流程
HC375不僅是一個通用的USB-HOST硬件接口芯片,還內置了相關的固定程序,可以方便地實現(xiàn)對USB存儲設備文件系統(tǒng)的管理。在該應用中采用C 語言編程,對蓄電池每次處理數(shù)據(jù)以一個文件的形式進行存儲,程序支持文件打開、新建、刪除和讀寫等功能。設備與USB存儲設備之間通信過程主要包括對 CH375芯片初始化、狀態(tài)查詢和并行數(shù)據(jù)的采集。通信部分程序流程如圖5所示。
4 結 語
這里在蓄電池活化設備USB接口電路中成功地使用了CH375芯片,取得了令人滿意的運行效果。利用該設計能夠很好地實現(xiàn)檢測設備數(shù)據(jù)移動轉存,為蓄電池活化設備的使用者提供了極大方便。結果表明,在實現(xiàn)USB數(shù)據(jù)移動存儲接口電路設計中采用CH375芯片具有軟硬件接口設計簡單,性價比高,操作方便等優(yōu)點。
評論