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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CAN總線與以太網(wǎng)互連的嵌入式網(wǎng)關(guān)設(shè)計(jì)

          CAN總線與以太網(wǎng)互連的嵌入式網(wǎng)關(guān)設(shè)計(jì)

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

          2 通信模塊軟件設(shè)計(jì)

          2.1 SJA1000(圖3)



          圖3 RTL8019AS 的初始化流程圖

          SJA1000驅(qū)動(dòng)程序是由初始化、發(fā)送接收部分組成。

          2.1.1 初始化

          SJA1000在系統(tǒng)上電、硬件復(fù)位或主控制器發(fā)出復(fù)位命令后需要進(jìn)行初始化,CAN初始化子程序通過(guò)對(duì)CAN控制器中相應(yīng)的寄存器寫入配置控制字來(lái)確定CAN控制器的波特率、發(fā)送通道、接收通道、標(biāo)識(shí)符碼和標(biāo)識(shí)符屏蔽碼等相關(guān)信息。進(jìn)入初始化程序時(shí)必須初始化的寄存器有:通用控制寄存器CANGCON、位定時(shí)寄存器CANBT 143、以及15個(gè)報(bào)文對(duì)象郵箱中的報(bào)文對(duì)象控制寄存器CANc0NCH、報(bào)文對(duì)象狀態(tài)寄存器CANST CH、標(biāo)識(shí)符寄存器

          CANIDT1~4、標(biāo)識(shí)符屏蔽寄存器CANIDMl~4和報(bào)文數(shù)據(jù)寄存器CANMSG等。要注意的是,位定時(shí)寄存器CANBTI~3僅能在復(fù)位期間訪問(wèn),因此,在對(duì)這些寄存器初始化前,必須確保系統(tǒng)進(jìn)入復(fù)位狀態(tài)。

          2.1.2 發(fā)送與接收

          本設(shè)計(jì)采用中斷方式發(fā)送和接收數(shù)據(jù),SJA1000芯片有一個(gè)報(bào)文發(fā)送緩沖區(qū)和兩個(gè)報(bào)文接收緩沖區(qū)用于CAN報(bào)文傳送,接收子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的接收,在接收中斷處理程序中,先從接收緩沖區(qū)讀取要接收的報(bào)文,然后發(fā)送一個(gè)請(qǐng)求信號(hào)以啟動(dòng)協(xié)議轉(zhuǎn)換和發(fā)送。發(fā)送子程序負(fù)責(zé)將以太網(wǎng)傳輸過(guò)來(lái)的CAN 協(xié)議格式的數(shù)據(jù)發(fā)送到CAN 總線上,發(fā)送數(shù)據(jù)程序把數(shù)據(jù)存儲(chǔ)區(qū)中待發(fā)送的數(shù)據(jù)取出,組成信息幀送入發(fā)送緩沖區(qū),然后啟動(dòng)發(fā)送命令。

          2.2 RTL8019AS 驅(qū)動(dòng)

          RTL8019AS的驅(qū)動(dòng)程序包含三部分:初始化、接收數(shù)據(jù)、發(fā)送數(shù)據(jù)。

          RTL8019AS的初始化主要包括設(shè)置網(wǎng)卡的物理地址、設(shè)置相關(guān)工作模式的寄存器、接收緩沖區(qū)和發(fā)送緩沖區(qū)的各自起始地址以及大小、是否開(kāi)中斷等參數(shù)等,其流程圖見(jiàn)圖3所示。

          在本設(shè)計(jì)中RTL8019AS采用查詢方式接收和發(fā)送數(shù)據(jù)包,通過(guò)判斷對(duì)應(yīng)的標(biāo)志位來(lái)確定是否發(fā)送和接收新的數(shù)據(jù)包。在數(shù)據(jù)包的發(fā)送過(guò)程中,單片機(jī)只要通過(guò)遠(yuǎn)程DMA寫操作,將待發(fā)送的數(shù)據(jù)包寫至發(fā)送緩沖區(qū),并啟動(dòng)發(fā)送過(guò)程。在數(shù)據(jù)包的接收過(guò)程中,單片機(jī)只要通過(guò)遠(yuǎn)程DMA讀操作,從接收緩沖區(qū)讀取數(shù)據(jù)即可。

          3 結(jié)語(yǔ)

          本文提出了一種低成本、高可靠性、適用于工業(yè)控制現(xiàn)場(chǎng)的的CAN總線與以太網(wǎng)互連網(wǎng)關(guān)的實(shí)現(xiàn)方案,該網(wǎng)關(guān)可以與工業(yè)現(xiàn)場(chǎng)的儀器、儀表等設(shè)備相連接在一起,使工業(yè)現(xiàn)場(chǎng)的設(shè)備具有網(wǎng)絡(luò)通訊的能力,大大提高了設(shè)備的性價(jià)比,從而提供生產(chǎn)效率。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          技術(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); })();