基于ARM和智能手機(jī)的藍(lán)牙CAN分析儀解析
出處:eefocus 發(fā)布于:2018-02-02 14:06:47
針對(duì)CAN總線通信質(zhì)量、測(cè)試和驗(yàn)證的需要,以及傳統(tǒng)的復(fù)雜性,且必須選擇PC機(jī)作為顯示終端的不足,論證了一種基于單片機(jī)和的CAN總線分析儀設(shè)計(jì)。該分析儀采用以ARM單片機(jī)為的硬件電路完成對(duì)CAN網(wǎng)絡(luò)的實(shí)時(shí)數(shù)據(jù)收集和監(jiān)控;采用通信方式實(shí)現(xiàn)分析儀與智能手機(jī)的通信并以智能手機(jī)為終端完成數(shù)據(jù)分析。文章對(duì)分析儀硬件、軟件和智能手機(jī)頁(yè)面進(jìn)行了具體設(shè)計(jì),提出了一種新的波特率自動(dòng)檢測(cè)方法,給出了所設(shè)計(jì)的CAN總線分析儀的實(shí)際試驗(yàn)結(jié)果,可實(shí)現(xiàn)CAN總線波特率自動(dòng)檢測(cè)、正常監(jiān)測(cè)以及CAN總線狀態(tài)分析的功能。
CAN(controller area network)控制器局域網(wǎng)絡(luò)是一種實(shí)時(shí)性強(qiáng)、靈活性好、標(biāo)準(zhǔn)化程度高的串行數(shù)據(jù)總線,廣泛應(yīng)用于汽車電子、工業(yè)自動(dòng)化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等領(lǐng)域。其測(cè)試設(shè)備CAN網(wǎng)絡(luò)分析儀成為開(kāi)發(fā)者的必備設(shè)備。借助使用方便的CAN總線分析儀,能夠快速找到CAN總線系統(tǒng)在使用中出現(xiàn)的設(shè)計(jì)不周或異常干擾問(wèn)題,并將故障和問(wèn)題排除。
傳統(tǒng)CAN分析儀需要將電腦通過(guò)USB連接到CAN分析儀上,再通過(guò)DB9接口將被測(cè)總線連接到CAN分析儀上。由于CAN總線是一種流行于車輛行業(yè)的現(xiàn)場(chǎng)總線,這樣的調(diào)試方法對(duì)于需要路測(cè)的車輛就會(huì)顯得不太方便,很難保證能夠正常工作。同樣,在工業(yè)控制領(lǐng)域,傳統(tǒng)的CAN分析儀由于兩段都有連線,在線束較多的工業(yè)現(xiàn)場(chǎng)可能會(huì)造成一定的混亂。此外,當(dāng)今使用CAN總線的設(shè)備為了保證安全性,有時(shí)不止1根總線,傳統(tǒng)的分析儀至多有2個(gè)接口,也就意味著想要同時(shí)測(cè)試2個(gè)以上CAN總線時(shí)就需要2個(gè)USB接口,如果這2條CAN總線相距較遠(yuǎn)則需要較長(zhǎng)的USB連接線。為此,這里介紹一種成本低、體積小、結(jié)構(gòu)簡(jiǎn)單、實(shí)現(xiàn)無(wú)線調(diào)試和對(duì)環(huán)境要求低的藍(lán)牙CAN總線分析儀。
1 硬件設(shè)計(jì)
1.1 總體設(shè)計(jì)
針對(duì)傳統(tǒng)CAN分析儀的各種缺點(diǎn),本文提出了以智能手機(jī)代替PC機(jī)作為顯示終端,使用藍(lán)牙無(wú)線傳輸替代USB電纜傳輸,并且自帶鋰電池的新型CAN分析儀??傮w設(shè)計(jì)結(jié)構(gòu)如圖1所示。

圖1 藍(lán)牙CAN分析儀總體設(shè)計(jì)框圖
由于CAN分析儀是一種波特率較高的通信協(xié)議,且對(duì)通信質(zhì)量分析和故障定位需要復(fù)雜的運(yùn)算處理,所以本文提出的藍(lán)牙CAN分析儀在整體設(shè)計(jì)中包含3個(gè)部分:一部分是以ARM為處理的處理主板,負(fù)責(zé)CAN總線波特率檢測(cè)、數(shù)據(jù)采集以及藍(lán)牙通信信號(hào)發(fā)射;第二部分是鋰電池,負(fù)責(zé)給主板提供,鋰電池為5V,容量為3 000mAh,尺寸為11.6mm X42mm×69ram,可保證系統(tǒng)工作lOh以上;第三部分為智能手機(jī),負(fù)責(zé)接收CAN總線數(shù)據(jù)以及對(duì)數(shù)據(jù)的處理。
1.2 主板設(shè)計(jì)
主板上有4個(gè)模塊,分別為隔離CAN接口模塊、ARM處理器模塊、藍(lán)牙串口模塊、電源電路模塊。設(shè)計(jì)框圖如圖2所示,實(shí)物圖如圖3所示。
隔離CAN接口模塊負(fù)責(zé)將ARM的數(shù)據(jù)發(fā)送到CAN總線上,并將CAN總線上的數(shù)據(jù)發(fā)送給ARM處理器。

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

圖3 主板買物圖
ARM處理器模塊是本分析儀的,采用NXP公司的LPC2119處理器。LPC2119是基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的16/32位ARM7TDMI-STM CPU,帶有128KB嵌入高速Flash存儲(chǔ)器,并內(nèi)部集成2個(gè)CAN控制器。其主要特點(diǎn)是:?jiǎn)蝹€(gè)總線上的數(shù)據(jù)傳輸速率高達(dá)1MB/s;32位寄存器和RAM訪問(wèn);兼容CAN2.0B,IS011898.1規(guī)范;全局驗(yàn)收濾波器可以識(shí)別所有的11位和29位標(biāo)識(shí)符;驗(yàn)收濾波器為選擇的標(biāo)準(zhǔn)標(biāo)識(shí)符提供Full CAN-style自動(dòng)接收。它主要負(fù)責(zé)將CAN總線上的數(shù)據(jù)進(jìn)行處理,然后通過(guò)藍(lán)牙串口發(fā)送到手機(jī),此外,ARM模塊還負(fù)責(zé)檢測(cè)未知CAN總線上的波特率,并發(fā)送給手機(jī)端。
藍(lán)牙串口模塊負(fù)責(zé)ARM與手機(jī)交換數(shù)據(jù),其串口的通信速率達(dá)到1 382 400bps。電源模塊負(fù)責(zé)為各個(gè)模塊供電。
2 軟件設(shè)計(jì)
軟件是藍(lán)牙CAN分析儀的關(guān)鍵。根據(jù)硬件系統(tǒng)結(jié)構(gòu),軟件包括兩個(gè)部分,即運(yùn)行于ARM處理器的波特率檢測(cè)以及數(shù)據(jù)傳輸軟件;運(yùn)行在智能手機(jī)上的CAN分析儀操作界面。對(duì)于運(yùn)行在ARM處理中的軟件,本文著重介紹一種新型的波特率自動(dòng)檢測(cè)方法。
2.1 波特率自動(dòng)檢測(cè)軟件設(shè)計(jì)
實(shí)現(xiàn)CAN總線和CAN分析儀之間的通信,需有相同的波特率,因而波特率的檢測(cè)十分重要。當(dāng)下主流的波特率檢測(cè)方法是利用應(yīng)答機(jī)制建立的波特率檢測(cè)方法。其開(kāi)始時(shí)通過(guò)試聽(tīng)一些推薦的CAN總線優(yōu)選波特率,即1Mbit/s,800kbit/s,500kbit/s,250kbit/s,125kbit/s,(100kbit/s),50kbit/s,20kbit/s,10kbit/sHl:若能無(wú)故障地接受到完整的CAN消息,說(shuō)明波特率檢測(cè)成功;如果CAN總線的波特率不是優(yōu)選波特率,則可以通過(guò)主機(jī)和CAN總線的應(yīng)答來(lái)測(cè)定波特率。此種檢測(cè)方法速度慢,存在一定誤差且對(duì)被測(cè)網(wǎng)絡(luò)有一定影響。
針對(duì)采用應(yīng)答機(jī)制設(shè)定的波特率檢測(cè)方法的缺點(diǎn),本文提出了一種新的自動(dòng)波特率檢測(cè)方法。本自動(dòng)波特率檢測(cè)系統(tǒng)巧妙地利用了ARM處理器的中斷端口,將CAN總線上的波形記錄到ARM處理器內(nèi),然后對(duì)獲得的波形進(jìn)行分析,得出系統(tǒng)的波特率。其檢測(cè)速度快(小于200ms),檢測(cè)準(zhǔn)確(得出的波特率為一個(gè)值,而非范圍值),不向被測(cè)網(wǎng)絡(luò)發(fā)送數(shù)據(jù),并且成本很低,無(wú)須增加任何芯片。
具體實(shí)現(xiàn)方法是:硬件方面,將隔離CAN接口的RX引腳接到ARM的定時(shí)器捕獲端口。在軟件方面,首先將RX引腳相鄰兩個(gè)上跳變和下跳變的間隔周期都記錄下來(lái);其次將周期數(shù)據(jù)排序,數(shù)據(jù)應(yīng)呈階梯狀;然后將數(shù)據(jù)按階梯分段并求出每個(gè)階梯的中位數(shù),個(gè)階梯為1位數(shù)據(jù)的持續(xù)時(shí)間,第二個(gè)階梯為2位數(shù)據(jù)的持續(xù)時(shí)間……以此類推。由于CAN總線不會(huì)連續(xù)6位出現(xiàn)相同電平,因此階梯只有5階,且第二個(gè)數(shù)據(jù)等于個(gè)數(shù)據(jù)的2倍,第三個(gè)數(shù)據(jù)等于個(gè)數(shù)據(jù)的3倍,以此類推。根據(jù)這個(gè)特性可以校驗(yàn)數(shù)據(jù)并調(diào)整終獲得的1位數(shù)據(jù)的持續(xù)時(shí)間。終的波特率即為1位持續(xù)時(shí)間的倒數(shù)。流程圖如圖4所示。

圖4 波特率檢測(cè)流程圖
2.2 智能手機(jī)界面設(shè)計(jì)
智能手機(jī)界面的設(shè)計(jì)采用Eclipse.Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái),它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境,并附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具。手機(jī)運(yùn)行界面如圖5、圖6所示。
圖5 軟件運(yùn)行界面
3 實(shí)驗(yàn)驗(yàn)證
為了驗(yàn)證本藍(lán)牙分析儀的設(shè)計(jì)效果,構(gòu)建了1個(gè)包含以ARM為的主板、鋰電池、智能手機(jī)(安裝了安卓系統(tǒng))、模擬被測(cè)系統(tǒng)的USB-CAN的測(cè)試系統(tǒng),然后進(jìn)行實(shí)際測(cè)試。測(cè)試流程圖如圖7所示。

圖7 實(shí)際測(cè)試流程圖
實(shí)際測(cè)試系統(tǒng)如圖8所示。實(shí)際測(cè)試顯示,在模擬CAN總線上只要有數(shù)據(jù)的流通,針對(duì)不同的CAN總線的波特率設(shè)置,本文設(shè)計(jì)的藍(lán)牙CAN分析儀能夠準(zhǔn)確、快速地自動(dòng)檢測(cè)波特率且能實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送。

圖8 實(shí)際測(cè)試系統(tǒng)圖
4 結(jié)束語(yǔ)
通過(guò)構(gòu)建以NXP公司LPC2119為的處理器、智能手機(jī)為基礎(chǔ)的硬件系統(tǒng)、藍(lán)牙作為信息傳遞方式以及相應(yīng)軟件設(shè)計(jì),能夠?qū)崿F(xiàn)CAN總線的波特率自動(dòng)檢測(cè)以及數(shù)據(jù)接收與發(fā)送,驗(yàn)證了藍(lán)牙CAN分析儀的正確性。藍(lán)牙CAN分析儀的實(shí)現(xiàn),其操作簡(jiǎn)單、攜帶容易、抗震性能好等特點(diǎn)將為CAN總線開(kāi)發(fā)工程師提供極大的便利;同時(shí)可以發(fā)現(xiàn),進(jìn)一步加強(qiáng)軟件的設(shè)計(jì)與優(yōu)化,該分析儀還能提供對(duì)CAN總線更多更有價(jià)值的信息。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- USB-C接口全解析:協(xié)議兼容、快充原理與常見(jiàn)問(wèn)題排查2025/12/16 9:50:42
- 簡(jiǎn)述計(jì)算機(jī)總線的分類2025/9/4 17:12:23
- 深度剖析三進(jìn)線兩母聯(lián)供電系統(tǒng)設(shè)計(jì)方案2025/9/3 10:37:39
- 匯流排是什么匯流排好還是線接好2025/8/28 17:13:00
- 安森美 USB - C 電池充電器解決方案2025/8/28 15:45:10
- PCB電源完整性(PI)設(shè)計(jì)核心實(shí)操規(guī)范
- 多層PCB疊層設(shè)計(jì)核心實(shí)操規(guī)范
- 提高M(jìn)OSFET效率的電路優(yōu)化方法
- 電源管理IC在智能家居中的應(yīng)用
- 差分信號(hào)連接器設(shè)計(jì)要點(diǎn)
- PCB焊盤與過(guò)孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析









