基于FPGA的VME總線和CAN總線之間的傳輸轉換方案設計_第1頁
基于FPGA的VME總線和CAN總線之間的傳輸轉換方案設計_第2頁
基于FPGA的VME總線和CAN總線之間的傳輸轉換方案設計_第3頁
基于FPGA的VME總線和CAN總線之間的傳輸轉換方案設計_第4頁
基于FPGA的VME總線和CAN總線之間的傳輸轉換方案設計_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于FPGA的VME總線和CAN總線之間的傳輸轉換方案設計為了擴展VME總線和CAN總線的應用范圍,充分利用兩種總線的不同傳輸特點,采用了模塊設計方法,提出一種基于FPGA和MCU的總線轉換方案。該方案給出了FPGA與上位VME總線部分的VME總線接口設計,利用MCU控制CPLD擴展的多通道CAN節(jié)點完成CAN總線部分的設計,還給出軟件實現(xiàn)上的重點、難點和流程。實現(xiàn)了兩種不同總線的轉換,滿足了工業(yè)環(huán)境對兩種總線混合使用的要求。CAN(ControllerAreaNetwork控制器局域網(wǎng))以其高性能、高可靠性以及獨特的設計等優(yōu)點,為分布式控制系統(tǒng)實現(xiàn)各節(jié)點之間實時、可靠的數(shù)據(jù)通信提供了強有力的支持。CAN總線突出的可靠性、實時性和靈活性顯示了它突出的優(yōu)勢,成為公認的最有前途的總線標準,廣泛地應用于工業(yè)自動化、船舶、醫(yī)療設備、工業(yè)設備等方面。VME(VersaModuleEurocard)是一種通用的計算機總線,結合了Motorola公司Versa總線的電氣標準和在歐洲建立的Eurocard標準的機械形狀因子,是一種開放式架構。其獨特的緊密耦合(Closelycoupled)硬件構架,為其外圍系統(tǒng)模塊的設計提供了良好的基礎,使VME總線廣泛地應用于工業(yè)控制、軍用系統(tǒng)、航空航天、交通運輸和醫(yī)療領域。本文提出了基于FPGA的VME總線和CAN總線之間的傳輸轉換方案,滿足一些特殊工業(yè)環(huán)境的需要,具有一定的研究意義和實用價值。1轉換系統(tǒng)的硬件設計該系統(tǒng)由VME總線接口模塊、CAN總線節(jié)點(8路CAN節(jié)點)模塊、復雜可編程邏輯器模塊、MCU模塊4部分核心模塊構成。整個系統(tǒng)在一個3U標準的VME板卡上實現(xiàn),機構緊湊,布局合理。系統(tǒng)的原理框圖如圖1所示。1.1VME總線接口模塊整個系統(tǒng)實現(xiàn)是兩種通信之間的轉換,所以數(shù)據(jù)的發(fā)送都是由上位主機發(fā)送的。由于FPGA控制靈活,所以很方便實現(xiàn)與VME總線的連接。文中FPGA器件選用XILINX公司的XC2S200系列的5PQ208,56Kb專用存儲器,最高運行速度200MHz,I/O電壓在3.3~5.5V,地址總線、數(shù)據(jù)總線,/AS,/IACKIN,/IACKOUT,SYSCLK等可以直接與5PQ208連接。1.2CAN總線節(jié)點模塊CAN總線節(jié)點模塊是該系統(tǒng)中的主要模塊,選用Philips公司生產的SJA1000,它負責連接總線與8路CAN選通主控制器CPLD之間的數(shù)據(jù)通信,其整個系統(tǒng)功能如圖2所示。收發(fā)器選用P82C251T。CAN接口原理如圖3所示。1.3復雜可編程邏輯器件(CPLD)模塊在系統(tǒng)中,由于FPGA的地址總線和數(shù)據(jù)總線是分開的,而SJA1000的地址和數(shù)據(jù)線是分時復用的,所以在總線接口上有一定差異,因此選用MAX3000系列可編程邏輯器件EPM3128來進行邏輯變換。該CPLD芯片有豐富的宏單元,80個用戶I/O管腳,管腳間延遲時間是10ns,最高速度可達100MHz,能夠滿足系統(tǒng)設計的需要??删幊踢壿嬈骷谙到y(tǒng)中的功能為:轉換FPGA與CAN控制器SJA1000之間的地址總線和數(shù)據(jù)總線;通過對FPGA的地址線譯碼,擴展CAN控制節(jié)點的通道。1.4MCU處理器由于CAN總線的最高傳輸速度是1Mb/s,所以該部分選取宏晶STC12C5A60S2,F(xiàn)LASH程序存儲器為56KB。SRAM為1280B,2個專用的UATR,豐富的CPU資源滿足作為下位機的CPU控制單元,主要完成兩種總線協(xié)議的轉換,負責將從FPGA過來的VME總線轉換成CAN總線格式,并傳輸?shù)街付–AN節(jié)點;同時也將CPLD選通的CAN通道數(shù)據(jù),轉換為FPGA能識別的VME總線格式,并在MCU中斷主機時,將數(shù)據(jù)反饋給VME主機。2轉換系統(tǒng)的軟件設計2.1軟件設計思路由FPGA構建8個雙口RAM,8路CAN控制器通過這8個雙口RAM與上位VME總線主機進行數(shù)據(jù)通信,RAM口分別映射到VME總線主機內存地址和MCU存儲器空間中。系統(tǒng)數(shù)據(jù)傳輸采用MCU中斷主機(VME主機)和主機中斷MCU兩種方式,前者通過觸發(fā)主機外部中斷實現(xiàn),由雙口RAM里面的中斷控制來決定的,在觸發(fā)中斷后,提示主機讀取CAN控制器接收到的數(shù)據(jù)以及CAN控制器的工作狀態(tài)。主機中斷MCU方式是通過MCU的外部中斷管腳實現(xiàn)的,是由主機寫入雙口RAM的控制字實現(xiàn)的。觸發(fā)該中斷后,MCU就從主機接收要發(fā)送的報文,并發(fā)送到相應的CAN節(jié)點上,并配合主機配置CAN控制器的控制模式。中斷流程如圖4,圖5所示。2.2FPGA的軟件設計在該系統(tǒng)中,數(shù)據(jù)都由VME主機控制,所以FPGA構造雙口RAM(或者8個區(qū)域即可),使VME主機和MCU在RAM中完成數(shù)據(jù)傳輸。即主機要發(fā)送的數(shù)據(jù)放入RAM中等待MCU提取,同時MCU發(fā)送的數(shù)據(jù)放入RAM中等待VME主機提取。2.3CAN節(jié)點軟件設計CAN節(jié)點軟件是本系統(tǒng)的重點,它包括CAN控制器初始化、報文發(fā)送和報文接收3個部分。初始化主要完成設置工作方式、接收方式、屏蔽寄存器、驗收代碼寄存器、波特率和中斷寄存器,并且要在復位模式下進行初始化。初始化流程如圖6所示。報文發(fā)送就是將代發(fā)的數(shù)據(jù)按照CAN總線協(xié)議的數(shù)據(jù)格式,組成一幀一幀的報文,送入SJA1000的發(fā)送緩沖區(qū),觸發(fā)SJA1000發(fā)送即可;報文接收同理。2.4MCU轉換程序設計微控制器程序設計的主要目的是以最快的速度響應中斷請求,完成兩種總線數(shù)據(jù)的轉換和傳輸。編程時采用模塊化思想,每個模塊完成一定的功能。編程采用Keil公司的KeilμVision3編程工具,設計分為:初始化系統(tǒng)、使能中斷、查詢總線,隨時準備響應MCU中斷主機(VME主機)和主機中斷MCU兩種中斷觸發(fā),并且完成VME總線和CAN總線之間的重組和交換,及時將轉換后的信息相應地傳送給VME主機或者發(fā)送到CAN節(jié)點上。流程如圖7所示。3測試分析測試過程由VME總線端和CAN總線端互相發(fā)送數(shù)據(jù)包。其中,測試了5組由VME總線發(fā)送到CAN總線的數(shù)據(jù)包;5組由CAN總線發(fā)送到VME總線的數(shù)據(jù)包,記錄如表1所示。由表1測試結果所示,該系統(tǒng)中CAN總線節(jié)點都設置在1Mb/s的速率下,系統(tǒng)可以準確地接受和發(fā)送數(shù)據(jù)包。系統(tǒng)正確率之所以會隨通信速度的提高而提高,主要原因在于系統(tǒng)在不同的通信速度時,數(shù)據(jù)包發(fā)送頻率、發(fā)送的最小延時間隔都不相同。如果需要進一步的提升數(shù)據(jù)發(fā)送的正確率,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論