距離產生了通信的需求,距離的增加對通信提出了更高的要求。和有線通信相比,無線通信技術由于其更為方便實用而越來越得到更多的應用,實現無線傳輸的方案也是多種多樣。本文中設計并實現了一種應用無線傳輸技術的單片機系統,該系統中使用USB2.0 接口與上位機相連,將數據傳輸到下位機,數據經無線傳輸后控制手持式便攜設備。應用該系統的教學仿真器已經在實際中進行了應用,且得到了很好的效果。
1 系統的設計
為了實現計算機對某些系統的控制,常常使用單片機對下位機進行控制,而上位機和下位機之間可以通過串行接口、并行接口等接口實現通信。本文中通過USB2.0 接口實現了一個無線通信系統,系統的連接如圖1 所示。
圖1 無線傳輸系統連接。
由圖1 中可以看出,上位機接收用戶操作,通過USB2.0接口發出,傳輸到下位機,數據經下位機處理后經無線發送設備發出。無線接收設備接收到發射出的信號后,將相應的信息顯示在手持設備上,從而實現了上位機與手持設備之間的無線通信。這里,在手持設備上使用LED 顯示上位機同步信息,因此,設計出無線傳輸系統的系統結構圖如下頁圖2所示。
圖2 無線傳輸系統結構。
2 系統的具體實現
2.1 USB2.0 接口轉串行接口的功能實現
由于下位機與上位機的連接采用目前較為流行的USB2.0 接口,以便于廣泛的應用,但是由于下位機所使用的51 單片機不支持USB 接口,只支持標準的雙工串行接口,因此需要在USB 接口與串行接口之間進行數據轉換。這里采用FT232BM 芯片[3]完成此項功能。
FT232BM 的主要功能是進行USB 和串口之間的協議轉換。芯片一方面可從主機接收USB 數據,并將其轉換為串口的數據流格式發送給外設,另一方面外設可通過串口將數據轉換為USB 的數據格式傳回主機。中間的轉換工作全部由芯片自動完成,開發者無須考慮固件的設計。FT232BM 內部主要由USB 收發器、串行接口引擎USB 協議引擎和先進先出(FIFO)控制器等構成。USB 收發器提供USB1.1/2.0 的全速物理接口到USB 總線,支持UHCI/OHCI 主控制器;串行接口引擎主要用于完成USB 數據的串/并雙向轉換,并按照USB1.1規范來完成USB 數據流的位填充/位反填充,以及循環冗余校驗碼(CRC5/CRC16)的產生和檢錯,USB 協議引擎管理來自USB 設備控制端口的數據流;FIFO 控制器處理外部接口和收發緩沖區間的數據轉換。FIFO 控制器實現與單片機(如AT89C51 等)的接口,主要通過2 根數據線P30 和P31 及讀寫控制線來完成和單片機的數據交互。FT232BM 內含兩個FIFO 數據緩沖區,一個是128 字節的接收緩沖區,另一個是384 字節的發送緩沖區。
2.2 無線數據傳輸的實現
根據系統的設計,無線數據傳輸部分由無線發射模塊和無線接收模塊兩部分組成,無線發射模塊選用GDTX6,它具有功率大發射頻率穩定不受周邊溫度變化而改變等特點;無線接收模塊選用GD-R5B,它是VHF/UHF 超高頻無線數據傳送高品質超外差接收模塊,采用超高頻,低噪聲大規模集成電路,是具有極高性價比,有完善的抗靜電保護,可靠性高及遠
距離傳輸的接收模塊。
(1)數據發送平臺的實現。
數據發送平臺工作原理如圖3 所示,是將PC 機產生的動作數據通過USB 接口芯片接收到接收處理器內,然后由接收處理器進行地址和數據的混編處理后,再送入無線數據發送處理器,最后把數據和地址一同通過處理器的串行通信口送入無線發送模塊將混合數據發送出去。
圖3 數據發送平臺電路。
(2)數據接收平臺的實現:
數據接收平臺工作原理如圖4 所示,是將發送平臺的數據正確的接收到平臺上,當整套硬件平臺通電后接收平臺會不斷接收到由發送平臺發送過來的連接碼,這個連接碼在整個無線接收區域所有無線接收平臺都會接收到此連接碼,當發送平臺得到要發送的數據后,就會進入數據傳送協議,接收平臺也會按照自編的接收協議來接收數據,當數據由無線接收模塊接收后通過接收處理器的串口傳入接收處理器,再由接收處理器對接收到的混合數據進行地址和數據分離后傳給接收平臺顯示處理器驅動相應的LED 發光二極管。
圖4 數據接收平臺電路。
(3)數據傳輸協議的實現。
由于數據發送平臺與數據接收平臺之間的通訊是無線數據連接,因此也需要一定的協議。這個協議的實現是當發送平臺通電后會一直向整個無線有效范圍內發送連接碼,連接碼的發送頻率是穩定的,接收平臺通電后會一直接收到來自發送平臺的連接碼,但接收到連接碼后會放棄并不保存。
當上位機向下發送數據時,發送平臺開始進入發送協議狀態,首先發同步碼,然后是地址碼,地址發送后發送數據,最后發送結束碼,圖5 為發送程序流程圖。接收平臺當接收到同步碼后,進入數據協議接收狀態,首先接收地址碼,接收后會在內部快速驗證是否和本地址一致,如果不一致將退出協議,如果一致則開始接收數據,最后接收結束碼并進行校驗,如果數據正確則把接收的數據傳送顯示,否則丟棄數據,圖6 為接收程序流程圖。
圖5 發送程序流程。
圖6 接收程序流程。
3 系統的實際應用
該無線數據傳輸系統已經在教學中進行了實際應用,開發者在該系統的基礎上制作了“計算機硬件開發平臺”以及“基本邏輯門演示系統”兩個教學仿真器。
“計算機硬件開發平臺”作為一個基礎的硬件開發平臺,整體電路簡單明了、與上位機接口方便且功能齊全,使開發者在平臺上作二次開發容易,初學者也非常容易上手,方便計算機硬件愛好者的學習。
“基本邏輯門演示系統”使用VB 開發了上位機的演示界面,可以演示常用的邏輯門功能,系統調用Windows 的API函數來對PC 機的COM1 口進行數據發送,通過無線數據傳輸,在手持便攜設備上由LED 顯示與上位機同樣的操作結果,從而實現了無線控制。
4 結語
使用USB2.0 接口以及無線數據傳輸模塊設計實現的系統,不僅設計合理,而且使用方便,在實際中已經進行了應用,有很高的實用價值。今后,系統將采用藍牙通信進行優化,進一步提高通信性能。