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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM Cortex3的低功耗無源USB-CAN透明傳輸?shù)膶?shí)現(xiàn)

          基于ARM Cortex3的低功耗無源USB-CAN透明傳輸?shù)膶?shí)現(xiàn)

          作者: 時間:2018-09-06 來源:網(wǎng)絡(luò) 收藏

          摘要:為了建立良好的網(wǎng)絡(luò)通信人機(jī)界面,可以通過通信協(xié)議的轉(zhuǎn)換和數(shù)據(jù)的透明傳輸,使PC機(jī)通過USB接口接入CAN通信網(wǎng)絡(luò),成為網(wǎng)絡(luò)的一個通信節(jié)點(diǎn),方便對CAN通信網(wǎng)絡(luò)的監(jiān)控和管理。

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

          1 技術(shù)背景

          近年來,隨著工業(yè)場合自動化技術(shù)的不斷更新,工業(yè)現(xiàn)場的數(shù)據(jù)采集、數(shù)據(jù)傳輸、設(shè)備控制已經(jīng)成為電子工程師研究的重要課題。為了建立良好的通信人機(jī)界面,可以通過通信協(xié)議的轉(zhuǎn)換和數(shù)據(jù)的透明傳輸,使PC機(jī)通過USB接口接入CAN通信網(wǎng)絡(luò),成為CAN總線網(wǎng)絡(luò)的一個通信節(jié)點(diǎn),方便對CAN通信網(wǎng)絡(luò)的監(jiān)控和管理。本文介紹了基于ARM Cortex3的USB—CAN透明傳輸?shù)囊话闼悸泛蛙浻布O(shè)計方法。

          1.1 CAN總線協(xié)議

          CAN總線是一種現(xiàn)場總線協(xié)議,目前在國內(nèi)已經(jīng)得到了廣泛的應(yīng)用和深入的研究。與其他工業(yè)現(xiàn)場總線相比,CAN總線具有通信速率高、容易實(shí)現(xiàn)、且性價比高等諸多優(yōu)點(diǎn),目前已經(jīng)成為工業(yè)現(xiàn)場總線的一種重要標(biāo)準(zhǔn),在工業(yè)現(xiàn)場受到了廣泛的應(yīng)用,展現(xiàn)出強(qiáng)勁的市場競爭力。

          CAN總線協(xié)議具有完整的解決工業(yè)現(xiàn)場通信的技術(shù)手段,其在技術(shù)運(yùn)用中具有以下優(yōu)勢:

          (1)各類數(shù)據(jù)幀的建立方便,功能明晰。

          (2)同一網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)數(shù)多,能夠滿足絕大多數(shù)工業(yè)現(xiàn)場通信網(wǎng)絡(luò)對節(jié)點(diǎn)數(shù)量的需求。

          (3)成熟的節(jié)點(diǎn)標(biāo)識符機(jī)制及總線結(jié)構(gòu),可滿足在各節(jié)點(diǎn)之間實(shí)現(xiàn)自由通信。

          (4)信號的傳輸為差分方式,布線結(jié)構(gòu)簡單,成本低廉。

          (5)在保證傳輸速率的前提下具有較大的傳輸距離。

          (6)控制芯片完全商品化,可靠性高。芯片內(nèi)部集成了錯誤監(jiān)測機(jī)制和管理模塊,具有極強(qiáng)的抗干擾能力。

          1.2 USB通信協(xié)議

          USB的全稱為“”。是一個外部總線標(biāo)準(zhǔn),用于規(guī)范PC機(jī)與外部設(shè)備的連接和通訊。其最大的特點(diǎn)是支持設(shè)備的即插即用和熱插拔功能。USB版本經(jīng)歷了多年的發(fā)展,已經(jīng)發(fā)展為3.1版本,成為當(dāng)前PC機(jī)中的標(biāo)準(zhǔn)擴(kuò)展接口。

          USB總線的終端分為主機(jī)和設(shè)備。設(shè)備通過枚舉的方式與主機(jī)連接。USB支持四種基本的數(shù)據(jù)傳輸模式:控制傳輸,等時傳輸,中斷傳輸及數(shù)據(jù)塊傳輸。根據(jù)不同的用途,選擇不同的傳輸模式。根據(jù)工業(yè)場合CAN總線網(wǎng)絡(luò)中數(shù)據(jù)對象的特點(diǎn),本項(xiàng)目中的USB—CAN透明傳輸卡將采用中斷的方式進(jìn)行數(shù)據(jù)傳輸。

          2 系統(tǒng)開發(fā)概述

          2.1 本技術(shù)在CAN通信網(wǎng)絡(luò)中的運(yùn)用

          在CAN總線通信網(wǎng)絡(luò)中,各個通信節(jié)點(diǎn)通過總線的形式相連,USB—CAN透明傳輸卡的一端接入CAN總線,另外一端連接PC機(jī)。通過USB—CAN卡的透傳功能,PC機(jī)在CAN通信網(wǎng)絡(luò)中完全等同于一個普通的通信節(jié)點(diǎn),實(shí)現(xiàn)了對網(wǎng)絡(luò)的監(jiān)控和管理。

          2.2 開發(fā)需求概述

          本項(xiàng)目開發(fā)的上位機(jī)平臺是WINDOWS系統(tǒng)下的MDK開發(fā)編譯環(huán)境。硬件平臺為具有很強(qiáng)低功耗和處理能力的ARM Cortex3內(nèi)核LM3S5956微處理器。為方便通信測試,上位機(jī)需要安裝相關(guān)數(shù)據(jù)監(jiān)測軟件。

          3 硬件設(shè)計

          硬件結(jié)構(gòu)框圖如圖1所示,主要分為微處理器、接口及電源三部分。

          LM3S5956微處理器作為數(shù)據(jù)處理的核心部件,其功能就是將USB和CAN接口接收到的數(shù)據(jù)進(jìn)行直接轉(zhuǎn)發(fā),與其他處理器相比,該處理器內(nèi)置CAN控制器和USB控制器,引腳較少,在保證低功耗的前提下具有較強(qiáng)的數(shù)據(jù)處理能力。

          在接口方面,由于CAN總線物理層信號為差分的形式(CAN_H和CAN_L),所以需要增加CAN物理層芯片(CAN收發(fā)器)來進(jìn)行電平轉(zhuǎn)換,本項(xiàng)目所采用的CAN物理層芯片為TJA1040。USB總線為4芯,其中包含兩路信號線(USB-DP和USBDM)、+5 V電源和GND。

          USB—CAN透明傳輸卡的供電方式是本項(xiàng)目設(shè)計的關(guān)鍵環(huán)節(jié),PC機(jī)的USB總線中有兩路電源信號分別為+5 V和GND,通常可以提供的最大電流為500 mA,由于采用了低功耗微處理器和CAN收發(fā)器,500 mA的電流完全可以滿足USB—CAN透明傳輸卡的功耗需求,所以本項(xiàng)目通過從PC機(jī)的USB接口“取電”,達(dá)到了真正的“無源”方式,大大節(jié)省了USB-CAN透明傳輸卡的成本和體積,使用更加方便。由于LM3S5956微處理器采用3.3 V供電,所以只需要在電路設(shè)計中,增加一個5 V-3.3 V電源芯片即可。

          由于采用了內(nèi)置CAN控制器和USB控制器的低功耗ARM Cortex3微處理器和方便靈活的USB供電方式,整個USB—CAN透明傳輸卡的硬件非常小巧,在環(huán)境復(fù)雜的工業(yè)通信場合,具有很高的實(shí)用性。

          4 軟件設(shè)計

          4.1 CAN通信相關(guān)

          4.1.1 LM3S5956微處理器的CAN控制器

          LM3S5956微處理器內(nèi)置了CAN控制器模塊,該模塊支持CAN 2.0 A/B協(xié)議。支持包括具有11位標(biāo)識符(標(biāo)準(zhǔn)幀)或29位標(biāo)識符(擴(kuò)展幀)的數(shù)據(jù)幀、遠(yuǎn)程幀、錯誤幀以及超載幀的報文傳輸。傳輸速率可以通過編程配置,CAN模塊主要由3個部件組成:

          (1)CAN協(xié)議控制器和報文處理器

          (2)報文存儲器

          (3)CAN寄存器接口

          協(xié)議控制器從CAN總線傳輸和接收串行數(shù)據(jù),并將數(shù)據(jù)傳遞到報文處理器。接著,報文處理器根據(jù)當(dāng)前的濾波和報文對象存儲器中的標(biāo)識符,將該信息載入合適的報文對象。報文處理器還負(fù)責(zé)根據(jù)CAN總線上的事件來產(chǎn)生中斷。

          報文對象存儲器由32個相同的存儲塊組成,這些存儲塊保存了每個報文對象當(dāng)前的配置信息、狀態(tài)和實(shí)際數(shù)據(jù)??梢酝ㄟ^CAN報文對象寄存器接口來訪問報文對象存儲器。

          CAN報文對象寄存器接口提供了兩個寄存器組來與報文對象通信。由于不能直接訪問報文對象存儲器,所以必須使用這兩個接口來讀寫各個報文對象。當(dāng)多個對象包含需要處理的新信息時,這兩個報文對象接口允許并行訪問CAN控制器報文對象。

          為滿足CAN2.0的基本通信,需要進(jìn)行驅(qū)動程序和用戶應(yīng)用程序兩個層次的程序設(shè)計。驅(qū)動程序主要包括數(shù)據(jù)結(jié)構(gòu)的定義和API函數(shù)的設(shè)計。需要定義的數(shù)據(jù)結(jié)構(gòu)有時鐘配置結(jié)構(gòu)體和CAN消息對象結(jié)構(gòu)體。本項(xiàng)目中需要完成的API函數(shù)有:波特率配置函數(shù)、波特率配置信息獲取函數(shù)、CAN控制器使能函數(shù)、CAN控制器關(guān)閉函數(shù)、CAN控制器初始化函數(shù)、CAN中斷使能函數(shù)、CAN中斷關(guān)閉函數(shù)、CAN中斷標(biāo)志清除函數(shù)、CAN中斷狀態(tài)獲取函數(shù)、報文對象清除函數(shù)、讀取報文對象函數(shù)、配置報文對象函數(shù)。應(yīng)用程序主要包括CAN報文發(fā)送函數(shù)設(shè)計、CAN報文接收配置函數(shù)、CAN中斷服務(wù)函數(shù)設(shè)計。


          上一頁 1 2 下一頁

          評論


          相關(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); })();