?

基于DSP和FPGA的信息化發射平臺多協議網關設計

2019-03-19 01:01,,,,
計算機測量與控制 2019年3期
關鍵詞:網段以太網串口

, , , ,

(北京航天發射技術研究所,北京 100076)

0 引言

在信息化發射平臺控制系統中,為了優化網絡結構、避免無關數據交叉干擾,提高通信可靠性和實時性,將網絡架構劃分為多個網段,包括測發控網段、車控網段、供配電網段和底盤網段等。測發控網段采用以太網通信方式,車控網段、供配電網段、底盤網段采用現場CAN總線通信方式,其中車控網段和供配電網段的CAN總線均為雙冗余CAN總線。

要實現各個網段間的互聯互通,完成以太網數據、車控CAN總線數據、底盤CAN總線數據和供配電CAN總線數據之間的雙向數據解析、過濾及轉發,需要支持以太網協議、CAN協議等多種協議的網關。網關連接在各個網段上,接收各網段的數據,按照特定的策略,將數據進行解析,并將數據封裝成另外的協議格式,轉發到其它的網段中,網關在系統中應用原理圖如圖1所示。

圖1 網關在系統中應用原理圖

目前,多通道CAN網關多采取內部自帶多路CAN控制器的CPU,如英飛凌的XC2287m自帶六路CAN控制器,通過外擴隔離電路和CAN收發器來實現,如文獻[1]和文獻[2]。但是,在此基礎上外擴以太網控制器,實現CAN和以太網的轉發難度較大。而以太網-CAN網關多采用ARM等CPU芯片外擴以太網和CAN控制器的方式實現,如文獻[3]和文獻[4],但是,該方案能實現的CAN通道數量有限。

由于本應用中CAN網段的數量較多,且部分CAN網段采用雙CAN總線進行冗余,對網關的CAN總線接口數量提出了較高要求;并且,系統對網關的轉發實時性要求較高。因此,文獻中的網關不能滿足需求,需重新設計網關。

本文實現了一種應用于信息化發射平臺的多協議網關,該網關具有如下特點:

(1)具有六路CAN總線接口,一路以太網接口,一路RS232接口,能夠實現上述多種通信接口的多種協議數據的解析、過濾及轉發。通信接口種類多、數量多。

(2)核心控制器采用DSP(Digital Signal Processor,數字信號處理器)+FPGA(Field Programmable Gate Array,現場可編程邏輯門陣列)架構,依靠核心控制器內部運行的嵌入式軟件實現網關功能,數據轉發實時性強,可靠性高,在高總線負載時仍能可靠轉發數據。

(3)數據解析、轉發策略可編程設定,靈活性高,能夠適應不同的應用需求。

1 硬件設計

多協議網關內部組成框圖如圖2所示,采用DSP+FPGA的核心控制器架構,通過在核心控制器外圍擴展相應功能的元器件實現各項功能需求。DSP+FPGA 的構架較為靈活,兩種器件相互配合,靈活性和擴展性很高,能夠滿足系統需求。

圖2 多協議網關組成框圖

以DSP芯片為控制核心,通過FPGA芯片擴展CAN控制器、以太網控制器LAN8740AI。能夠接收CAN總線及以太網數據,并完成數據的過濾和轉發。

DSP采用TMS320F28335,完成控制和任務協調,包括RS232總線通信,外部信號采集等,并外擴SRAM芯片。FPGA采用Xilinx公司Virtex4系列FPGA,例化異步總線接口與DSP相連,各模塊同時控制CAN、以太網的通信。

多協議網關由①對外接插件、②電源轉換電路、③DSP控制器及其外圍電路、④FPGA控制器及其外圍電路、⑤CAN總線收發電路、⑥以太網收發電路、⑦RS232收發及串口BOOT配置電路七部分組成。

1.1 對外接插件

對外接插件為多協議網關與系統的電氣接口,實現網關內外的信號連接,主要信號包括24 V直流輸入電源信號,六通道CAN總線信號、一通道以太網信號、一通道RS232異步串行通信信號及串口BOOT配置信號。

1.2 電源轉換電路

多協議網關由20~30 V直流電源供電,電源轉換電路完成輸入電源的濾波、電壓變換,將24 V直流輸入電源經過濾波后進行轉換,輸出其它電路需要的1.2 V、1.8 V、2.5 V、3.3 V、隔離5 V等二次電源。

1.3 DSP控制器及其外圍電路

DSP控制器及其外圍電路主要包括DSP控制器及其工作必須的晶振、復位電路等,是網關的控制核心。DSP控制器采用了TI公司的TMS320F28335芯片,是一款高性能的32位浮點DSP處理器,最大主頻可達150 MHz[5]。

DSP控制器通過自身的XINTF接口與FPGA控制器進行數據交互,調用FPGA實現的驅動函數,將FPGA接收到的數據讀入到DSP中,或者將需要發送的數據寫入到FPGA中,實現以太網和CAN總線數據的收發。

DSP控制器通過其內部嵌入式軟件實現了網關數據解析、過濾、轉發的策略,根據其內部策略,對接收的CAN或以太網數據進行解析,并對需要轉發的數據進行封包處理,再轉發到特定的CAN或以太網通道,實現網關功能。

采用MAX706產生上電復位信號,FPGA DONE輸出引腳也連接至MAX706/MR引腳,當配置FPGA結束后DONE引腳置高電平,MAX706經過200 ms后將/RESET引腳置高電平使DSP開始運行。

1.4 FPGA控制器及其外圍電路

FPGA 控制器及其外圍電路主要包括FPGA控制器及其工作必須的晶振、復位、配置電路、JTAG電路等,實現CAN總線、以太網總線基本的收、發功能。FPGA控制器采用了Xilinx公司的XC4VLX60,為Xilinx Vertex-4系列FPGA,含有59904個邏輯單元(logic cell),2880Kb RAM存儲空間[6]。

FPGA控制器內部例化了6個CAN IP核,實現了六路CAN總線控制器,CAN IP核在功能與接口方面與SJA1000芯片相同。通過CAN IP的方式可以減少芯片數量,降低成本,并且降低印制板布線的難度,提高可靠性。通過FPGA的相應對外引腳與CAN總線收發電路相連,實現六路CAN總線功能。

FPGA控制器內部實現了一路Microblaze軟核,運行lwIP以太網協議棧,實現以太網的MAC層(Media Access Control,介質訪問控制層)功能,通過MII接口(Media Independent Interface,介質獨立接口)與以太網收發電路相連,實現以太網總線接口功能。

LwIP是瑞士計算機研究院的一種開源的TCP/IP協議棧實現,其實現重點是在保持TCP/IP協議主要功能的基礎上減少對內存的占用,數十KB的RAM和Flash便可使其良好運行,這樣就可以讓Lwip適用于資源有限的小型平臺。LwIP支持的主要協議有ARP、IPv4、ICMP、TCP、UDP等[7]。

1.5 CAN總線收發電路

CAN總線收發電路主要包括隔離電路、CAN收發器電路、TVS保護電路等,將FPGA控制器的CAN接收和發送信號轉換為符合CAN協議要求的CAN差分信號,是CAN控制器和物理總線之間的接口。采用磁隔離電路可以將FPGA控制器與總線信號電氣隔離,結合TVS保護電路可以使FPGA控制器在靜電和瞬態高電壓等情況下不受損壞。

CAN總線驅動器選用TJA1050驅動芯片,具有更高的ESD能力、更高的共模工作電壓、更高的CAN總線速度等優點[8];隔離芯片選擇磁隔離技術,ADuM1402芯片為2發2收結構,適合通訊需要[9]。

磁隔離電路和CAN總線收發電路如圖3所示。

圖3 磁隔離電路和CAN總線收發電路

1.6 以太網收發電路

以太網收發電路包括以太網PHY 及變壓器隔離電路,以太網PHY芯片選擇SMSC公司的LAN8740A,該芯片是物理接口收發器,發送數據時,將 MAC層發送過來的并行數據轉化為模擬信號發送出去,收數據時的流程反之。PHY也能實現載波監聽多點接入/碰撞檢測功能[10]。

隔離變壓器通過電磁場的轉換將PHY的差分信號耦合到網線的另外一端,對內部電路起到隔離、保護的作用。

1.7 RS232收發及串口BOOT配置電路

RS232收發及串口BOOT配置電路包括磁隔離電路、RS232收發器電路、TVS保護電路以及串口BOOT配置電路。通過串口BOOT配置電路,可以將DSP控制器配置為串口BOOT模式,然后使用SDFlash軟件,通過RS232通信接口,即可更新DSP控制器內的應用軟件,從而對網關的數據解析、過濾、轉發策略進行重新編程和配置。

2 軟件設計

2.1 FPGA軟件設計

FPGA軟件運行在FPGA控制器上,主要實現基本的數據收、發功能,具體如下:

(1)CAN數據收發:FPGA軟件內部例化6個CAN總線控制器IP核,并產生CAN IP核的讀寫時序,實現FPGA讀取CAN IP核內部寄存器、寫CAN IP核內部寄存器、接收一幀CAN數據和向IP核發送一幀CAN數據四個CAN總線控制功能,同時向DSP提供CAN數據的接收和發送中斷信號。

(2)以太網數據收發:FPGA軟件內部例化一個MicroBlaze 32位處理器軟核,軟核中運行以太網控制器的驅動和LwIP TCP/IP協議棧。軟核上還運行以太網執行程序,用于在DSP和LwIP之間傳遞數據。網關以太網收發的軟件架構如圖4所示,應用層的數據由運行在DSP上的以太網代理程序經由XINTF和comregs交給運行在MicroBlaze上的以太網執行程序,以太網執行程序再調用lwip協議棧將數據發送到網絡上,網絡上的數據則通過相反的路徑交給應用層。

圖4 網關以太網收發的軟件架構

(3)XINTF總線接口:FPGA軟件實現了和DSP的XINTF總線接口邏輯,完成DSP和FPGA之間的數據交互。

2.2 DSP軟件設計

DSP控制器作為多協議網關的控制核心,調用FPGA實現的收發驅動函數實現以太網和CAN數據的接收,并根據特定的轉發策略對接收數據進行解析、過濾和轉發。

DSP軟件架構采用輪詢加中斷方式:輪詢方式用于處理數據接收,如圖5所示,在主循環中依次調用車控網段接收處理、供配電網段接收處理、底盤網段接收處理和以太網段接收處理,如果查詢到有數據接收則進行相應過濾和轉發,CAN數據接收處理流程圖如圖6所示;中斷方式用于處理數據周期發送,利用定時器中斷周期發送部分傳感器數據。

圖5 DSP軟件主循環流程圖

圖6 CAN數據接收處理流程圖

3 試驗結果與分析

3.1 轉發實時性

向多協議網關的CAN通道或以太網通道發送數據,轉發到其它的CAN通道或以太網通道,通過示波器測量轉發的延時時間,驗證多協議網關的轉發實時性,具體結如見表1所示。

表1 轉發實時性

其中:通過一個CAN通道接收數據,經過處理后轉發到另一個CAN通道的波形圖如圖7所示,上方波形為接收數據波形,下方波形為發送數據波形。

圖7 CAN總線轉CAN總線轉發波形

3.2 高負載率壓力測試

向多協議網關的單個CAN通道循環發送CAN數據,同時轉發到其它CAN通道和以太網通道,不斷調整CAN總線發送的負載率,并監測網關轉發的CAN和以太網數據,當負載率接近上限100%(2 000~2 500幀/秒)時,網關可靠轉發數據。

向多協議網關的多個CAN通道同時循環發送CAN數據,同時轉發到其它CAN通道和以太網通道,不斷調整CAN總線發送的負載率,并監測網關轉發的CAN和以太網數據,當各CAN通道負載率均接近上限100%(2 000~2 500幀/秒)時,網關仍可靠轉發數據。

向多協議網關的以太網通道循環發送不同字節長度的數據,并不斷調整發送數據的速度,測試以太網高速接收的可靠性,測得在不同字節長度下,以太網接收極限性能如圖8所示。

圖8 以太網接收的極限性能

4 結論

本文實現的多協議網關具有六路CAN總線接口,一路以太網接口,一路RS232接口,能夠接收多種通信接口的多種協議的總線數據,并根據協議或策略進行解析、過濾及轉發。該多協議網關具有通信接口種類多、數量多的特點。由于核心控制器采用了DSP+FPGA架構,并使用嵌入式軟件編程實現網關功能,數據轉發實時性強,可靠性高,在高總線負載時仍能可靠轉發數據。并且數據解析、轉發規則可編程設定,靈活性高,能夠適應不同的應用需求。

猜你喜歡
網段以太網串口
商用車網絡架構設計探討
“復興號”17輛編組動車組列車總線網段擴展的設計研究
基于API函數庫實現串口數據通信的分析與設計
基于EM9000工控板高性能雙串口通信模型設計與實現
單位遭遇蠕蟲類病毒攻擊
MCS—51單片機中的多串口通訊技術的應用
三大因素驅動創新提速以太網快步邁入“靈活”時代
三大因素驅動創新提速 以太網快步邁入“靈活”時代
用無線路由器共享單位局域網
基于以太網的計算機與數控系統通信技術研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合