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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CPLD/FPGA/MCU的CAN-VME總線轉(zhuǎn)換方案

          基于CPLD/FPGA/MCU的CAN-VME總線轉(zhuǎn)換方案

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


          2 轉(zhuǎn)換系統(tǒng)的軟件設(shè)計(jì)

          2.1 軟件設(shè)計(jì)思路

          由FPGA構(gòu)建8個(gè)雙口RAM,8路CAN控制器通過(guò)這8個(gè)雙口RAM與上位VME總線主機(jī)進(jìn)行數(shù)據(jù)通信,RAM口分別映射到VME總線主機(jī)內(nèi)存地址和MCU存儲(chǔ)器空間中。系統(tǒng)數(shù)據(jù)傳輸采用MCU中斷主機(jī)(VME主機(jī))和主機(jī)中斷MCU兩種方式,前者通過(guò)觸發(fā)主機(jī)外部中斷實(shí)現(xiàn),由雙口RAM里面的中斷控制來(lái)決定的,在觸發(fā)中斷后,提示主機(jī)讀取CAN控制器接收到的數(shù)據(jù)以及CAN控制器的工作狀態(tài)。主機(jī)中斷MCU方式是通過(guò)MCU的外部中斷管腳實(shí)現(xiàn)的,是由主機(jī)寫入雙口RAM的控制字實(shí)現(xiàn)的。觸發(fā)該中斷后,MCU就從主機(jī)接收要發(fā)送的報(bào)文,并發(fā)送到相應(yīng)的CAN節(jié)點(diǎn)上,并配合主機(jī)配置CAN控制器的控制模式。中斷流程如圖4,圖5所示。


          2.2 FPGA的軟件設(shè)計(jì)

          在該系統(tǒng)中,數(shù)據(jù)都由VME主機(jī)控制,所以FPGA構(gòu)造雙口RAM(或者8個(gè)區(qū)域即可),使VME主機(jī)和MCU在RAM中完成數(shù)據(jù)傳輸。即主機(jī)要發(fā)送的數(shù)據(jù)放入RAM中等待MCU提取,同時(shí)MCU發(fā)送的數(shù)據(jù)放入RAM中等待VME主機(jī)提取。

          2.3 CAN節(jié)點(diǎn)軟件設(shè)計(jì)

          CAN節(jié)點(diǎn)軟件是本系統(tǒng)的重點(diǎn),它包括CAN控制器初始化、報(bào)文發(fā)送和報(bào)文接收3個(gè)部分。

          初始化主要完成設(shè)置工作方式、接收方式、屏蔽寄存器、驗(yàn)收代碼寄存器、波特率和中斷寄存器,并且要在復(fù)位模式下進(jìn)行初始化。初始化流程如圖6所示。

          報(bào)文發(fā)送就是將代發(fā)的數(shù)據(jù)按照CAN總線協(xié)議的數(shù)據(jù)格式,組成一幀一幀的報(bào)文,送入SJA1000的發(fā)送緩沖區(qū),觸發(fā)SJA1000發(fā)送即可;報(bào)文接收同理。

          2.4 MCU轉(zhuǎn)換程序設(shè)計(jì)

          微控制器程序設(shè)計(jì)的主要目的是以最快的速度響應(yīng)中斷請(qǐng)求,完成兩種總線數(shù)據(jù)的轉(zhuǎn)換和傳輸。編程時(shí)采用模塊化思想,每個(gè)模塊完成一定的功能。編程采用Keil公司的Keil μVision3編程工具,設(shè)計(jì)分為:初始化系統(tǒng)、使能中斷、查詢總線,隨時(shí)準(zhǔn)備響應(yīng)MCU中斷主機(jī)(VME主機(jī))和主機(jī)中斷MCU兩種中斷觸發(fā),并且完成VME總線和CAN總線之間的重組和交換,及時(shí)將轉(zhuǎn)換后的信息相應(yīng)地傳送給VME主機(jī)或者發(fā)送到CAN節(jié)點(diǎn)上。流程如圖7所示。


          3 測(cè)試分析

          測(cè)試過(guò)程由VME總線端和CAN總線端互相發(fā)送數(shù)據(jù)包。其中,測(cè)試了5組由VME總線發(fā)送到CAN總線的數(shù)據(jù)包;5組由CAN總線發(fā)送到VME總線的數(shù)據(jù)包,記錄如表1所示。由表1測(cè)試結(jié)果所示,該系統(tǒng)中CAN總線節(jié)點(diǎn)都設(shè)置在1 Mb/s的速率下,系統(tǒng)可以準(zhǔn)確地接受和發(fā)送數(shù)據(jù)包。系統(tǒng)正確率之所以會(huì)隨通信速度的提高而提高,主要原因在于系統(tǒng)在不同的通信速度時(shí),數(shù)據(jù)包發(fā)送頻率、發(fā)送的最小延時(shí)間隔都不相同。如果需要進(jìn)一步的提升數(shù)據(jù)發(fā)送的正確率,需要系統(tǒng)在硬件設(shè)計(jì)和PCB板制作上分別努力,才能保證盡可能小的干擾,盡可能大的提高系統(tǒng)的穩(wěn)定性和抗干擾性。

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

          4 結(jié)語(yǔ)

          該系統(tǒng)充分利用了VME總線和CAN總線的優(yōu)點(diǎn),在FPGA和MCU的基礎(chǔ)上實(shí)現(xiàn)相應(yīng)的電路的連接和軟件的設(shè)計(jì),成功地完成兩種不同總線之間的轉(zhuǎn)換,擴(kuò)展了兩種總線的應(yīng)用范圍。


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

          關(guān)鍵詞: VME總線CAN總線FPG

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