<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應用 > 基于ARM和藍牙的無線信號采集系統(tǒng)的設(shè)計與實現(xiàn)

          基于ARM和藍牙的無線信號采集系統(tǒng)的設(shè)計與實現(xiàn)

          作者:張虹,徐興 時間:2008-08-27 來源:中電網(wǎng) 收藏

            1 引 言

          本文引用地址:http://www.ex-cimer.com/article/87443.htm

            技術(shù)在工業(yè)領(lǐng)域有廣泛的應用前景。在連線復雜并需要反復拆裝被測設(shè)備和測試設(shè)備之間連線的場合,使用無線可以降低工作的復雜程度,節(jié)約大量的時間,提高測試環(huán)節(jié)的工作效率,尤其在有時間限制時其優(yōu)越性更加明顯。此外在不適宜連線的場合,如港口、碼頭、江河湖壩、野外勘測、石油勘探中油井深處環(huán)境參數(shù)的測量,使用無線測量具有有線測量無法比擬的優(yōu)越性。

            對于近距離的無線傳輸,由于采用快速跳頻技術(shù),確保了鏈路的穩(wěn)定,同時使干擾可能造成的影響變得很小,適合用于存在大量噪聲干擾的工業(yè)測試環(huán)境中,由于無線傳輸?shù)氖菙?shù)字量,因此在通常情況下沒有傳輸誤差,不會影響到系統(tǒng)的準確度,并且可以單芯片實現(xiàn),體積功耗都能達到很小的水平。

            本文針對無線信號測試,提出一種基于系統(tǒng)的設(shè)計與實現(xiàn)。

            2 芯片選擇

            2.1 模塊的選擇

            采集模塊使用的藍牙芯片是已經(jīng)商品化的藍牙模塊,其核心是主流的CSR的BlueCore02-External藍牙芯片,他與外圍器件一起構(gòu)成藍牙模塊,如圖1所示。電壓調(diào)整電路提供藍牙模塊所需的3.3 V和1.8 V電壓,閃存用于存儲藍牙固件和配置參數(shù)。藍牙主機可通過各種接口(SPI,UART,USB等)實現(xiàn)與藍牙模塊的通信。

            2.2 微處理器的選擇

            微處理器主要負責對采樣的控制,對信號調(diào)理芯片的進行編程與控制,與藍牙模塊的通信。由于采用了寄居式的藍牙模型,所以微處理器通過HCI(Host Control Interface)接口與藍牙模塊通信,包括將采集的數(shù)據(jù)按照藍牙協(xié)議規(guī)定的數(shù)據(jù)格式打包發(fā)送給藍牙模塊,解讀從上位機發(fā)送過來的控制命令,控制系統(tǒng)的采集動作以及藍牙模塊的工作方式。

            基于核心的微處理器具有運算速度快,體積小,功耗低,外圍接口資源豐富等優(yōu)點,使用基于7TDMI-S核心的Philips LPC2146微控制器。

            3 硬件設(shè)計

            系統(tǒng)硬件分為采集模塊與接收模塊兩部分:

            (1)采集模塊:為8通道數(shù)據(jù)采集系統(tǒng),8路傳感器信號經(jīng)過放大與調(diào)理后,均變?yōu)?~3 V的標準模擬電壓信號,分別連接到LPC2146的AD1.0~AD1.7管腳。LPC2146片內(nèi)的ADC是一個分辨率為10位,轉(zhuǎn)換速率為400 ks/s的逐次逼近型ADC,支持8路復用的輸入信號。LPC2146對8路信號進行輪流采樣,數(shù)字化。由于LPC2146內(nèi)部的ADC不提供轉(zhuǎn)換時的電壓基準,故使用了LT1461A3這一+3 V的精密電壓基準。

            (2)接收模塊:接收模塊同樣以CSR BC02藍牙模塊為核心,與采集模塊進行藍牙ACL(AccessControl List)數(shù)據(jù)通信。BC02芯片通過MAX3232電平轉(zhuǎn)換芯片與PC機串口進行數(shù)據(jù)收發(fā)。

            3.1 信號采集模塊

            CSR BlueCore02藍牙模塊具有HCIUART與HCI USB傳輸層。本課題采用了編程較為簡單HCI UART接口與微控制器LPC2146連接。

            藍牙模塊與ARM的硬件連接如圖2所示。由于藍牙模塊和ARM都采用+3.3 V電源供電,故其接口間不存在電平差異,不需要電平轉(zhuǎn)換。藍牙模塊UART接口的發(fā)送端UART TX接LPC2146的UART0接收端RXD0,而藍牙模塊的UART接口的接收端UART RX接LPC2146的UART0發(fā)送端TXD0。

            藍牙模塊的復位電路有上電復位,手動復位和LPC2146控制復位三種復位功能。在RST腳上的高電平持續(xù)時間大于5 ms時,藍牙模塊將被復位。

            圖2中C1和R3組成上電復位電路;S1為長開按鈕,當S1按下時,實現(xiàn)手動復位;LPC2146的P0.16腳(BTRST)也可以通過D1二極管復位藍牙模塊。

            3.2 藍牙接收模塊

            接收模塊與監(jiān)控PC機連接,用來接收從采集模塊發(fā)送過來的藍牙ACL數(shù)據(jù)包,并將之傳送到PC。藍牙模塊與PC機的通信是基于HCI RS 232接口,使用了一片電平轉(zhuǎn)換芯片MAX3232將TTL電平轉(zhuǎn)換成RS 232電平,實現(xiàn)了利用PC機串口與藍牙模塊通信,進行數(shù)據(jù)收發(fā)的功能,如圖3所示。

            PC機與藍牙模塊的接口使用了硬件流控,如圖4所示。

            值得注意的是,PC機主板內(nèi)置的RS 232接口能達到的波特率最大僅為115.2 kb/s,遠遠低于藍牙模塊ACL,連接的最大通信速率721 kb/s。為了避免RS 232接口成為數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)傳輸瓶頸,使用了一塊PCI-RS232的接口卡,其波特率可以達到1 Mb/s。

            另外,RS 232接口的波特率也受其傳輸距離的制約。經(jīng)過實驗反復驗證,最終接收端藍牙HCI UART傳輸層能在460.8 kb/s的波特率下正常的收發(fā)數(shù)據(jù)。

            3.3 硬件抗干擾措施

            在此系統(tǒng)中,諸如ARM,信號調(diào)理芯片,藍牙模塊都是易受干擾的元器件,因此抗干擾技術(shù)是系統(tǒng)設(shè)計中需要重點考慮的問題。在硬件的設(shè)計時,主要采取了如下措施來加強整個測試系統(tǒng)的抗干擾能力:

            (1)對電路板采用了電池供電。采用4.2 V的鋰電池供電,可以提供相對穩(wěn)定的電壓和純凈的電流。相對于其他采用金屬滑環(huán)或者旋轉(zhuǎn)變壓器供電的方案,電池供電消除了這兩種方式帶來的交流噪聲及電源波動。

            (2)對ARM處理器加入了電源監(jiān)控芯片MAX823及看門狗電路。當電源的波動超過安全閾值時(3.6~2.9V),MAX823將產(chǎn)生一個Reset信號,對微處理器進行復位。

            4 結(jié)語

            本課題基于藍牙技術(shù)的系統(tǒng)正是近距離無線通信技術(shù)在測試領(lǐng)域的應用。該系統(tǒng)采樣通道數(shù)多,體積小,功耗低,具有多種節(jié)能模式,安裝簡便,兼具有信號調(diào)理和信號遙傳的功能,不但可以應用于旋轉(zhuǎn)機械(如航空發(fā)動機葉片,汽車轉(zhuǎn)動軸)的參數(shù)采集,也可以應用在其他高速或低速的旋轉(zhuǎn)機械的工作狀態(tài)監(jiān)測和故障診斷系統(tǒng)中,具有廣闊的應用范圍和良好的應用前景。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();