《電子技術應用》
您所在的位置:首頁 > 可编程逻辑 > 业界动态 > MVB1类设备控制器的FPGA设计

MVB1类设备控制器的FPGA设计

2007-12-27
作者:MVB1类设备控制器的FPGA设

摘?要:以Xilinx公司的ISE為開發平臺,采用Xilinx Spartan2e XC2S200-5PQ2081芯片,實現了MVB1類設備控制器" title="設備控制器">設備控制器的功能,并搭建了測試模型,在Modelsim中仿真了其收/發幀及報文分析等功能,得到了符合IEC61375協議的幀波形。
關鍵詞:MVB控制器專用芯片? FPGA? MVB1類設備控制器

?

??? MVB(多功能車輛總線)控制器是MVB上的核心處理器,它獨立于物理層和功能設備,為在總線上的各個設備提供通訊接口和通訊服務。在MVB協議結構層次中,MVB控制器完成鏈路層的功能,依靠物理層發送和接收具有電氣特征的電信號,同時為網絡層提供過程數據(包括監視數據)、消息數據的變量接口。該接口采用TM(共享通訊存儲器)實現,即應用層的CPU和鏈路層的MVB控制器一致地訪問TM,即對端口中所有數據的讀和寫在一次不可分割的操作中完成[1-2]
  目前國外廠商壟斷著對MVB控制器芯片的制造,致使在國內購買MVB控制器芯片價格昂貴。用FPGA替代MVB控制器專用芯片,是一個很好的解決方案。FPGA作為一種可編程邏輯器件,可以完成數字集成電路的大多數功能,由于其內部有豐富的可編程資源,使模塊的修改、驗證、功能擴展都十分方便。應用FPGA還可以在內部實現與應用處理器的接口轉換,簡化外圍電路[3]。另外,FPGA低廉的價格也是其替代專用集成電路的一大優勢。
  在MVB中大量應用具有過程數據傳輸和設備狀態數據傳輸能力的1類設備。1類設備邏輯不支持CPU或微處理器的操作。它主要作為傳感器執行單元,只進行數據的采集和傳輸,不進行處理,因此可以單獨用FPGA和簡單外圍電子電路實現網絡傳輸和控制功能,不需要CPU[4~5]。在設計好MVB1類設備控制器的基礎上,可根據需要采用模塊復用技術把MVB1類設備控制器擴展為MVB2、3、4或5類設備控制器[6]
1 總體結構
  設計中采用自頂向下的方法。自頂向下的設計是從系統級開始,把系統劃分為若干個基本單元,然后再把每個單元劃分為下一層次的基本單元,直到可以直接用EDA元件庫中的基本元件實現為止。MVB1類設備控制器的頂層結構主要包括發送模塊" title="發送模塊">發送模塊、接收模塊" title="接收模塊">接收模塊和MVB1類模式控制模塊" title="控制模塊">控制模塊[7-8],如圖1所示。當MVB1類設備被16位主幀輪詢時,1類設備控制器先判斷該主幀的第11至4位是否與設備所配置的設備地址相同,如果相同則表明該設備被尋址,需響應從幀或接收其他從設備響應的從幀。

?

?


1.1 發送模塊
??? 發送模塊實現的功能是把MVB1類設備控制器從TM中提取的數據進行并串轉換,加上幀頭、起始位和CRC校驗后再經過曼徹斯特編碼發送到MVB上。
1.2 接收模塊
  接收模塊的功能主要有兩部分:譯碼,即對MVB1類設備控制器從MVB上檢測到的曼徹斯特碼進行解碼,串并轉換后存儲在緩沖區中;線路檢測,主要檢測線路上的各種錯誤(包括CRC校驗、幀長檢測、曼徹斯特碼違規等),并向MVB1類模式控制模塊提交錯誤報告。
1.3 MVB1類設備控制模塊
  MVB1類設備控制模塊包括報文超時單元、報文錯誤處理單元、主幀寄存器單元、TM控制單元" title="控制單元">控制單元和主控單元,如圖2所示。

?


1.3.1 報文超時單元
  在主幀結束后的一定時間,接收模塊沒有報告收到正確的從幀,本單元產生應答超時信號;接收模塊沒有報告接收到正確的主幀,本單元產生線路超時信號。
1.3.2 報文錯誤控制單元
  接收模塊報告收到正確主幀時,請求主幀寄存器單元向接收模塊發讀主幀命令,對錯誤主幀不處理。收到正確的從幀時,請求主控單元發存儲從幀命令,對錯誤從幀不處理。無應答超時下收到多個主幀,只應用最后一個。兩個主幀間有多個從幀,只對第一個從幀處理。
1.3.3 主幀寄存器單元
  當報文分析單元收到正確的主幀后產生讀取主幀rd_mf信號,通知接收模塊把緩沖區的主幀數據送入數據總線供本單元讀入到MFR(主幀寄存器)中;比較MFR與設備地址,如果相同則產生設備尋址信號device_sele送往主控單元,表示選中該設備以期進行下一步操作。
1.3.4 TM訪問控制單元
  TM訪問控制單元的功能包括:產生對TM的讀寫控制和片選信號;判斷f_code(主幀高四位),如果在0~4之間,表明該主幀是過程數據請求,如果為15,表明該主幀是設備狀態請求。當主幀是過程數據請求時,如果主幀的低四位在0~7之間,表明主幀訪問的是源端口(產生source信號),控制器從TM中提取從幀經發送模塊發送出去;如果是在8~15之間,表明主幀訪問的是宿端口(產生sink信號),控制器等待接收其他從設備發送的從幀數據。對端口15的寫操作將觸發同步信號strobe_n有效。當主幀是設備狀態請求時,由本單元內部產生設備狀態報文響應從幀數據,經發送模塊發送。狀態機如圖3所示。

?

?


  狀態機在IDLE狀態且read_mf信號有效時,跳轉到RECEIVE_MF狀態。此時若收到source信號,則跳轉到SEND_SF_READY狀態,準備發送從幀;如果收到sink信號,則跳轉到RECEIVE_SF_READY狀態,準備接收從幀。狀態機在SEND_SF_READY狀態,收到send_slave_frame信號,跳轉到SEND_SF,發送從幀。此時TM訪問控制單元實現兩種功能:f_code為0~4時對外部TM發出讀請求;f_code為15時,產生DSR_RD響應設備狀態請求。對TM的讀請求包括TMCS_N與TMRD_N,如圖4所示,當f_code為0~4之間時,TMCS有效,表示對外部TM中進行讀/寫操作。本單元定義了計數器counter用來產生讀請求TMRD_N,如圖4中當f_code為0010時,要從TM讀取4個word的從幀,計數器從此狀態初計數,計到1、3、5、7時TMRD_N為低電平。外部TM每接到一個TMRD_N信號,提取一個字的數據到數據總線。當計數器計到7時,已經從TM中提取了正確長度的從幀,狀態機跳轉到SEND_SF_OVER狀態,表示讀從幀結束。f_code為15時,counter計數到1產生低脈沖信號DSR_RD,同時產生設備狀態響應。TMRD_N有效時,本單元將向發送模塊發送receive_data信號,通知它準備接收數據總線上的數據。狀態機在RECEIVE_SF_READY狀態時,如果收到應答超時或者從幀錯誤信號,則跳回到IDLE狀態,準備重新接收下一主幀請求;如果收到save_slave_frame信號,則跳轉到RECEIVE_SF狀態準備接收從幀。狀態機在RECEIVE_SF時,TM訪問控制單元向外部TM發出寫請求。寫請求信號包括TMCS_N和TMWR_N信號,其時序圖如圖4所示。同樣,寫請求TMWR_N的產生與讀請求類似。當向TM中寫入正確長度的從幀數據時,狀態機跳轉到RECEIVE_SF_OVER狀態,表示寫從幀操作結束。當TMWR_N信號有效時,本單元向解碼模塊發送rd_sf信號,表示要從該模塊提取從幀到數據總線上。在SEND_SF_OVER或RECEIVE_SF_OVER狀態將直接跳回IDLE。

?


1.3.5 主控單元
  產生read_mf信號,作為TM訪問控制單元讀取主幀寄存器的使能信號。
??? 如果收到TM控制單元送來的source信號,則在本單元內產生send_slave_frame信號送往TM控制單元和發送模塊,通知TM控制單元從TM中提取數據到數據總線上,再由發送模塊提取數據到發送FIFO中以發送;如果收到TM控制單元送來的sink信號,并且報文錯誤,處理單元報告收到正確的從幀,在本單元內部將產生save_slave_frame信號送往TM控制單元,通知TM控制單元準備接收從幀并存儲到TM中。主控單元各個信號的產生時序圖如圖5所示。

?


1.4 總線復用器
  為了節省資源,在MVB1類設備控制器頂層模塊定義了總線復用器,用來實現各個模塊的總線共享。為了避免總線沖突,同一時刻只能有一個模塊向總線發送數據以供其他模塊接收,總線在空閑時呈高阻態。各個模塊訪問總線機制采用多路選擇器的方式,如圖6所示。

?


  當TMRD_N有效時,控制器從TM中提取的數據經存儲器輸出數據總線data_out_buffer_mem被輸入到控制器內部公共數據總線上,以供發送模塊接收。當DSR_RD信號有效時,由TM控制模塊產生16位從幀數據,經數據總線data_out_buffer_tmc發送到公共數據總線上供發送模塊接收。當rd_sf或rd_mf信號有效時,接收模塊FIFO中的數據經數據總線data_out_buffer_decoder被送至公共數據總線上以供TM或TM控制模塊接收。
2 測試
  MVB1類設備控制器的測試模型如圖7所示。測試MVB1類設備控制器的功能包括:測試是否能收到正確的主幀;收到正確主幀后,如果主幀是過程數據請求,并且訪問的是源端口,能否從TM提取數據發送到MVB上;如果訪問的是宿端口,能否正確接收其他從設備發送到MVB上的從幀,再發送到MVB總線上。為了進行有效測試,如圖7所示定義了可以調用發送主/從幀命令的測試模型mcu_model、提供發送主/從幀數據的模型tm_model及MVB1類設備外部TM模型。

?


  圖8、圖9為部分仿真波形。發送模塊1發送主幀0c50。由圖8可知,MVB1類設備控制器檢測到發送模塊1發送的主幀后,通過總線data_out_buffer_mem從外部TM中提取一個字長的數據到數據總線上經發送模塊2發送。由仿真圖可以看出TMCS_N及TMRD_N有效。

?


??? 發送模塊1發送主幀0c5f后再發送16 位從幀數據。由圖9可知控制器檢測到發送模塊1發送的主幀后,又收到16位的從幀數據,并通過總線data_in_buffer_mem把數據送到TM中。由于是對端口15的操作,由圖中可以看出TMCS_N、TMWR_N及同步信號strobe_n有效。
  本文在研究MVB的基礎上,用FPGA實現了MVB1類設備控制器的設計,具體描述了1類設備控制器各個模塊的功能及設計方法。經過仿真驗證,該1類設備控制器能夠成功收發幀數據,對報文進行分析,并且由于該1類設備控制器采用了自頂向下的設計原則,設計的各個子模塊功能相互獨立,因此易于擴展。當設計MVB2、3、4或5類設備控制器時,可以在本設計的基礎上采用模塊(發送模塊、接收模塊)復用的方法,從而有效地節省資源。經過實踐證明使用該設計比購買專用處理芯片MVB控制器大大節省了成本。
參考文獻
[1] ?ADTRANZ. Multifunction vehicle bus controller data sheet(Revision)[Z]. Switzerland: Adtranz.1997.
[2] ?IEC61357-1 Part 1. Train communication network[S],1999.
[3] ?蔡穎.MVB網絡接口單元的SOC解決方案.沿海企業與科技,2005,(4):139-140.
[4] ?JIMENEZ J, JOSE M. Comparison of two designs for the?multifunction vehicle bus IEEE transactions on computeraided design of integrated circuits and systems : accepted?for future publication. Volume PP,? Issue 99, 2005:1-1.
[5] ?王鋒.基于FPGA的MVB1類設備網卡的設計[J]. 機車電傳動,2004,(6):21-23.
[6] ?BONSEN, G A. The multifunction vehicle bus (MVB)?factory communication systems. 1995.WFCS ’95, Proceed-
?ings., 1995 IEEE International Workshop on 4-6 Oct.?1995 Page(s):27-34.
[7] ?JIMENEZ J, MARTIN J L, CUADRADO C et al. A topdown design for the train communication network industrial ?technology.2003 IEEE International Conference on Volume?2,10-12 Dec. 2003 Page(s):1000-1005.
[8] ?International electrotechnical commission, IEC 61375-3,Clause 3: Multifunction Vehicle Bus, 1999.

?

《電子技術應用》2007年第2期

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产av不卡一区二区| 国产日韩欧美在线播放| 色天天综合狠狠色| 日韩a∨精品日韩在线观看| 久久99精品视频一区97| 99在线热播| 国产精品视频网站| 久久久久久午夜| 一区中文字幕在线观看| 视频一区二区三区在线观看| 日本成人在线不卡| 国产中文字幕日韩| 精品午夜一区二区三区| 蜜桃av久久久亚洲精品| 国产日韩精品在线观看| 国产精品免费视频久久久| 99久久99久久精品国产片| 91国产丝袜在线放| 午夜免费日韩视频| 日韩精品欧美在线| 亚洲欧洲久久| 国产精品热视频| 日本视频一区二区不卡| 97久久国产亚洲精品超碰热| 无码日韩人妻精品久久蜜桃V| 国产日韩欧美影视| 日本一区二区黄色| 视频一区二区三区免费观看| 欧美一区二区三区免费视| 亚洲午夜精品一区二区三区| 日韩精品久久久| 国产精品美女久久久久av超清| 日韩av免费看网站| 国产精品美女www| 久久九九国产精品怡红院| 91精品国产91久久久久久不卡| 国产在线观看精品| 久久精品一区二区三区不卡免费视频| 色综合天天综合网国产成人网 | 久久精品ww人人做人人爽| 手机在线观看国产精品|