關鍵詞: USB接口 無線MODEM MCU處理器
本文所介紹的無線收發器主要由無線MODEM、MCU控制單元和USB接口單元等部分組成,工作在433.92/434.33MHz頻率,可方便地嵌入各測量和控制系統中進行無線數據傳輸,在車輛監控、無線抄表、無線USB數據通信、計算機遙控遙測等系統中應用。目前,基于USB接口的外設開發是一個熱點。USB總線具有數據傳輸速度快、占用硬件資源少、即插即用的優點;但USB通信協議復雜,且PC機的驅動程序編寫也很費力,使很多設計人員望而卻步。FT245AM成功地實現了USB協議和并行I/O協議間的轉換,避免了協議固化設計和驅動程序的編寫。作者成功利用MCU控制,將FT245AM和nRF401相結合,開發出了基于USB接口的嵌入式無線MODEM。
1 系統組成和單元電路
系統組成如圖1所示,由USB接口、MCU控制單元和無線MODEM三部分組成。USB接口由FT245AM實現,完成USB協議和并行I/O協議轉換,使該無限數據傳輸單元以即插即用方式直接和PC機通信。無線MODEM單元由 nRF401實現。nRF401是NORDIC公司推出的433MHz ISM波段真正實現單片UHF無線收發的芯片,采用KSK調制解調技術,數據傳輸速率為20kbps,不需要對數據進行編碼;發射功率可調(為10dBm),采用差分天線,收發共用,也可使用PCB天線;具有待機模式。

MCU單元由AT89C51單片機實現,主要完成USB接口和無線MODEM間的管理和控制、測控信息的采集及對測量控制系統進行控制。
1.1 無線MODEM單元
考慮到高頻干擾,射頻部分單獨做一塊PCB板,其核心為收發一體化的nRF401芯片,包含FSK調制和解調、PLL合成、多頻率切換等功能,具有功耗低、外圍元件少等特點。如圖2所示,壓控振蕩器VCO外接22μH高Q值電感,鎖相環PLL外接單端二階濾波器,振蕩源外接4MHz晶振,采用環形差分天線,TXEN、CS、PWR-UP、Dout和Din分別接單片機的P2.3、P2.4、P2.5和RXD、TXD端,單片機通過TXEN、CS、PWR-UP端控制無線MODEM單元的工作模式,數據通過Dout和Din端接收和發射。

單片機控制收發單元nRF401的TXEN、CS和PWR-UP三個端口,可以使無線MODEM單元處于接收、發射和等待三狀態中的任一狀態,兩個信道頻率分別為33.92MHz和34.33MHz。單片機控制邏輯如表1所示。

1.2 USB接口
與PC機的接口采用USB總線結構,USB接口單元如圖3所示。采用總線供電方式,USB電源端加磁珠和電容等去耦合抗干擾電路,FT245AM的D0~D7口接單片機的P0口,以P2輸入和輸出數據,WR、RD、TXF和RXF四個控制端接單片機的P2口,通過該控制端控制數據的傳輸。PWREN接單片機的INT0口,用以判斷FT245AM是處于正常工作狀態還是掛起狀態。93C46為EEPROM,用以存放設備序列號和說明性文字等信息,用戶只需運行FTDI公司提供的VB應用程序填寫自己相應的序列號。

1.3 MCU控制器
MCU控制器采用AT89C51單片機,工作頻率為12MHz,主要完成測控對象的數據采集、控制USB接口和無線MODEM、將采集的數據通過無線信道遠端控制中心或通過USB總線傳輸給本地計算機。也可實現本地計算機和遠端控制中心的無線數據通信。通過MCU實現本地計算機、測控對象和遠端控制中心之間的數據通信。
2 軟件編程
2.1 USB端軟件編寫
當FT245AM組成的USB接口和PC機連接時,需要在PC機上安裝由FTDI公司免費提供的虛擬串行口VCP驅動程序,應用VB對虛擬串口進行編程,可直接應用MSComm控件,將MSComm3.commPort設置為3,MSComm3.Settings設置為9 600、n、8、1(實際上該值為默認),通過MSComm3. PortOpen設置COM3的開關狀態,通過MSComm3. Input和MSComm3. Output讀入或輸出數據。讀數據時將MSComm3. Rthreshold的值設為1,只要數據傳輸到PC機端,即觸發MSComm3. Commevent事件,就可自動讀取COM3的數據,發送數據過程可自動或手動完成,用戶自己設定,這樣用戶可輕松編寫PC機端的應用程序。
在設備端,根據圖4所示的時序圖,首先采樣到RXF變低電平,表明接收到自PC機傳來的數據,允許單片機通過并行數據總線D0~D7讀取數據。接著RD信號由高變低,鎖存讀入數據,延遲一段時間后進行下一數據的讀取。
讀數據流程如圖5所示。同理可編寫發送數據程序。

2.2 無線MODEM收發數據軟件
在設計程序時應注意各狀態之間轉換的時間延遲,nRF401數字通信速率為20kbps。接收模式轉換為發射模式的延遲時間至少為1ms,可以發送無限長的數據,發射模式轉換為接收模式的延遲時間至少為3ms;待機模式時既不接收也不發射數據,待機模式轉換為發射模式的延遲時間至少為4ms,待機模式轉換為接收模式的延遲時間至少為5ms。收發數據的程序流程圖如圖6所示。編程以中斷方式完成接收和發送數據,發送的數據須符合通信協議才能被接收和識別,通過USB總線來自PC機的數據或采集到的測控系統的要發送數據在MCU中完成成幀處理,以幀為單位,有協議頭、發送長度和以及CRC校驗碼,成幀后的數據由MCU控制無線MODEM單元進行發射。接收的數據通過MCU識別糾錯后通過USB接口送PC機。

2.3 數據采集和控制軟件
每隔一段時間對測控對象進行一次巡檢采樣,得到的數據通過USB總線傳輸到計算機或通過無線數據傳輸單元傳輸到遠地的控制中心的計算機。
MCU也對USB設備端的并行數據接收和發送,控制無線數據傳輸器的工作模式以及數據的接收和發送。
該無線數據傳輸單元綜合無線數據通信、USB總線接口和測控系統數據采集,將數據經無線通道傳輸到遠端的控制中心,也可以傳輸經USB來自本地計算機的數據,已在某化工廠的煙霧排放檢測點進行數據的采集、傳輸和處理應用,極具推廣價值。
參考文獻
1 The datasheets of FT245AM future .Technology Devices Intl Ltd, 2002
2 The production specification of Nrf401. Nordic VLSI ASA, May 2000