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

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > 基于藍牙技術的汽車四輪定位系統(tǒng)無線化設計

          基于藍牙技術的汽車四輪定位系統(tǒng)無線化設計

          作者: 時間:2010-05-27 來源:網絡 收藏


          2.3 藍牙模塊與單片機接口電路設計

          藍牙模塊采用CSR公司的Bluecore系列CSR0312。主要技術規(guī)范如下:


          ◆遵從藍牙1.1規(guī)范;

          ◆射頻輸出為class2級,作用距離10 m;

          ◆藍牙1.1認證;

          ◆FCCETST認證;

          ◆支持UART接口。

          單片機用來存放初始化藍牙模塊和建立無線ACL數據連接的指令代碼,可以說單片機中的軟件是此系統(tǒng)的核心。這里采用AT89S51,該款單片機價格相對低廉。轉換芯片采用MAX3232E。

          傳輸指令的電路連接如圖3所示。藍牙模塊的UART接口作為數據收發(fā)接口RXD和TXD,與AT89S51的P3.0和P3.1通信。AT89S51通過這兩個接口和藍牙模塊CSR0312互傳數據,并且向其發(fā)送主機控制接口指令。AT89S51的P1.2和P1.3作為擴展的串行接口,和其他單片機通信;P3.2作為外部中斷入口,當有數據從其他單片機傳過來時,將觸發(fā)中斷開始接收數據。


          3 系統(tǒng)軟件設計

          藍牙模塊通過主機控制接口HCI和單片機通信,利用主機控制接口指令,藍牙模塊可以進入一種給定的操作模式(比如查詢網絡中其他設備,或者建立一個數據連接)。這樣就可以用單片機控制藍牙模塊,實現無線數據傳輸。建立ACL連接和斷開連接的藍牙指令分別是:

          MOV DPTR,#HCICreateACLConnection
          ……
          MOV DPTR,#HCIDisConnect
          ……

          藍牙模塊收到#HCICreateACLConnection信號以后,就會進入建立ACL連接的模式。

          主設備和從設備的軟件流程基本一致,不同之處在于:主設備要查詢從設備并建立ACL數據鏈路,而從設備沒有這部分工作。主設備端的程序流程如圖4所示。系統(tǒng)啟動后,主設備首先要查詢從設備,收到從設備的響應后,可得知能否和該從設備建立藍牙網絡,并且確定了該藍牙從設備代表4個輪胎中的哪一個;然后主設備發(fā)起連接請求,建立一個無線ACL鏈路,準備收發(fā)數據,采用外部中斷的方式通知有數據到來。四輪定位完畢后,主控電腦發(fā)出一個結束信號,與其相連的藍牙模塊將該信號解釋為斷開藍牙連接,通知從設備撤銷藍牙網絡,流程結束。



          4總 結

          藍牙模塊作用范圍雖然不大,通常不超過10 m,但是用于四輪定位場合是可以接受的。如果需要,還可以通過提高發(fā)射功率來增加有效距離??偟膩碚f,藍牙模塊成本低,組網靈活;與有線四輪相比,價格沒有大幅度提高,使用靈活性卻大為增加。測試結果表明,應用于四輪定位儀,不僅提高了系統(tǒng)穩(wěn)定性和工作效率,也便于設備的使用,可以很好地適應汽車維修場所惡劣的環(huán)境。

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();