基于USB移動存儲的鋼絲繩探傷報警系統設計
1 引言
在鋼絲繩探傷檢測中,要實現檢測傳感器到存儲器的數據交換。USB移動存儲器具有攜帶方便、操作快捷、成本低廉等優點。隨著其技術的發展及廣泛應用,如何實現使用單片機控制來完成移動存儲這一過程成為了工控領域研究的熱點。
2 USB功能模塊簡介
2.1模塊概述
USB[1]是―種查詢(Polling)總線,由主控制器啟動所有的數據傳輸。USB上所掛連的外設通過由主機調度的(Host-Scheduled)和基于令牌的(Token-Based)協議來共享USB帶寬。目前,絕大多數Host功能角色被集成在各種類型的PC機(或以上層次機器)上。各種各樣的基于USB 的移動設備,包括USB 移動存儲器、帶USB 接口的數碼相機等都集成USB Slave功能角色。這樣,就導致這些作為USB Slave 的USB 接口的數字設備無法應用于嵌入式系統中。解決這一問題的根本辦法就是在需要使用USB 設備的嵌入式系統中集成USB Host 功能模塊,使之具有與USB Slave設備進行數據傳輸的能力。而MemMaster[2]模塊就具有這種功能。
MemMaster 作為 USB 系統中的 Host 設備,帶有一個 Root HUB,可供用戶接入作為 Slave 的USB 移動存儲器。該 MemMaster 模塊遵守 USB 1.1 協議規范,支持所有基于 USB 的移動存儲器,支持 FAT12、FAT16 文件系統。MemMaster 模塊可以模塊的方式,通過總線集成到用戶的數據采集等系統中,以提供用戶將獲得的數據通過該模塊以文件的形式保存在移動存儲器中,以便需要時在 PC 機中進行處理。
MemMaster在集成到用戶系統中后,表現為用戶系統的一個外部雙端口RAM。用戶系統通過向該外部RAM的指定區域寫入命令和相應的數據,來控制MemMaster模塊的操作,并且從指定區域讀出響應和相應的數據來獲得MemMaster模塊提供的服務。通過這樣的方式,雙方實現協議交互。
2.2 硬件配置
MemMaster支持 USB 1.1 標準,最大寫入速率達100KB/s(與測試環境有關),輸入電壓 5V,工作電流 100mA(不包括USB 移動存儲器)。INTR 引腳作為從 RAM 到單片機的中斷信號,BUSYR 作為 RAM 的工作信號,SEMR 作為同步信號,CER 作為片選信號,其他引腳在此不做詳述。
2.3 接口使用
MemMaster 通過雙端口 RAM,直接通過總線與用戶的單片機系統相連。因此,就用戶單片機系統而言,MemMaster 表現為一個外置的 RAM,而該 RAM 中的部分區域不能使用、部分區域被用作協議命令和數據的交互,剩余的部分可以由用戶自行控制使用。在雙端口 RAM 中,區域分配如下:
0x0000-0xF8F區域已經被系統占用;
0x5F80-0x5FBF共64字節用于存放系統命令;
0x5FC0-0x5FFF共64字節用于存放系統響應;
0x6000-0xDFFF共32768字節用于存放數據部分;
0xE000-0xFFFD為用戶系統可使用區域;
0xFFFE-0xFFFF兩個字節被用作系統協議交互指示,用戶不可用于數據存放。
用戶系統與 MemMaster 系統的協議交互命令包括2種類型:Command 和 Response。Command 由用戶系統發往 MemMaster 系統,而 Response 為相反方向,由 MemMaster 發往用戶系統。具體的實施在第四節中有介紹。
評論