新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM和智能手機(jī)的藍(lán)牙CAN分析儀設(shè)計

基于ARM和智能手機(jī)的藍(lán)牙CAN分析儀設(shè)計

作者: 時間:2014-10-19 來源:網(wǎng)絡(luò) 收藏

  針對總線通信質(zhì)量、測試和驗證的需要,以及傳統(tǒng)分析儀的復(fù)雜性,且必須選擇PC機(jī)作為顯示終端的不足,論證了一種基于單片機(jī)和智能手機(jī)的總線分析儀設(shè)計。該分析儀采用以單片機(jī)為核心的硬件電路完成對CAN網(wǎng)絡(luò)的實時數(shù)據(jù)收集和監(jiān)控;采用藍(lán)牙通信方式實現(xiàn)分析儀與智能手機(jī)的通信并以智能手機(jī)為終端完成數(shù)據(jù)分析。文章對分析儀硬件、軟件和智能手機(jī)頁面進(jìn)行了具體設(shè)計,提出了一種新的波特率自動檢測方法,最后給出了所設(shè)計的CAN總線分析儀的實際試驗結(jié)果,可實現(xiàn)CAN總線波特率自動檢測、正常監(jiān)測以及CAN總線狀態(tài)分析的功能。

本文引用地址:http://m.butianyuan.cn/article/264105.htm

  CAN(controller area network)控制器局域網(wǎng)絡(luò)是一種實時性強(qiáng)、靈活性好、標(biāo)準(zhǔn)化程度高的串行數(shù)據(jù)總線,廣泛應(yīng)用于汽車電子、工業(yè)自動化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等領(lǐng)域。其測試設(shè)備CAN網(wǎng)絡(luò)分析儀成為開發(fā)者的必備設(shè)備。借助使用方便的CAN總線分析儀,能夠快速找到CAN總線系統(tǒng)在使用中出現(xiàn)的設(shè)計不周或異常干擾問題,并將故障和問題排除。

  傳統(tǒng)CAN分析儀需要將電腦通過連接到CAN分析儀上,再通過DB9接口將被測總線連接到CAN分析儀上。由于CAN總線是一種流行于車輛行業(yè)的現(xiàn)場總線,這樣的調(diào)試方法對于需要路測的車輛就會顯得不太方便,很難保證能夠正常工作。同樣,在工業(yè)控制領(lǐng)域,傳統(tǒng)的CAN分析儀由于兩段都有連線,在線束較多的工業(yè)現(xiàn)場可能會造成一定的混亂。此外,當(dāng)今使用CAN總線的設(shè)備為了保證安全性,有時不止1根總線,傳統(tǒng)的分析儀至多有2個接口,也就意味著想要同時測試2個以上CAN總線時就需要2個接口,如果這2條CAN總線相距較遠(yuǎn)則需要較長的連接線。為此,這里介紹一種成本低、體積小、結(jié)構(gòu)簡單、實現(xiàn)無線調(diào)試和對環(huán)境要求低的藍(lán)牙CAN總線分析儀。

  1 硬件設(shè)計

  1.1 總體設(shè)計

  針對傳統(tǒng)CAN分析儀的各種缺點,本文提出了以智能手機(jī)代替PC機(jī)作為顯示終端,使用藍(lán)牙無線傳輸替代USB電纜傳輸,并且自帶鋰電池的新型CAN分析儀??傮w設(shè)計結(jié)構(gòu)如圖1所示。

  

 

  圖1 藍(lán)牙CAN分析儀總體設(shè)計框圖

  由于CAN分析儀是一種波特率較高的通信協(xié)議,且對通信質(zhì)量分析和故障定位需要復(fù)雜的運(yùn)算處理,所以本文提出的藍(lán)牙CAN分析儀在整體設(shè)計中包含3個部分:一部分是以為處理核心的處理主板,負(fù)責(zé)CAN總線波特率檢測、數(shù)據(jù)采集以及藍(lán)牙通信信號發(fā)射;第二部分是鋰電池,負(fù)責(zé)給主板提供電源,鋰電池電壓為5V,容量為3 000mAh,尺寸為11.6mm X42mm×69ram,可保證系統(tǒng)工作lOh以上;第三部分為智能手機(jī),負(fù)責(zé)接收CAN總線數(shù)據(jù)以及對數(shù)據(jù)的處理。

  1.2 主板設(shè)計

  主板上有4個模塊,分別為隔離CAN接口模塊、ARM處理器模塊、藍(lán)牙串口模塊、電源電路模塊。設(shè)計框圖如圖2所示,實物圖如圖3所示。

  隔離CAN接口模塊負(fù)責(zé)將ARM的數(shù)據(jù)發(fā)送到CAN總線上,并將CAN總線上的數(shù)據(jù)發(fā)送給ARM處理器。

  

 

  圖2 主板系統(tǒng)設(shè)計框圖

  

 

  圖3 主板買物圖

  ARM處理器模塊是本分析儀的核心,采用NXP公司的LPC2119處理器。LPC2119是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-STM CPU,帶有128KB嵌入高速Flash存儲器,并內(nèi)部集成2個CAN控制器。其主要特點是:單個總線上的數(shù)據(jù)傳輸速率高達(dá)1MB/s;32位寄存器和RAM訪問;兼容CAN2.0B,IS011898.1規(guī)范;全局驗收濾波器可以識別所有的11位和29位標(biāo)識符;驗收濾波器為選擇的標(biāo)準(zhǔn)標(biāo)識符提供Full CAN-style自動接收。它主要負(fù)責(zé)將CAN總線上的數(shù)據(jù)進(jìn)行處理,然后通過藍(lán)牙串口發(fā)送到手機(jī),此外,ARM模塊還負(fù)責(zé)檢測未知CAN總線上的波特率,并發(fā)送給手機(jī)端。

  藍(lán)牙串口模塊負(fù)責(zé)ARM與手機(jī)交換數(shù)據(jù),其串口的通信速率達(dá)到1 382 400bps。電源模塊負(fù)責(zé)為各個模塊供電。

  2 軟件設(shè)計

  軟件是藍(lán)牙CAN分析儀的關(guān)鍵。根據(jù)硬件系統(tǒng)結(jié)構(gòu),軟件包括兩個部分,即運(yùn)行于ARM處理器的波特率檢測以及數(shù)據(jù)傳輸軟件;運(yùn)行在智能手機(jī)上的CAN分析儀操作界面。對于運(yùn)行在ARM處理中的軟件,本文著重介紹一種新型的波特率自動檢測方法。

  2.1 波特率自動檢測軟件設(shè)計

  實現(xiàn)CAN總線和CAN分析儀之間的通信,需有相同的波特率,因而波特率的檢測十分重要。當(dāng)下主流的波特率檢測方法是利用應(yīng)答機(jī)制建立的波特率檢測方法。其開始時通過試聽一些推薦的CAN總線優(yōu)選波特率,即1Mbit/s,800kbit/s,500kbit/s,250kbit/s,125kbit/s,(100kbit/s),50kbit/s,20kbit/s,10kbit/sHl:若能無故障地接受到完整的CAN消息,說明波特率檢測成功;如果CAN總線的波特率不是優(yōu)選波特率,則可以通過主機(jī)和CAN總線的應(yīng)答來測定波特率。此種檢測方法速度慢,存在一定誤差且對被測網(wǎng)絡(luò)有一定影響。

  針對采用應(yīng)答機(jī)制設(shè)定的波特率檢測方法的缺點,本文提出了一種新的自動波特率檢測方法。本自動波特率檢測系統(tǒng)巧妙地利用了ARM處理器的中斷端口,將CAN總線上的波形記錄到ARM處理器內(nèi),然后對獲得的波形進(jìn)行分析,得出系統(tǒng)的波特率。其檢測速度快(小于200ms),檢測準(zhǔn)確(得出的波特率為一個精確值,而非范圍值),不向被測網(wǎng)絡(luò)發(fā)送數(shù)據(jù),并且成本很低,無須增加任何芯片。

  具體實現(xiàn)方法是:硬件方面,將隔離CAN接口的RX引腳接到ARM的定時器捕獲端口。在軟件方面,首先將RX引腳相鄰兩個上跳變和下跳變的間隔周期都記錄下來;其次將周期數(shù)據(jù)排序,數(shù)據(jù)應(yīng)呈階梯狀;然后將數(shù)據(jù)按階梯分段并求出每個階梯的中位數(shù),第一個階梯為1位數(shù)據(jù)的持續(xù)時間,第二個階梯為2位數(shù)據(jù)的持續(xù)時間……以此類推。由于CAN總線不會連續(xù)6位出現(xiàn)相同電平,因此階梯只有5階,且第二個數(shù)據(jù)等于第一個數(shù)據(jù)的2倍,第三個數(shù)據(jù)等于第一個數(shù)據(jù)的3倍,以此類推。根據(jù)這個特性可以校驗數(shù)據(jù)并調(diào)整最終獲得的1位數(shù)據(jù)的持續(xù)時間。最終的波特率即為1位持續(xù)時間的倒數(shù)。流程圖如圖4所示。

  

 

  圖4 波特率檢測流程圖


上一頁 1 2 下一頁

關(guān)鍵詞: ARM CAN USB

評論


相關(guān)推薦

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

關(guān)閉