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