<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è) > 嵌入式系統 > 設計應用 > 基于CPLD/FPGA/MCU的CAN-VME總線(xiàn)轉換方案

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

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


2 轉換系統的軟件設計

2.1 軟件設計思路

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


2.2 FPGA的軟件設計

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

2.3 CAN節點(diǎn)軟件設計

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

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

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

2.4 MCU轉換程序設計

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


3 測試分析

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

本文引用地址:http://dyxdggzs.com/article/201612/330610.htm

4 結語(yǔ)

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


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

評論


技術(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>