本發明涉及一種多功能車輛總線控制器MVBC(Multifunction Vehicle Bus Controller,MVBC)多接口轉換器設計方法,特別是一種基于FPGA的具有自適應能力的MVBC多接口轉換器,可用于解決多功能車輛總線網絡系統中由于各MVBC接口單一而需要外擴接口轉換或網關而引起的應用局限以及高成本的問題,為多功能車輛總線網絡的廣泛應用提供解決方案。
背景技術:
多功能車輛總線控制器MVBC作為MVB總線上的核心通信單元,通過接口與列車其它設備通信并接入列車通信網絡,并通過MVB進行相關數據通信。MVBC控制器根據配置可作為MVB網絡1類、2類、3類、4類或5類設備,可具有過程數據、消息數據、用戶可編程、總線管理以及網關等功能。
無論是國外如西門子、龐巴迪、杜根還是國內如大連海天等國內外列車通信網絡廠商,其MVBC控制器接口簡單,只提供串口、USB、PC104或以太網中的一種或兩種,這樣導致當與其它不同接口設備連接時,需要額外的接口轉換器。而現有的MVBC接口轉換器存在如下問題:接口轉換類型單一,如只能從串口轉換到USB口,或USB口轉換到PC104等。因此,導致其應用受限,也就是說對應不同接口的設備需要不同的接口轉換器,通用性差。
技術實現要素:
本發明所要解決的技術問題是針對現有接口轉換器因接口單一而存在的問題,提供一種基于FPGA的接口自適應的MVBC接口轉換器,使MVBC具有串口、RS-485、USB、PC104以及以太網的接口能力,以提高MVBC的適用性,實現與列車其它設備的通用連接。
本發明提供一種基于FPGA的自適應MVBC接口轉換器,包括:FPGA模塊、MVBC模塊、串行接口模塊、USB接口模塊、PC104接口模塊和以太網接口模塊。其中MVBC模塊通過FPGA模塊可分別和串行接口模塊、USB接口模塊、PC104接口模塊以及以太網接口模塊進行通信。其總體結構框圖如圖1所示。
所述的FPGA模塊為自適應MVBC接口轉換器的主控模塊,其主要芯片為ALTERA公司的FPGA EP4CE6F17C8。通過FPGA模塊,既可以采用撥碼開關來手動選擇MVBC與串行接口模塊、USB接口模塊、PC104接口模塊和以太網接口模塊中某一模塊進行連接,也可以監視串行接口模塊、USB接口模塊、PC104接口模塊和以太網接口模塊的數據流,自動實現MVBC模塊與串行接口模塊、USB接口模塊、PC104接口模塊和以太網接口模塊中某一模塊進行連接。此外,FPGA模塊包含晶振和復位電路,為FPGA模塊提供時鐘和復位信號。而且,FPGA模塊驅動LED狀態顯示電路,分別提供電源指示、工作指示、串口連接指示、USB連接指示、PC104連接指示和以太網連接指示。
所述的MVBC模塊為自適應MVBC接口轉換器的MVB網絡接入模塊,采用杜根的D013 MVB控制器。通過該模塊自適應MVBC接口轉換器可以接入MVB網絡,實現與MVB網絡中其它設備之間的通信。為實現該模塊和FPGA模塊之間的接口為SPI,并將MVB網絡數據通過SPI傳輸至FPGA模塊,配置該模塊的MODE2和MODE1引腳為“高”和“低”電平,即邏輯“1”和“0”。此外,為了實現該模塊的電氣中距離傳輸(也即是說傳輸距離不大于200米),模塊的MODE0引腳應該配置為“高”電平,即邏輯“1”。而且,為了使該模塊在上電/掉電或其它低電壓情況下能恢復正常工作,通過FPGA模塊向該模塊的/RES引腳提供復位信號。
所述的串行接口模塊為自適應MVBC接口轉換器的串口接入模塊,其主要芯片為Maxim公司的MAX3232CAE。通過該模塊自適應MVBC接口轉換器與RS-232接口,實現MVBC與其它串口設備之間的通信。該模塊通過T1IN引腳和R1OUT引腳與FPGA模塊連接,T1IN引腳上拉,保持輸入引腳穩定狀態。
所述的USB接口模塊為自適應MVBC接口轉換器的USB接入模塊,其主要芯片為Maxim公司的MAX3420E。通過該模塊自適應MVBC接口轉換器可以與USB接口,實現MVBC與其它U口設備之間的通信。該模塊通過SPI接口與FPGA模塊連接,并通過中斷INT引腳與FPGA模塊連接通知USB發生的事件。此外,為了使該模塊在上電/掉電或其它異常情況下能恢復正常工作,通過FPGA模塊向該模塊/RES引腳提供復位信號。
所述的PC104接口模塊為自適應MVBC接口轉換器的PC104總線接入模塊,其主要芯片為TI公司的總線收發器SN74LVCC4245和總線開關SN74CBTD16210。通過該模塊自適應MVBC接口轉換器與PC104總線接口,實現MVBC與其它PC104總線設備之間的通信。該模塊的地址線、數據線、控制線、時鐘線分別與FPGA模塊連接。
所述的以太網接口模塊為自適應MVBC接口轉換器的以太網接入模塊,其主要芯片為TI公司的DP83846A。通過該模塊,自適應MVBC接口轉換器可以接入因特網,實現MVBC與因特網中其它設備之間的通信。
由以上敘述可見本發明一種基于FPGA的自適應MVBC接口轉換器具有MVBC接口、串行接口、USB接口、PC104接口以及以太網接口,在FPGA模塊的邏輯控制下,實現MVBC接口與串行接口、USB接口、PC104接口以及以太網接口之間的轉換,也就是說,可以實現MVBC與串口、USB接口、PC104總線以及以太網之間的通信,且既可以通過撥碼開關的形式進行手動選擇MVBC與串口、USB接口、PC104總線以及以太網中某一接口連接,也可自動選擇MVBC與串口、USB接口、PC104總線以及以太網中某一接口連接,從而使MVBC具有串口、RS-485、USB、PC104以及以太網的接口能力,提高MVBC的適用性,實現與列車其它設備的通用連接。
附圖說明
圖1為本發明的總體結構示意圖;
圖2為本發明的FPGA模塊電路原理示意圖;
圖3為本發明的MVBC模塊電路原理示意圖;
圖4為本發明的串行接口模塊電路原理示意圖;
圖5為本發明的USB接口模塊電路原理示意圖;
圖6為本發明的PC104接口模塊電路原理示意圖;
圖7為本發明的以太網接口模塊電路原理示意圖;
圖8為本發明的邏輯控制流程示意圖。
具體實施方式
下面結合附圖對本發明作進一步的詳細說明,如圖1所示,一種基于FPGA的自適應MVBC接口轉換器包括FPGA模塊、MVBC模塊、串行接口模塊、USB接口模塊、PC104接口模塊和以太網接口模塊。MVBC模塊、串行接口模塊、USB接口模塊、PC104接口模塊和以太網接口模塊分別和FPGA模塊連接,在FPGA模塊的邏輯控制下,實現MVBC接口與串行接口、USB接口、PC104接口以及以太網接口之間的轉換,也就是說,可以實現MVBC與串口、USB接口、PC104總線以及以太網之間的通信,且既可以通過撥碼開關的形式進行手動選擇MVBC與串口、USB接口、PC104總線以及以太網中某一接口連接,也可自動選擇MVBC與串口、USB接口、PC104總線以及以太網中某一接口連接,從而使MVBC具有串口、RS-485、USB、PC104以及以太網的接口能力,提高MVBC的適用性,實現與列車其它設備的通用連接。
所述的FPGA模塊為自適應MVBC接口轉換器的主控模塊,其主要芯片為ALTERA公司的FPGA EP4CE6F17C8,電路原理如圖2所示,U1即為芯片EP4CE6F17C8,A、F分別表示U1的兩個部分。通過FPGA模塊,既可以采用撥碼開關來手動選擇MVBC與串行接口模塊、USB接口模塊、PC104接口模塊和以太網接口模塊中某一模塊進行連接,也可以監視串行接口模塊、USB接口模塊、PC104接口模塊和以太網接口模塊的數據流,自動實現MVBC模塊與串行接口模塊、USB接口模塊、PC104接口模塊和以太網接口模塊中某一模塊進行連接。其電路原理如圖2所示。圖中U2為復位芯片STM6822,芯片U2的復位引腳1通過一個上拉電阻R2與FPGA U1 EP4CE6F17C8的D4引腳相連,為FPGA模塊提供復位輸入信號。U2的引腳4與FPGA U1 EP4CE6F17C8的引腳F5相連,實現看門狗的功能。X1和P1為時鐘電路,其中X1為晶振,其引腳3和FPGA U1 EP4CE6F17C8的引腳E1相連,為FPGA模塊提供內部時鐘,為了使提供時鐘穩定,X1的電源引腳4連接有L1和C1組成的濾波電路。此外,為了豐富FPGA模塊的時鐘源,提供了外部時鐘輸入端P1,與FPGA U1 EP4CE6F17C8的引腳M2連接。也就是說可以通過P1端子從自適應MVBC接口轉換器外部接入其它時鐘,提供給FPGA模塊。為了提供手動選擇MVBC轉換接口類型,提供了撥碼開關電路,默認狀態下,撥碼開關S1處于OFF狀態,其引腳5、6、7、8分別與上拉電阻R11、電阻R10、電阻R9、電阻R8及FPGA U1 EP4CE6F17C8的引腳F2、引腳D1、引腳F3、引腳B1連接,此時U1的引腳F2、引腳D1、引腳F3、引腳B1處于邏輯“1”狀態,表明沒有撥動撥碼開關,MVBC不與任一接口連接。當撥動撥碼開關S1的第1組開關使其處于ON狀態,則撥碼開關S1的引腳1與引腳8相連,此時U1的引腳B1處于邏輯“0”狀態,表明MVBC與串行接口進行轉換。同理,當撥動撥碼開關S1的第2組開關使其處于ON狀態,則撥碼開關S1的引腳2與引腳7相連,此時U1的引腳F3處于邏輯“0”狀態,表明MVBC與USB接口進行轉換。當撥動撥碼開關S1的第3組開關使其處于ON狀態,則撥碼開關S1的引腳3與引腳6相連,此時U1的引腳D1處于邏輯“0”狀態,表明MVBC與PC104接口進行轉換。當撥動撥碼開關S1的第4組開關使其處于ON狀態,則撥碼開關S1的引腳4與引腳5相連,此時U1的引腳F2處于邏輯“0”狀態,表明MVBC與以太網接口進行轉換。但只能同時撥動一組開關,如果同時撥動多組開關,則序號小的起作用。為了指示撥碼位置即MVBC轉換狀態,采用發光二極管來完成。發光二極管D1、發光二極管D2、發光二極管D3、發光二極管D4的一端分別和FPGA U1 EP4CE6F17C8的引腳E5、引腳C2、引腳G5、引腳F1連接,一端分別與限流電阻R3、限流電阻R4、限流電阻R5、限流電阻R6連接,限流電阻R3、限流電阻R4、限流電阻R5、限流電阻R6的另一端與電源VCC3P3連接。發光二極管D1、發光二極管D2、發光二極管D3、發光二極管D4分別與撥碼開關位置1、2、3、4相對應,即分別指示轉換接口為串口、USB接口、PC104接口、以太網接口。默認狀態時,U1的引腳E5、引腳C2、引腳G5、引腳F1輸出邏輯“1”,使發光二極管D1、發光二極管D2、發光二極管D3、發光二極管D4處于“滅”狀態。當撥碼開關某個位置處于ON狀態時,相對應的發光二極管處于“亮”狀態,指示MVBC當時所處的轉換接口類型。
所述的MVBC模塊為自適應MVBC接口轉換器的MVB網絡接入模塊,采用杜根的D013 MVB控制器,其電路原理示意如圖3所示,U1為EP4CE6F17C8,G表示U1的一個部分,U3為MVB控制器D013。通過該模塊自適應MVBC接口轉換器可以接入MVB網絡,實現與MVB網絡中其它設備之間的通信。為實現該模塊和FPGA模塊之間的接口為SPI,并將MVB網絡數據通過SPI傳輸至FPGA模塊,配置該模塊的MODE2和MODE1引腳為“高”和“低”電平,即邏輯“1”和“0”。即U3的引腳28與上拉電阻R12連接,實現邏輯“1”功能。U3的引腳27與地GND連接,實現邏輯“0”功能。U3的引腳3、引腳4、引腳5、引腳6分別與FPGA U1的引腳K2、引腳L2、引腳L3、引腳N1連接。此外,為了實現該模塊的電氣中距離傳輸(也即是說傳輸距離不大于200米),模塊的MODE0引腳應該配置為“高”電平,即邏輯“1”。即U3的引腳26與上拉電阻R12連接,實現邏輯“1”功能。而且,為了使該模塊在上電/掉電或其它低電壓情況下能恢復正常工作,通過FPGA模塊向該模塊/RESET引腳提供復位信號。即U3的引腳21與U1的引腳L4連接。為了使該模塊狀態發生變化時向FPGA模塊發出指示,向FPGA模塊發出中斷信號,即U3的引腳25與U1的引腳P2連接,并與上拉電阻R13連接。
所述的串行接口模塊為自適應MVBC接口轉換器的串口接入模塊,其主要芯片為Maxim公司的MAX3232CAE,電路原理示意如圖4所示,U1為EP4CE6F17C8,G表示U1的一個部分,U4為MAX3232CAE。通過該模塊自適應MVBC接口轉換器可以與RS-232接口,實現MVBC與其它串口設備之間的通信。該模塊U4的引腳11與U1G的引腳J1連接,U4的引腳12與U1G的引腳K6連接,為了保持輸入引腳穩定狀態,U4的T1IN引腳通過電阻R14進行了上拉。為了便于與其它串口設備連接,該模塊提供了DB9接口,U1的引腳14和引腳13分別和DB9的引腳2和3連接,實現與其它串口設備的通信。此外,此模塊還有4個電荷泵電容C2、電容C3、電容C4、電容C5,其中電容C2分別與U4的引腳1、引腳3連接,電容C3分別與U4的引腳4、引腳5連接,電容C4的一端與U4的引腳2連接,一端接地,電容C5的一端與U4的引腳16連接,一端接電源VCC3P3。
所述的USB接口模塊為自適應MVBC接口轉換器的USB接入模塊,其主要芯片為Maxim公司的MAX3420E,電路原理示意如圖5所示,U1為EP4CE6F17C8,G表示U1的一個部分,U5為MAX3420E。通過該模塊自適應MVBC接口轉換器可以與USB接口,實現MVBC與其它U口設備之間的通信。該模塊通過SPI接口與FPGA模塊連接,即U5的引腳11、引腳12、引腳13、引腳14分別和U1的引腳L1、引腳K1、引腳L6、引腳J6連接,并通過中斷INT引腳與FPGA模塊連接通知USB發生的事件,即U5的引腳17與U1的引腳J2相連。此外,為了使該模塊在上電/掉電或其它異常情況下能恢復正常工作,通過FPGA模塊向該模塊/RES引腳提供復位信號,即U1的引腳N2與U5的引腳10連接。且提供由晶振X2以及電容C6、電容C7組成的振動電路,為MAX3420E供應時鐘。為了方便該模塊與其它USB設備的連接,提供了標準USB B型插座USB_B,其中USB_B的引腳2與U5的引腳21連接,USB_B的引腳3與U5的引腳20連接。參考電壓引腳3、引腳4與電源VCC3P3以及濾波電容C8一端連接。
所述的PC104接口模塊為自適應MVBC接口轉換器的PC104總線接入模塊,其主要芯片為TI公司的總線收發器SN74LVCC4245和總線開關SN74CBTD16210,電路原理示意如圖6(a)、6(b)、6(c)所示,U1為FPGA EP4CE6F17C8,K、L、M各為U1的一個部分,U7為總線開關SN74CBTD16210,U8、U9、U10為總線收發器SN74LVCC4245。為了方便與其它PC104接口設備通信,本模塊提供標準PC40、PC64插座。通過該模塊自適應MVBC接口轉換器與PC104總線接口連接,實現MVBC與其它PC104總線設備之間的通信。該模塊的20根地址線SA0-SA19從PC64插座引腳SA0-SA19引出,并依次與總線開關U7的引腳25、引腳26、引腳27、引腳28、引腳29、引腳30、引腳31、引腳33、引腳34、引腳35、引腳36、引腳37、引腳38、引腳39、引腳40、引腳42、引腳43、引腳44、引腳45、引腳46連接,通過總線開關U7的驅動依次從引腳24、引腳23、引腳22、引腳21、引腳20、引腳19、引腳18、引腳16、引腳14、引腳13、引腳12、引腳11、引腳10、引腳9、引腳7、引腳6、引腳5、引腳4、引腳3、引腳2輸出,并依次與FPGA U1引腳B8、引腳A8、引腳B9、引腳A9、引腳E9、引腳D9、引腳C9、引腳B10、引腳A10、引腳A15、引腳F11、引腳F9、引腳F10、引腳C11、引腳B11、引腳A11、引腳B12、引腳A12、引腳E10、引腳E11連接,U7輸出使能端引腳47、引腳48接地,表示一直使能。PC104接口模塊的8根數據線SD0-SD7分別與PC64插座的引腳A9-A2和總線收發器U8的引腳10-3連接,通過雙電源總線收發器U8的電平轉換,將PC104側5V信號轉換為FPGA側3.3V信號,也就是說其3.3V信號側U8的引腳14-21分別與FPGA U1的引腳B14、引腳A14、引腳B13、引腳A13、引腳D12、引腳D11、引腳D14、引腳C14連接,為了控制總線收發器數據的流向,其控制信號DIR引腳2與U1的引腳C6連接,并通過電阻R22上拉。同樣,為了控制總線收發器的使能,其控制信號OE引腳22與U1的引腳B6連接,并通過電阻R23上拉。PC104側的控制信號RESET、IOW#、IOR#、AEN、MEMR、MEMW分別從PC64插座引腳B2、引腳B13、引腳B14、引腳A11以及PC40插座引腳C9、引腳C10輸出至總線收發器U9的引腳3-8,并依次連接。通過總線收發器的U9的電平轉換,從U9的引腳21-16輸出至FPGA U1的引腳C8、引腳E8、引腳A7、引腳F6、引腳G15、引腳G16,并依次連接,且復位引腳通過電阻R21上拉。同樣,FPGA側的控制信號從U1的引腳F16、引腳F13、引腳B7、引腳F7、引腳A6、引腳E7輸出,并分別與總線收發器U10的引腳16-21連接。通過總線收發器的電平轉換,從U10的引腳8-3輸出,并分別與PC40插座的引腳D2、引腳D1以及PC64插座的引腳B25、引腳B24、引腳A10、引腳A1連接,其控制使能引腳22與U1的引腳A5連接,并通過電阻R24進行上拉。
所述的以太網接口模塊為自適應MVBC接口轉換器的以太網接入模塊,其主要芯片為國家半導體公司的DP83846A,原理示意如圖7所示,U1為EP4CE6F17C8,I表示U1的一個部分,U6為DP3846A。通過該模塊,自適應MVBC接口轉換器可以接入因特網,實現MVBC與因特網中其它設備之間的通信。U6通過介質獨立接口MII與U1進行連接,一共16個引腳。其中8個數據收發信號線TXD0、TXD1、TXD2、TXD3、RXD0、RXD1、RXD2、RXD3,為U6的引腳54、引腳55、引腳58、引腳41、引腳40、引腳39、引腳38,分別與U1的引腳T9、引腳L9、引腳N9、引腳T10、引腳N11、引腳T15、引腳P14、引腳M11連接。發送錯誤指示信號線TX_ER、接收錯誤指示信號線RX_ER為U6的引腳50、引腳46,分別和U1的引腳T12、引腳L11連接。發送使能信號線TX_EN、接收使能信號線RX_DV為U6的引腳52、引腳44,分別和U1的引腳T11、引腳N12連接。發送參考時鐘信號線TX_CLK、接收參考時鐘信號線RX_CLK為U6的引腳51、引腳45,分別和U1的引腳L10、引腳R14連接。沖突檢測信號線COL、載波偵聽信號線CRS為U6的引腳60、引腳61,分別和U1的引腳T13、引腳P11連接。競爭X2和電容C7、電容C6構成振蕩電路為U1 DP83846A提供時鐘,X2的引腳分別與U6的引腳67、引腳66以及電容C7、電容C6連接。此外,為了使該模塊在上電/掉電或其它異常情況下能恢復正常工作,通過FPGA模塊向該模塊/RESET引腳提供復位信號,即U1的引腳T14與U6的引腳62連接。為了指示U1 DP83846A的工作狀態,通過D8連接限流電阻R20,R20與U6的引腳33連接指示全雙工狀態,通過D7連接限流電阻R19,R19與U6的引腳32連接指示沖突狀態,通過D6連接限流電阻R18,R18與U6的引腳30連接指示發送狀態,通過D5連接限流電阻R17,R17與U6的引腳29連接指示接收狀態。為了便于與其它網絡設備連接,該模塊提供了RJ45接口,U6的引腳16、17、11、10和RJ45的引腳1、2、7、8連接,且引腳16、17通過電阻R15、R16進行上拉,實現與其它網口設備的通信。為了抑制電源噪聲和干擾,U6的引腳4、7通過磁珠L1與電源VCC3P3連接,U6的引腳12通過磁珠L2與電源VCC3P3連接。
本發明的一種基于FPGA的自適應MVBC接口轉換器,包括FPGA模塊、MVBC模塊、串行接口模塊、USB接口模塊、PC104接口模塊和以太網接口模塊,以上所述的各模塊在FPGA邏輯控制下,實現MVBC接口與串行接口、USB接口、PC104接口以及以太網接口之間的轉換,其邏輯控制流程示意如圖8所示。自適應MVBC接口轉換器上電復位后進入開始狀態,判斷撥碼開關是否全OFF,如果是,則監測串行接口、USB接口、PC104接口以及以太網接口數據流,如果從串行接口接收到轉換請求數據,則MVBC與串行接口之間轉換,否則判斷是否從USB接口接收到轉換請求數據,是則MVBC與USB接口之間轉換,否則判斷是否從PC104接口接收到轉換請求數據,是則MVBC與PC104接口之間轉換,否則判斷是否從以太網接口接收到轉換請求數據,是則MVBC與以太網接口之間轉換,否則跳轉至開始狀態。如果撥碼開關不全是OFF,則判斷是否為第一組開關ON,是則MVBC與串行接口之間轉換,否則判斷是否為第二組開關ON,是則MVBC與USB接口之間轉換,否則判斷是否為第三組開關ON,是則MVBC與PC104接口之間轉換,否則必定為第四組開關ON,則MVBC與以太網接口之間轉換。由此可見,通過FPGA邏輯控制,自適應MVBC接口轉換器可以實現MVBC與串口、USB接口、PC104總線以及以太網之間的通信,且既可以通過撥碼開關的形式進行手動選擇MVBC與串口、USB接口、PC104總線以及以太網中某一接口連接,也可自動選擇MVBC與串口、USB接口、PC104總線以及以太網中某一接口連接,從而使MVBC具有串口、RS-485、USB、PC104以及以太網的接口能力,提高MVBC的適用性,實現與列車其它設備的通用連接。