<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 一種基于A(yíng)RM和智能手機的藍牙CAN分析儀設計

一種基于A(yíng)RM和智能手機的藍牙CAN分析儀設計

作者: 時(shí)間:2017-10-21 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/201710/367006.htm

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

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

  1 硬件設計

  1.1 總體設計

  針對傳統CAN分析儀的各種缺點(diǎn),本文提出了以智能手機代替PC機作為顯示終端,使用藍牙無(wú)線(xiàn)傳輸替代USB電纜傳輸,并且自帶鋰電池的新型CAN分析儀??傮w設計結構如圖1所示。

  

  圖1 藍牙CAN分析儀總體設計框圖

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

  1.2 主板設計

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

  隔離CAN接口模塊負責將ARM的數據發(fā)送到CAN總線(xiàn)上,并將CAN總線(xiàn)上的數據發(fā)送給ARM處理器。

  

  圖2 主板系統設計框圖

  

  圖3 主板買(mǎi)物圖

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

  藍牙串口模塊負責ARM與手機交換數據,其串口的通信速率達到1 382 400bps。電源模塊負責為各個(gè)模塊供電。

  2 軟件設計

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

  2.1 波特率自動(dòng)檢測軟件設計

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

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

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

  

  圖4 波特率檢測流程圖

  2.2 智能手機界面設計

  智能手機界面的設計采用Eclipse。Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴展開(kāi)發(fā)平臺,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構建開(kāi)發(fā)環(huán)境,并附帶了一個(gè)標準的插件集,包括Java開(kāi)發(fā)工具。手機運行界面如圖5、圖6所示。

  

  圖5 軟件運行界面

  

  3 實(shí)驗驗證

  為了驗證本藍牙CAN分析儀的設計效果,構建了1個(gè)包含以ARM為核心的主板、鋰電池、智能手機(安裝了安卓系統)、模擬被測系統的USB-CAN的測試系統,然后進(jìn)行實(shí)際測試。測試流程圖如圖7所示。

  

  圖7 實(shí)際測試流程圖

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

  

  圖8 實(shí)際測試系統圖

  4 結束語(yǔ)

  通過(guò)構建以NXP公司LPC2119為核心的處理器、智能手機為基礎的硬件系統、藍牙作為信息傳遞方式以及相應軟件設計,能夠實(shí)現CAN總線(xiàn)的波特率自動(dòng)檢測以及數據接收與發(fā)送,驗證了藍牙CAN分析儀的正確性。藍牙CAN分析儀的實(shí)現,其操作簡(jiǎn)單、攜帶容易、抗震性能好等特點(diǎn)將為CAN總線(xiàn)開(kāi)發(fā)工程師提供極大的便利;同時(shí)可以發(fā)現,進(jìn)一步加強軟件的設計與優(yōu)化,該分析儀還能提供對CAN總線(xiàn)更多更有價(jià)值的信息。



關(guān)鍵詞: 智能手機 ARM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>