国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于列車實(shí)時(shí)數(shù)據(jù)協(xié)議的以太網(wǎng)高速通信技術(shù)

2019-03-15 12:36趙辰陽王立德李召召
城市軌道交通研究 2019年3期
關(guān)鍵詞:以太網(wǎng)端口總線

趙辰陽 王立德 簡 捷 李召召

(北京交通大學(xué)電氣工程學(xué)院, 100044, 北京//第一作者,碩士研究生)

0 引言

隨著車載智能設(shè)備和工業(yè)控制網(wǎng)絡(luò)應(yīng)用的擴(kuò)展,列車通信網(wǎng)絡(luò)(TCN)傳輸?shù)臄?shù)據(jù)類型和數(shù)據(jù)量在不斷增大,傳統(tǒng)現(xiàn)場總線技術(shù)已經(jīng)難以滿足列車通信網(wǎng)絡(luò)不斷提高的帶寬需求。與此同時(shí),列車的智能化程度越來越高,TCN的作用已經(jīng)不只是簡單的數(shù)據(jù)傳輸,還需要實(shí)現(xiàn)更多的功能,比如數(shù)據(jù)分類傳輸、網(wǎng)絡(luò)故障診斷、優(yōu)先級調(diào)度等。目前的現(xiàn)場總線技術(shù)已經(jīng)成為限制TCN發(fā)展的瓶頸,隨著以太網(wǎng)在工業(yè)領(lǐng)域的普及以及不斷完善,基于以太網(wǎng)的TCN逐漸成為了研究的熱點(diǎn)。

雖然工業(yè)以太網(wǎng)技術(shù)作為IEC 61375標(biāo)準(zhǔn)的新成員,已逐漸成為下一代TCN的潮流,但是工業(yè)以太網(wǎng)尚有一個(gè)重要的問題有待解決:工業(yè)以太網(wǎng)通信速率不高、帶寬小,不能高速傳輸過程數(shù)據(jù)和消息數(shù)據(jù)。

已有學(xué)者嘗試解決上述問題。文獻(xiàn)[1]將列車實(shí)時(shí)數(shù)據(jù)協(xié)議(TRDP)應(yīng)用到列車控制管理系統(tǒng)中,通過使用新型TRDP,來提高TCN的通信速率,解決以太網(wǎng)通信速率低的問題;文獻(xiàn)[2]通過引入時(shí)分復(fù)用機(jī)制,提出了一種新的以太網(wǎng)列車的通信速率改進(jìn)方法;文獻(xiàn)[3]提出了一種新型的基于以太網(wǎng)的TCN系統(tǒng),從控制策略入手進(jìn)一步改進(jìn)以太網(wǎng)列車速率低的問題。本文在已有研究的基礎(chǔ)上,首先從總線接口入手,提出了一種片間總線通信協(xié)議,將片間總線通信速率提升至百兆左右;然后通過信號完整性分析,在硬件上,從反射問題入手,大大降低高速數(shù)據(jù)傳輸下信號波形發(fā)生畸變的概率,保證高速數(shù)據(jù)傳輸?shù)目尚行裕蛔詈筇嵘齌RDP傳輸過程數(shù)據(jù)與消息數(shù)據(jù)的性能。

1 片間總線接口技術(shù)

1.1 片間總線時(shí)序邏輯

本文提出的片間總線主要用在以FPGA(現(xiàn)場可編程門陣列)為主導(dǎo)的大批量、高速率數(shù)據(jù)的傳輸應(yīng)用。

該片間總線所采用的是一種READY-V ALID握手通信機(jī)制。FPGA與ARM(高級RISC(精簡指令集計(jì)算機(jī))微處理器)進(jìn)行數(shù)據(jù)通信之前,先根據(jù)操作對各所用到的數(shù)據(jù)、地址通道進(jìn)行握手。主要操作包括FPGA接收到ARM的 READY 信號后,將數(shù)據(jù)與 VALID 信號同時(shí)發(fā)送給 ARM,這是一種典型的握手機(jī)制,如圖1所示。

注:ACLK為片間總線時(shí)鐘信號

本文設(shè)計(jì)的片間總線包含4組通道:讀寫地址通道、讀寫數(shù)據(jù)通道,以及相應(yīng)的寫應(yīng)答通道和系統(tǒng)通道:

(1) 讀地址通道:主要包含 ARVALID、ARADDR、ARREADY等信號。

(2) 寫地址通道:主要包含 AWVALID、AWADDR、AWREADY信號。

(3) 讀數(shù)據(jù)通道:包含 RVALID、RDATA、RREADY、RRESP 信號。

(4) 寫數(shù)據(jù)通道:包含 WVALID、WDATA、WSTRB、WREADY 信號。

(5) 寫應(yīng)答通道:包含 BVALID、BRESP、BREADY 信號。

(6) 系統(tǒng)通道:包含 ACLK、ARESETN 信號。

其中,ARESETN為復(fù)位信號,低電平有效;READY與VALID是對應(yīng)的通道握手信號;BRESP 與 RRESP 分別為寫回應(yīng)信號和讀回應(yīng)信號。其讀寫操作順序如圖2所示。

讀操作順序?yàn)橹鞴?jié)點(diǎn)與從節(jié)點(diǎn)進(jìn)行讀地址通道握手并傳輸?shù)刂穬?nèi)容,然后在讀數(shù)據(jù)通道握手并傳輸所讀內(nèi)容以及讀取操作的回應(yīng),時(shí)鐘上升沿有效;寫操作順序?yàn)橹鞴?jié)點(diǎn)與從節(jié)點(diǎn)進(jìn)行寫地址通道握手并傳輸?shù)刂穬?nèi)容,然后在寫數(shù)據(jù)通道握手并傳輸所讀內(nèi)容,最后再寫回對應(yīng)通道,并傳輸寫回應(yīng)數(shù)據(jù),時(shí)鐘上升沿有效。

本文有限狀態(tài)機(jī)(FSM)的設(shè)計(jì)采用的是一種時(shí)序電路設(shè)計(jì)常用的設(shè)計(jì)方式,尤其適合設(shè)計(jì)數(shù)字系統(tǒng)的控制模塊。FSM具有速度快、結(jié)構(gòu)簡單、可靠性高等優(yōu)點(diǎn)。片間總線主要通過FSM對片間總線從進(jìn)行相關(guān)的數(shù)據(jù)及地址訪問。其讀寫狀態(tài)的狀態(tài)轉(zhuǎn)移圖如圖3所示。

圖3 讀寫狀態(tài)的狀態(tài)轉(zhuǎn)移圖

圖3所示的狀態(tài)轉(zhuǎn)移圖一共設(shè)置了8個(gè)狀態(tài),分別是復(fù)位(RESET)、讀寫初始化(RD_IDLE、WR_IDLE)、讀寫地址等待(RA_WAIT、WA_WAIT)、讀寫地址就緒(RA_START、WA_START)、讀寫數(shù)據(jù)等待(RD_WAIT、WD_WAIT)、讀寫數(shù)據(jù)進(jìn)行(RD_PROC、WD_PROC)、寫完成等待(WR_WAIT)及讀寫完成(RD_DONE、WR_DONE)。FSM按照此狀態(tài)轉(zhuǎn)移圖過程對片間總線從寫數(shù)據(jù),實(shí)現(xiàn)FPGA到ARM端的數(shù)據(jù)傳輸。ARM到FPGA數(shù)據(jù)傳輸?shù)倪^程與寫流程相似。

1.2 突發(fā)模式邏輯

本文設(shè)計(jì)的片間總線協(xié)議基于BURST(突發(fā))模式,主機(jī)只給出突發(fā)傳輸?shù)牡谝粋€(gè)字節(jié)的地址。從機(jī)必須計(jì)算突發(fā)傳輸后續(xù)的地址,同時(shí)突發(fā)模式傳輸不能跨4 KB邊界。其時(shí)序圖如圖4所示。

圖4 突發(fā)模式時(shí)序圖

在相應(yīng)的箭頭所指示的位置進(jìn)行地址和數(shù)據(jù)的寫入。其中讀寫地址使能、讀寫數(shù)據(jù)使能均在時(shí)鐘上升沿有效,數(shù)據(jù)傳輸在WLAST(寫完成信號)使能后完成,整個(gè)突發(fā)模式過程結(jié)束。對突發(fā)模式后續(xù)地址計(jì)算的參數(shù)如表1所示。

表1 突發(fā)模式計(jì)算相關(guān)參數(shù)

則有如下計(jì)算公式:

Start_Address=ADDR

Number_Bytes=2STZE

Aligned_Address=(INT(Start_Address/Number_Bytes))·Number_Bytes

Address_1=Start_Address

Address_N=Aligned_Address+(N-1)·Number_Bytes

已知ADDR = 0X0,SIZE=1,可計(jì)算出相應(yīng)的Address_N =2 (N-1),以及每一次突發(fā)模式傳輸?shù)牡刂菲?,并可以確認(rèn)各個(gè)BURST讀寫的偏移地址從而完成整個(gè)突發(fā)模式的讀寫。

由于有突發(fā)模式邏輯以及有限狀態(tài)機(jī)的支持,每次傳輸?shù)臄?shù)據(jù)字節(jié)可以大大增多。由于每次傳輸?shù)臄?shù)據(jù)量呈指數(shù)增長,傳輸速率大大提高。

2 以太網(wǎng)高速通信的反射問題

網(wǎng)卡設(shè)計(jì)有高速DDR(雙倍速率)通路,且片間總線的通信速率在百兆左右,因此需要解決信號反射的問題,以保證片間總線高速通信的可靠性。

信號的反射一般以過沖以及振鈴的形式表現(xiàn)出來,其存在會大大影響通信的信號質(zhì)量,嚴(yán)重時(shí),可能會導(dǎo)致信號無法傳輸。信號的反射和互連線的阻抗密切相關(guān),反射的本質(zhì)就是互連線中的阻抗發(fā)生了變化。只要互連線中存在阻抗不連續(xù)的點(diǎn),該處就會發(fā)生反射。由于任何接收器都會有一定的輸入電容,焊盤、封裝等都會引入一定量的寄生電容。輸入電容或者寄生電容就是容性阻抗不連續(xù)點(diǎn),其到達(dá)接收器的時(shí)候就會產(chǎn)生相應(yīng)的反射現(xiàn)象。不僅如此,容性負(fù)載還表現(xiàn)在類似于容性結(jié)構(gòu)的負(fù)載,如芯片引腳較寬的焊盤、低速信號的過孔等都可以看做容性負(fù)載。例如本次設(shè)計(jì)的DDR電路,其采用的是樁線很短的菊花鏈拓?fù)浣Y(jié)構(gòu),鏈路中的每一個(gè)接收器都相當(dāng)于一個(gè)容性負(fù)載。其等效電路如圖5所示。

注:R——電阻;C——電容

該類的容性負(fù)載位于傳輸線中間,設(shè)計(jì)該網(wǎng)卡的傳輸線阻抗Z0都是50 Ω,因此信號到達(dá)電容時(shí)就相當(dāng)于通過一個(gè)25 Ω電阻進(jìn)行充電。設(shè)入射電壓最大值為U,則C兩端的電壓為:

(1)

式中:

t——信號到達(dá)電容的時(shí)間。

流過電容的電流IC為:

(2)

電容的阻抗Ze為:

(3)

本文τ取0.2 ns。當(dāng)t為1 ns時(shí),信號到達(dá)電容并開始對電容充電。當(dāng)τ為0.2 ns時(shí),電容電壓上升到632 mV,該值是其終端電壓的63.2%。

由于信號傳播到電容時(shí),感受到的阻抗是電容阻抗和后面一段傳輸線阻抗的并聯(lián),并聯(lián)阻抗ZP為:

(4)

反射系數(shù)γ為:

(5)

如果設(shè)上升時(shí)間tr=0,則2 ns后容性負(fù)載的反射信號返回到發(fā)送端,反射、入射信號疊加口波形電壓下降到0;之后,信號的電壓按照指數(shù)的規(guī)律不斷增加,上升時(shí)間由τ決定。

接收端容性不連續(xù)會使得高低電平疊加一定的噪聲,信號到達(dá)接收端后由于接收端的高阻抗而發(fā)生反射,反射信號幅度與入射信號相同。反射信號到達(dá)中間電容時(shí)又會發(fā)生反射,電壓為負(fù)。信號就這樣在容性阻抗不連續(xù)點(diǎn)和其他阻抗不連續(xù)點(diǎn)之間不斷疊加,會產(chǎn)生很大的噪聲。

實(shí)際電路中不存在理想的傳輸線,也不可能完全匹配,因此信號反射是必然存在的。設(shè)計(jì)的關(guān)鍵在于如何把互連鏈路中的各個(gè)部件阻抗差距盡量縮小,從而減小反射信號幅度,避免多級反射對信號質(zhì)量造成致命影響。實(shí)際電路中,在單端信號以及差分信號中做相應(yīng)的阻抗匹配,例如單端信號按照50 Ω的阻抗匹配,差分信號按照100 Ω的阻抗匹配,從而使反射系數(shù)或者負(fù)載反射系數(shù)為0,以此來減弱或者消除信號的反射問題。同時(shí),在實(shí)際電路中,1個(gè)驅(qū)動源驅(qū)動2個(gè)DDR芯片,且其拓?fù)浣Y(jié)構(gòu)采用的是菊花鏈拓?fù)洌虼丝刹捎么卸私拥姆绞?,在傳輸線源加33 Ω的端接電阻來抑制反射的增大。

3 TRDP的實(shí)現(xiàn)

3.1 TRDP

TRDP規(guī)定了TCN過程數(shù)據(jù)和消息數(shù)據(jù)在TCN中的通信流程。如圖6所示,以標(biāo)準(zhǔn)以太網(wǎng)協(xié)議棧為基礎(chǔ),在傳輸層與應(yīng)用層之間增加了TRDP層,能夠?yàn)門CN中任意兩個(gè)設(shè)備之間的過程數(shù)據(jù)和消息數(shù)據(jù)通信提供有安全性保障的端到端數(shù)據(jù)傳輸。與此同時(shí),TRDP兼容標(biāo)準(zhǔn)以太網(wǎng)協(xié)議棧。

注:TCP——傳輸控制協(xié)議;UDP——用戶數(shù)據(jù)包協(xié)議

TRDP由過程數(shù)據(jù)PD接口、消息數(shù)據(jù)MD接口、精簡TRDP、虛擬操作系統(tǒng)VOS(軟交換)和實(shí)用程序等構(gòu)成。過程數(shù)據(jù)接口處理TCN上的過程數(shù)據(jù),消息數(shù)據(jù)接口處理TCN上的消息數(shù)據(jù)。其中高級PD/MD接口包括調(diào)度、線程,以及過程數(shù)據(jù)和消息數(shù)據(jù)的觸發(fā)等功能。實(shí)用程序部分包括數(shù)據(jù)的編組/解組、TRDP XML配置文件的讀取、IP/URI地址轉(zhuǎn)化、安全數(shù)據(jù)的傳輸,以及列車拓?fù)湫畔⒌脑L問等功能。VOS提供了與不同操作系統(tǒng)的接口,上層的應(yīng)用程序通過調(diào)用不同的接口實(shí)現(xiàn)不同操作系統(tǒng)下的通信功能。

3.2 過程數(shù)據(jù)通信流程

TRDP規(guī)定了過程數(shù)據(jù)和消息數(shù)據(jù)的幀格式、通信流程,并提供了相應(yīng)的接口函數(shù)。本文以過程數(shù)據(jù)為例,對數(shù)據(jù)傳輸模式進(jìn)行分析。

過程數(shù)據(jù)的通信包括推模式和拉模式,其中主要的通信角色包括發(fā)布者Publisher、請求者Requester和訂閱者Subscriber。

推模式是源端口按照固定的周期定時(shí)向訂閱者宿端口發(fā)送過程數(shù)據(jù),源端口作為發(fā)送數(shù)據(jù)的發(fā)布者,宿端口作為接收數(shù)據(jù)的訂閱者,其通信方式如圖7所示。

圖7 推模式(一對多)通信方式

拉模式的工作模式為:由宿端口 sink 作為請求者并向作為廣播者的源端口發(fā)送請求消息,源端口收到來自宿端口的請求回復(fù)消息之后,立即將待發(fā)送的數(shù)據(jù)回復(fù)給宿端口,此時(shí)宿端口作為訂閱者,其通信方式如圖8所示。

圖8 拉模式(多對多)通信方式

Publisher作為數(shù)據(jù)的發(fā)送方,在推模式下循環(huán)發(fā)送過程數(shù)據(jù)PD,以及在拉模式下發(fā)送回復(fù)信息。同時(shí)在推模式下源端口按照固定周期定時(shí)向宿端口發(fā)送過程數(shù)據(jù)。Subscriber在拉模式和推模式中均為數(shù)據(jù)的訂閱者。

4 試驗(yàn)測試與分析

本文設(shè)計(jì)的以太網(wǎng)卡硬件上使用賽靈思公司提供的ZYNQ系列芯片,型號為 XC7Z020-2CLG400I。該類型芯片采用FPGA+ARM架構(gòu),搭載雙核Cortex-A9應(yīng)用處理器AMBA,互連內(nèi)部存儲器、外部存儲器接口以及外設(shè)[4-5]。其中,ARM系統(tǒng)及外設(shè)主要有:片上只讀內(nèi)存(Read-Only Memory,ROM)、256 kB片內(nèi)隨機(jī)存儲內(nèi)存(Random Access Memory,RAM)、2個(gè)千兆網(wǎng)卡以及片內(nèi)ARM與FPGA之間的高帶寬連接。FPGA部分主要有:邏輯單元85 000個(gè)、查找表53 200個(gè)、觸發(fā)器106 400個(gè)以及JTAG(一種國際標(biāo)準(zhǔn)測試協(xié)議)調(diào)試接口1個(gè)。軟件采用linux 3.82操作系統(tǒng),TRDP功能用C語言編程實(shí)現(xiàn)。

ZYNQ(可擴(kuò)展處理平臺)下TRDP程序的編譯需要遵循以下步驟:

(1) 編寫測試程序,進(jìn)行通信模式、通信量的配置。

(2) 編寫Makefile(文件編寫),定義編譯規(guī)則。

(3) 配置環(huán)境變量并設(shè)置編譯鏈。

本次測試是在2個(gè)嵌入式終端設(shè)備之間,進(jìn)行一對一、點(diǎn)對點(diǎn)的 TRDP 過程數(shù)據(jù)通信測試。2個(gè)設(shè)備節(jié)點(diǎn)分別生成 28 個(gè)源端口,以及28個(gè)宿端口。本次測試中,數(shù)據(jù)幀內(nèi)容包括本地IP、目的IP、數(shù)據(jù)發(fā)送周期以及數(shù)據(jù)長度,不同的端口通信周期設(shè)定為100 ms;數(shù)據(jù)長度設(shè)定為1 432 bit。

通過在TRDP以太網(wǎng)卡中產(chǎn)生相應(yīng)的過程數(shù)據(jù),將其存入DDR內(nèi)存中的相應(yīng)地址位置,同時(shí)在電腦終端顯示器上顯示過程數(shù)據(jù)發(fā)送的信息。利用邏輯分析儀,可以看到片間總線通過讀取DDR內(nèi)存,將ARM中的過程數(shù)據(jù)傳入到FPGA,通過對比發(fā)送的過程數(shù)據(jù),可以確認(rèn)過程數(shù)據(jù)包發(fā)送的7C7C7C7C7C…在Chipscope(一款在線調(diào)試軟件)上抓取出來,如圖9所示。

圖9 過程數(shù)據(jù)波形圖

Wireshark是一個(gè)網(wǎng)絡(luò)封包分析軟件。Wireshark的功能是擷取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包資料。

以測試時(shí)100 ms下傳輸1 432 bit數(shù)據(jù)為例,單包數(shù)據(jù)傳輸速率設(shè)為13.98 kbit/s;通過Wireshark抓包軟件進(jìn)行統(tǒng)計(jì)分析,可以得出在傳輸過程數(shù)據(jù)時(shí)數(shù)據(jù)包的接收速率近似為6 590個(gè)/s。這樣通過計(jì)算以太網(wǎng)每秒傳輸?shù)陌鼣?shù)乘以單包傳輸?shù)腷it數(shù),最終就得出通信速率為94.36 Mbit/s。由于MVB(多功能車輛總線)、WTB(絞線式列車總線)、ARCNET(一種令牌總線網(wǎng)絡(luò))等其他鐵路通信網(wǎng)絡(luò)速率均不高于10 Mbit/s,通過對比明顯看出基于TRDP下的數(shù)據(jù)通信速率遠(yuǎn)遠(yuǎn)高過MVB、WTB、ARCNET等鐵路通信網(wǎng)絡(luò)的的最高通信速率。

該測試狀態(tài)為網(wǎng)絡(luò)空閑時(shí)的狀態(tài)。但以太網(wǎng)網(wǎng)速受多種情況的影響[6-8],比如:①測試時(shí)使用的TCP通信協(xié)議,容易出現(xiàn)數(shù)據(jù)延遲、數(shù)據(jù)錯位以及數(shù)據(jù)丟失的問題;②網(wǎng)絡(luò)質(zhì)量差會導(dǎo)致設(shè)備之間延遲過高,通信不穩(wěn)定。所以,其網(wǎng)建不能完全達(dá)到100 Mbit/s,但是也基本可滿足列車通信速率的要求。

5 結(jié)語

本文結(jié)合FPGA與ARM,設(shè)計(jì)了符合鐵路通信標(biāo)準(zhǔn)的基于TRDP的以太網(wǎng)卡。通過提出一種片間總線技術(shù),從軟件和硬件的角度入手,解決了以太網(wǎng)數(shù)據(jù)傳輸速率低的問題,有效保障了列車數(shù)據(jù)高速通信,為工業(yè)以太網(wǎng)應(yīng)用于TCN又向前邁進(jìn)一步。

猜你喜歡
以太網(wǎng)端口總線
一種有源二端口網(wǎng)絡(luò)參數(shù)計(jì)算方法
一種端口故障的解決方案
基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
多按鍵情況下,單片機(jī)端口不足的解決方法
一種基于CAN總線的誤碼測試方法
談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
CAN總線并發(fā)通信時(shí)下位機(jī)應(yīng)用軟件設(shè)計(jì)
基于CAN總線的水下通信系統(tǒng)設(shè)計(jì)
萬兆以太網(wǎng)在連徐高速公路通信系統(tǒng)改造中的應(yīng)用