藍牙無線數據采集模塊的設計
摘 要:本文介紹了由ADmC812和藍牙芯片ROK101008構建的無線數據采集模塊,給出了該模塊的總體方案、硬件電路和軟件設計。該模塊可以實現(xiàn)8路數據的采集與無線傳輸,并能實現(xiàn)2路PID控制。
關鍵詞:藍牙技術;數據采集;無線傳輸
引言
藍牙技術是近年來發(fā)展迅速的短距離無線通信技術,利用藍牙技術構建無線數據采集模塊,可以減少系統(tǒng)間的電纜連接,具有攜帶方便、應用靈活等優(yōu)點。本文介紹了利用藍牙芯片和數據采集芯片研制成的藍牙無線數據采集模塊,對模塊的總體方案、硬件電路和軟件設計等內容作了詳細的介紹。藍牙無線數據采集模塊與數據分析系統(tǒng)調試結果說明該模塊性能達到了設計要求。
無線數據采集模塊方案
無線數采及分析系統(tǒng)的總體方案如圖1所示,PC機通過掛接在USB口的藍牙芯片發(fā)送指令信息(通道選擇、采樣頻率、采樣長度等)給數據采集模塊,數據采集模塊接收指令信息,采集數據并以無線方式傳輸給PC機,PC機接收數據后顯示,并進行各種處理。
藍牙無線數據采集模塊是無線數據采集及分析系統(tǒng)的重要組成部分,該模塊由數據采集單元、無線傳輸單元、系統(tǒng)軟件幾大部分構成。數據采集模塊由電池供電,安裝在現(xiàn)場,可脫離系統(tǒng)按指令自動完成數據的采集。
在圖1中,輸入信號是傳感器放大器送來的模擬信號,此信號經信號調理電路隔離放大及極性轉換后送入數據采集芯片ADmC812,再經過 A/D轉換(高速數據采集時數據可緩存在外部RAM AT29LV256中),然后封裝成數據包,由藍牙芯片的天線發(fā)送。電源管理模塊利用電池為信號調理電路、數據采集芯片、藍牙芯片提供長期穩(wěn)定的電源。
數據采集模塊硬件設計
在硬件電路的設計中,最重要的是所用元器件的選型,特別是主要元器件的選型。無線數據采集模塊中主要的元器件有兩個:一是數據采集芯片,另一個是無線傳輸模塊。
無線數傳模塊選型
愛立信的藍牙模塊ROK 101008和ROK101007(含USB接口)是兩款使用非常廣泛的產品,它們集成了射頻單元和基帶控制器,提供多種HCI(主機控制器接口)傳輸層接口,并提供用于試驗的接口電路板和天線,在使用上非常方便。由于本文設計的藍牙無線數據采集模塊使用串口通信,而ROK101008可以完成無線數采模塊所需要的功能,所以采用了ROK101008藍牙模塊。
數據采集芯片選型
ADmC812的優(yōu)點是集成了一個完全可編程、自校準、高精度的模擬數據采集系統(tǒng),它的體積小、成本低,通過采用閃速/電擦除存儲器,輔之以內含的加載器和調試軟件,解決了以ROM為基礎的芯片產品的靈活性差、存儲困難等問題,也使系統(tǒng)的設計、編程、調試更加簡便。另外,它的空閑和掉電方式對于電池供電的測控設備來說都是至關重要的性能。
無線數據采集模塊原理框圖
無線數據采集模塊硬件如圖2所示。為了用電池滿足ADmC812、ROK 101008、7HC573、AT29LV256芯片3.3V供電,以及信號調理電路 5V供電要求,采用可以輸出3.3V和5V電壓的穩(wěn)壓模塊MAX756和輸出-5V電壓的ICL7660。由于ADmC812只能實現(xiàn)單極性模數轉換,因此以差分放大器IN105進行雙極性到單極性轉換,并實現(xiàn)隔離和放大作用。另外,以差分放大器OP291實現(xiàn)兩路D/A輸出信號單極性到雙極性轉換及隔離作用。極性轉換電路原理如圖3所示。
數據采集模塊軟件設計及調試
數據采集模塊的軟件主要包括兩部分:數據采集和藍牙通信。該軟件是在Windows環(huán)境下用C51編寫的,用Keil編譯成HEX格式的文件,然后用ADI公司提供的程序下載軟件Wsd通過RS-232串口和接口電路下載到ADmC812。數據采集模塊的調試包括軟件調試和硬件調試,軟件調試可以在Keil軟件環(huán)境下完成,硬件調試不需要專門的開發(fā)工具,只要在網上下載一個普通的串口調試工具ComTools就可以觀察程序的運行情況。
數據采集模塊軟件流程
數據采集模塊的軟件主要有初始化程序(包括串口、藍牙、狀態(tài)寄存器、定時器和看門狗)、接收采集參數程序、A/D轉換及數據存儲程序、數據發(fā)送程序等部分組成。其流程如圖4所示。
所實現(xiàn)的軟件是基于實際工程應用的,數據采集模塊的單片機接收上位機的指令,按照上位機設置的參數(采樣頻率、采集通道數及通道號、采集模式、采集點數等)進行數據采集,然后把采集的數據發(fā)送 給上位機進行數據顯示和分析處理。
所研制的數據采集模塊還可實現(xiàn)PID控制,其程序主要包括:接收控制參數(通道選擇、比例系數、積分系數、微分系數、采樣頻率等)、采樣(A/D轉換)、PID運算、D/A轉換以及數據發(fā)送等。
藍牙通信
兩個藍牙設備進行數據通信是通過HCI分組實現(xiàn)的。HCI分組有命令分組、事件分組和數據分組。圖5是藍牙通信示意圖。ACL (Asynchronous ConnectionLess)數據通信流程一般有6個步驟:藍牙模塊自身初始化、HCI流量控制設置、查詢、建立連接、進行數據傳輸和斷開連接。其中藍牙初始化和HCI流量控制設置部分程序主體如下:
Init_bluetooth( )
{
Reset(); /*復位藍牙主機控制器、鏈路管理器和射頻部分*/
Read_Buffer_Size(); /*讀取主機發(fā)往主機控制器數據分組的最大長度和允許的數量*/
Set_Event_Filt(); /*制定事件過濾器,主機通過事件過濾器來過濾所需事件*/
Write_Scan_Enable(); /*控制藍牙設備是否周期性地掃描其他藍牙設備的尋呼掃描或查詢請求*/
Write_Connection_Accept_ Timeout(); /*設置超鏈接時間*/
Write_Page_Timeout(); /*確定本地鏈路管理器等代遠端設備基帶尋呼響應的超時時間*/
Set_Host_Controller_to_Host_ Flow_Control();
/*開啟和關閉主機到主機控制器方向的流量控制*/
Host_Buffer_Size(); /*主機通知主機控制器可以發(fā)往主機的數據分組最大長度和緩沖區(qū)所能同時緩存的最大分組數量*/
}
初始化程序主要是單片機對藍牙發(fā)送一系列命令分組。單片機每向藍牙發(fā)送一個HCI命令分組就要接收藍牙返回的事件分組,判斷命令執(zhí)行的情況。若返回事件分組不正確就要重新初始化藍牙,直到完全正確。藍牙芯片初始化完成后,打開流量控制,對數據流量進行配置,包括數據分組的長度等。此后,主設備查詢周圍的藍牙設備,找到之后即可向其發(fā)出建立連接指令,建立ACL連接。建立連接成功后,兩個藍牙設備可以相互發(fā)送ACL數據分組,其格式為0x 01 02 01 20 數據總長(兩個字節(jié)) 數據。每發(fā)送5個數據分組將返回一個完成事件分組,用于流量控制。通信完成后,主設備和從設備都可以發(fā)出斷開連接命令Disconnect。
結語
試驗結果表明:該無線數據采集模塊可以實現(xiàn)8路不同模式(連續(xù)模式、點檢模式等)數據采集、2路PID控制等功能,數據采集速率最高可達150kHz,數據傳輸速率最高可達721kbps,具有較強的實用性?!?/P>
參考文獻
1. 劉書明,馮小平.數據采集系統(tǒng)芯片ADmC812原理與應用.西安電子科技大學出版社,2000
2. 馬建倉,羅亞軍,趙玉亭.藍牙核心技術及應用.科學出版社,2003
pid控制器相關文章:pid控制器原理
藍牙技術相關文章:藍牙技術原理
評論