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

?

基于XPORT的多路數(shù)據(jù)轉(zhuǎn)發(fā)單元的設(shè)計

2014-01-01 03:09
無線電工程 2014年8期
關(guān)鍵詞:板卡數(shù)據(jù)量底層

連 潔

(河北省衛(wèi)星導(dǎo)航技術(shù)與裝備工程技術(shù)研究中心,河北石家莊050081)

0 引言

數(shù)據(jù)傳輸是一個系統(tǒng)工程中的重要環(huán)節(jié)。在物理層中的各個設(shè)備,它們的各個狀態(tài)需要定時上報給計算機。計算機監(jiān)視各個設(shè)備的運行狀態(tài)并下發(fā)命令控制底層設(shè)備的工作。一般底層各個設(shè)備以串口進行通信。計算機實現(xiàn)全雙工遠程監(jiān)控底層設(shè)備,需要把各個設(shè)備的串口數(shù)據(jù)按網(wǎng)絡(luò)協(xié)議通過網(wǎng)絡(luò)與計算機通信。工程中一般常用NPORT產(chǎn)品,它性能穩(wěn)定、可配置程度高,但一個16路串口的NPORT體積大,價格昂貴,采購管理設(shè)備不便。因此,根據(jù)工程上的需求,本文闡述了基于串口轉(zhuǎn)網(wǎng)絡(luò)器件XPORT的多路數(shù)據(jù)轉(zhuǎn)發(fā)的單板卡設(shè)計。針對多路并發(fā)串口的數(shù)據(jù)量大,需實時轉(zhuǎn)發(fā)等特點,進行了相應(yīng)的嵌入式程序設(shè)計。該設(shè)計與其他設(shè)備可集成在一個PXI機箱之中,不需外部再配置其他通信設(shè)備,方便搬移管理和使用。

1 總體設(shè)計

多路串口數(shù)據(jù)轉(zhuǎn)發(fā)單元,按其功能分為2部分:①底層設(shè)備數(shù)據(jù)上報轉(zhuǎn)發(fā)模塊,匯總各個設(shè)備上報的數(shù)據(jù)信息為一路串口數(shù)據(jù),通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)給計算機;②計算機指令分路轉(zhuǎn)發(fā)模塊,把計算機下發(fā)的數(shù)據(jù)按地址分發(fā)給對應(yīng)的設(shè)備。在數(shù)據(jù)轉(zhuǎn)發(fā)的過程中不改變信息內(nèi)容,透明轉(zhuǎn)發(fā)。PXI機箱的槽位號與板卡ID號,由計算機靈活分配。板卡可不固定槽位,隨意移動位置。多路串口數(shù)據(jù)轉(zhuǎn)發(fā)單元根據(jù)計算機下發(fā)的地址表,在FPGA中配置板卡ID號與串口硬件端口的對應(yīng)關(guān)系。在計算機下發(fā)數(shù)據(jù)時,按現(xiàn)在的地址分配表,把含該板卡ID號的數(shù)據(jù)幀下發(fā)到對應(yīng)槽位的串口端口上。

各設(shè)備發(fā)送的數(shù)據(jù),有幀長度不同且無時間順序的特點,數(shù)據(jù)可能是并發(fā)或突發(fā)的,這就需要數(shù)據(jù)轉(zhuǎn)發(fā)單元有足夠快的順序處理或者并行處理的能力。由于單片機工作時鐘頻率有限,在設(shè)備數(shù)量多且數(shù)據(jù)量大的情況下,處理的任務(wù)量容易超出其處理速度。出于以上考慮,底層設(shè)備數(shù)據(jù)上報采用FPGA并行處理。

計算機指令分路下發(fā)給底層設(shè)備,即計算機一路數(shù)據(jù)按設(shè)備地址分發(fā)給多路端口,這在時間上是一對一端口順序傳輸?shù)?。此設(shè)計在單片機順序處理實現(xiàn)較為方便。

1.1 硬件設(shè)計

根據(jù)設(shè)計的需求和特點,硬件在一塊100 mm×160 mm的3U板卡上實現(xiàn)。它含有一塊 FPGA、一塊單片機和一個XPORT,附加串口驅(qū)動芯片等電路。

XPORT是由美國Lantronix公司于2002年研發(fā)成功,它是目前最小、最完整的串行口到以太網(wǎng)的轉(zhuǎn)換方案。XPORT使用了Lantronix公司的DSTni系列網(wǎng)絡(luò)芯片,10/100 M的 PHY,以及256 KB的RAM和512 KB的閃存。XPORT工作電壓為3.3 V,支持TCP/IP等網(wǎng)絡(luò)通信協(xié)議,有一個支持RS-232串行標(biāo)準(zhǔn)、速度最高可達960 Kbps的串行端口,提供一個RJ-45網(wǎng)絡(luò)端口,可以方便快捷地實現(xiàn)串行設(shè)備與以太網(wǎng)的連接,從而實現(xiàn)遠距離實時通信。

為滿足需求且方便升級,F(xiàn)PGA選用Altera公司Cyclone II系列的EP2C35F484,邏輯單元33 216門,內(nèi)存 483 840 bit[1,2]。單片機選用 ATMEL 公司的ATMEGA128L[3]。XPORT 選用型號為 XP1001001-03R。硬件設(shè)計及系統(tǒng)連接框圖如圖1所示。

圖1 硬件設(shè)計及系統(tǒng)連接

計算機與底層各個設(shè)備之間由多路串口轉(zhuǎn)發(fā)單元進行數(shù)據(jù)轉(zhuǎn)發(fā)。底層設(shè)備的串口端連入FPGA。單片機的地址線和數(shù)據(jù)地址共用線均接入FPGA。單片機對計算機指令處理后,通過FPGA對各設(shè)備進行指令分發(fā)。轉(zhuǎn)換單元與計算機之間的所有收發(fā)數(shù)據(jù)都通過配置 XPORT[4,5]進行串口與網(wǎng)口的協(xié)議轉(zhuǎn)換,保證各個設(shè)備對計算機數(shù)據(jù)收發(fā)能夠全雙工通信。在實際工程中,設(shè)計預(yù)留了16路面對底層設(shè)備的串口。多路串口數(shù)據(jù)傳輸板卡與各個設(shè)備的串口為 RS232 異步傳輸[6-10]。

1.2 軟件設(shè)計

軟件設(shè)計包含的主要功能有底層設(shè)備數(shù)據(jù)匯總上報和計算機指令分路轉(zhuǎn)發(fā)2部分。

其中,底層設(shè)備數(shù)據(jù)匯總上報部分的主要功能是將16路設(shè)備上報的監(jiān)控業(yè)務(wù)等數(shù)據(jù)匯總為一路數(shù)據(jù)發(fā)送給監(jiān)控計算機。此部分主要包括16路串口數(shù)據(jù)的并行接收處理,在上報串口空閑且有待發(fā)送的數(shù)據(jù)時,進行讀取匯報的統(tǒng)一調(diào)度。

計算機指令分路轉(zhuǎn)發(fā)部分的主要功能是將監(jiān)控計算下發(fā)的指令解析出發(fā)送地址發(fā)送給相應(yīng)設(shè)備的硬件通信端口。它此部分以單片機處理為主,F(xiàn)PGA中做地址譯碼和下發(fā)端口選通工作。監(jiān)控計算機僅有一路數(shù)據(jù),因此利用單片機自帶的全雙工串口收發(fā)處理功能解析串口數(shù)據(jù)。首先,單片機把計算機下發(fā)的串口數(shù)據(jù),進行有效數(shù)據(jù)存儲并解幀,把解出的目的地址送給FPGA。FPGA依據(jù)目的地址,把單片機輸出串口端硬件連接到對應(yīng)需要下發(fā)的底層設(shè)備端口上。當(dāng)選通好后,待單片機判斷完幀長度字節(jié),按字節(jié)數(shù)讀取緩沖區(qū)的數(shù)據(jù),送到發(fā)送串口上。

2 需要解決的問題

各個底層設(shè)備的串口數(shù)據(jù)量大小不一,同一串口數(shù)據(jù)長度不一,各設(shè)備的各種數(shù)據(jù)發(fā)送時間不固定,會同時發(fā)送。轉(zhuǎn)發(fā)延遲需要盡量小,控制在ms級。

轉(zhuǎn)發(fā)監(jiān)控計算機的下發(fā)數(shù)據(jù)時,下發(fā)電文數(shù)據(jù)量較大,且需要實時發(fā)送。以網(wǎng)絡(luò)協(xié)議與計算機通信,要求板卡的集成度高、成本低,傳輸穩(wěn)定可靠。

3 關(guān)鍵技術(shù)

在底層設(shè)備數(shù)據(jù)匯總上報設(shè)計中,有16路底層設(shè)備數(shù)據(jù)處理的并行模塊。接收16路模塊為節(jié)省存儲空間,給單獨開辟了適應(yīng)其數(shù)據(jù)大小的存儲空間。

存儲包含16路串口數(shù)據(jù)是并行處理且處理方式一致,其區(qū)別僅為該路串口總數(shù)據(jù)量的緩存大小,可設(shè)計單路串口數(shù)據(jù)處理模塊復(fù)用成多路。串口處理模塊的上一級有統(tǒng)一調(diào)度模塊,通過判斷該單路處理模塊的FIFO存數(shù)情況,發(fā)出單路FIFO讀取信號。一路串口上報數(shù)據(jù)處理模塊的頂層設(shè)計如圖2所示。該模塊的主要輸入端口是FIFO的讀取信號、設(shè)備的串口數(shù)據(jù)和工作時鐘,輸出是緩存FIFO數(shù)據(jù)讀出和字節(jié)計數(shù)。首先要按幀格式解包信息,判斷是否為一幀的開始,并按幀信息給出的幀長度收串口數(shù)據(jù),然后把完整的信息幀存入FIFO。需要注意的是,F(xiàn)IFO中的數(shù)據(jù)是以幀為單位,整幀存入、整幀取出。整幀包含幀頭,且存入過程中無任何無用數(shù)據(jù),便于發(fā)送模塊準(zhǔn)確讀取整幀發(fā)送。

圖2 FPGA單路串口上報處理模塊頂層設(shè)計

對于存入和取出的FIFO數(shù)據(jù)有獨立的整幀收發(fā)字節(jié)計數(shù)模塊。當(dāng)收完一整幀,幀尾標(biāo)志鎖存已計數(shù)的存入字節(jié)數(shù),即為待發(fā)送整幀字節(jié)數(shù)。當(dāng)按提供的字節(jié)數(shù)發(fā)送完畢,待發(fā)送字節(jié)數(shù)便減去發(fā)送字節(jié)。待發(fā)送標(biāo)志就是判斷待發(fā)送整幀字節(jié)數(shù)是否為0。當(dāng)計算機串口空閑時,輪巡檢查16個串口上報模塊的待發(fā)送標(biāo)志。若標(biāo)志有效,占用串口,按待發(fā)送字節(jié)數(shù)讀取FIFO數(shù)據(jù),按串口規(guī)定要求發(fā)送。

防幀長度出錯功能。若幀長度填錯,到下一幀幀頭到來也沒收夠數(shù)據(jù),則以前數(shù)據(jù)加上下一幀幀頭為一個整幀,存入該通道的FIFO。下一幀的判斷和存儲仍正確執(zhí)行。這樣上一個出錯幀不會影響下一個正確幀的傳輸,不會造成漏傳。這樣在監(jiān)控計算機收原始數(shù)據(jù)時,不完整幀尾出現(xiàn)2個幀頭時,便能夠發(fā)現(xiàn)該幀的錯誤。

在輪巡檢查時刻,讀取此時已準(zhǔn)備好的整幀數(shù)據(jù)發(fā)送。發(fā)送完畢,立即巡查下一串口是否有數(shù)據(jù)待發(fā)送處理。這樣的處理機制,可適應(yīng)對數(shù)據(jù)傳輸處理時效有較高需求的系統(tǒng)。不因某一數(shù)據(jù)量大的設(shè)備長時間占用串口,而使其他串口等待時間過長。

計算機指令分路轉(zhuǎn)發(fā)模塊,面對下發(fā)數(shù)據(jù)量較大并且要求實時轉(zhuǎn)發(fā),所以設(shè)計中并沒有將數(shù)據(jù)整幀全部緩存下來,再轉(zhuǎn)發(fā)。在單片機的串口接收數(shù)據(jù)部分,開辟了20 byte的RAM作為緩存環(huán)形RAM使用,用于緩存一幀數(shù)據(jù)中的幀長、目的地址等關(guān)鍵信息。環(huán)形RAM的好處在于,不存儲全部電文,實時轉(zhuǎn)發(fā)且占用單片機RAM小。判斷出目的地址,并給FPGA留出端口選擇時間,便可把環(huán)形RAM區(qū)的數(shù)據(jù)從第1個地址開始送到單片機串口輸出端。此操作有兩個指針,一個為數(shù)據(jù)存儲位置指針;另一個為數(shù)據(jù)讀取位置指針。若兩個地址重合,且數(shù)據(jù)長度計數(shù)還未夠,表明數(shù)據(jù)傳輸暫時中斷,發(fā)送完已讀取的數(shù)據(jù),等待收取數(shù)據(jù)。

對計算機的串口收發(fā)數(shù)據(jù),均由硬件板卡上的XPORT進行網(wǎng)絡(luò)協(xié)議的轉(zhuǎn)換。將RS232數(shù)據(jù)傳輸接口變?yōu)榫W(wǎng)絡(luò)協(xié)議傳輸,直接與計算機通信,使得整機設(shè)備集成度高,易便攜,用戶使用更簡便。

4 性能測試

對多路串口數(shù)據(jù)轉(zhuǎn)發(fā)單元的軟硬件設(shè)計進行自測試,在極限情況下工作正常。在程序中添加16路數(shù)據(jù)發(fā)送模塊,并行進行固定幀的發(fā)送,幀長度可自行調(diào)整。在16路數(shù)據(jù)總量幾近115 200 bit的極限情況下,工作正常。計算機下發(fā)數(shù)據(jù)時,地址選通正確,且在傳輸長數(shù)據(jù)幀時可實時轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)延遲小于1 ms。

在實際工程進行驗證,試驗環(huán)境為一臺通用PXI機箱,其中包含發(fā)射終端單元、下變頻單元、接收終端、時頻分路板卡和多路串口數(shù)據(jù)轉(zhuǎn)發(fā)單元各一塊。機箱內(nèi)部所有板卡與監(jiān)控計算機的通信均通過一塊多路串口數(shù)據(jù)轉(zhuǎn)發(fā)單元完成。每秒機箱各板卡上報的總數(shù)據(jù)量為17 360 bit,其中接收終端板卡上報數(shù)據(jù)量較大。該板卡每秒上報電文相關(guān)的信息達7 700 bit。以其中部分信息上報數(shù)據(jù)進行本設(shè)計的數(shù)據(jù)通信測試。

令監(jiān)控計算機下發(fā)的注入信息填寫固定數(shù)據(jù)。發(fā)射終端對信息也不進行處理,因此該信息是固定數(shù),方便比對傳輸?shù)恼_性,即數(shù)據(jù)下發(fā)和底層數(shù)據(jù)上報形成閉環(huán)比對。令監(jiān)控計算機比對上報的信息數(shù)據(jù),便可知傳輸錯誤的bit數(shù)。各單元上報信息均有每秒上報的時標(biāo),可檢查是否丟幀。監(jiān)控計算機還對上報的所有原始信息進行源碼存儲,方便追溯查詢。

5 性能測試結(jié)果分析

測試結(jié)果,如圖3所示。

圖3 電文數(shù)據(jù)比對

前兩欄分別為接收終端單元A所上報的電文1和電文2。2種數(shù)據(jù)匯報頻度均為上報5次/s。在拷機的43.27 h中,傳輸幀數(shù)778 906幀,總位數(shù)達1 121 624 640 bit。比對電文錯誤幀數(shù),錯誤位數(shù)均為0。如圖3中第3欄所示,多路串口轉(zhuǎn)發(fā)單元在長時間的連續(xù)工作中,面對大數(shù)據(jù)量的傳輸,轉(zhuǎn)發(fā)無誤且無丟幀,工作性能穩(wěn)定。

6 結(jié)束語

闡述了多路串口轉(zhuǎn)發(fā)單元的硬件和軟件設(shè)計。面對數(shù)據(jù)量大、數(shù)據(jù)長短不一致,且實時性要求較高的情況,本設(shè)計實現(xiàn)了數(shù)據(jù)的穩(wěn)定可靠的轉(zhuǎn)發(fā)傳輸。本單元對外接口以網(wǎng)絡(luò)協(xié)議與計算機進行通信,使整機設(shè)備集成度高,方便在工程中的使用。測試中,連續(xù)工作43 h以上誤碼率為0。經(jīng)實際工程應(yīng)用,設(shè)計穩(wěn)定可靠,現(xiàn)已形成通用化的設(shè)計,在實際工程中廣泛使用。

[1] Altera Corp.Cyclone II Device Handbook [S],2008:1-3.

[2] Altera Corp.Pin Information for the Cy-cloneTMII EP2C35 Device[S],2008.

[3] Atmel Corp.ATmega128(L)Datasheet[S],2001.

[4] LANTRONIXCorp.XportUserGuide[M].USA:LANTRONIX Corp.,Part Number 900 - 270 Revision G March 2005:12-20.

[5] LANTRONIX Corp.Xport Integration Guide[M].USA:LANTRONIX Corp.,Part Number 900 - 310 Revision F March 2005:11-11.

[6] 沈金龍.計算機通信網(wǎng)[M].西安:西安電子科技大學(xué)出版社,2003:66-67.

[7] 劉麗格,李天保,石鑫剛.一種板間高速傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].無線電通信技術(shù),2011,37(4):53 -55.

[8] 王 宇,許生旺,曹彥軍,等.一種針對SSM的二層轉(zhuǎn)發(fā)方法[J].無線電工程,2011,41(1):1 -4.

[9] 陳 燕,侯永彬,何朝玉,等.高速數(shù)據(jù)傳輸中ASI接口技術(shù)分析[J].無線電通信技術(shù),2011,37(5):19-20,47.

[10]李 釗,李建軍,李 冰,等.海量數(shù)據(jù)紋理映射技術(shù)研究[J].無線電通信技術(shù),2011,37(4):34-36.

猜你喜歡
板卡數(shù)據(jù)量底層
航天企業(yè)提升采購能力的底層邏輯
基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
車載控制器CVRE板卡顯紅故障分析及處理
寬帶信號采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計與研究
基于組態(tài)王軟件和泓格PIO-D64 板卡的流水燈控制
一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
回到現(xiàn)實底層與悲憫情懷
一種通用模擬量及開關(guān)量信號采集板卡的設(shè)計
中國底層電影研究探略
敦煌市| 正蓝旗| 云林县| 玉田县| 化州市| 嫩江县| 古浪县| 蓬莱市| 灵台县| 凌海市| 青州市| 太白县| 北安市| 诏安县| 高要市| 淮阳县| 建宁县| 大安市| 河间市| 双柏县| 阳新县| 山阴县| 弥渡县| 孙吴县| 永善县| 青冈县| 阳山县| 廊坊市| 马山县| 沙河市| 将乐县| 韶山市| 秦安县| 长阳| 棋牌| 沁水县| 宁国市| 芜湖县| 尚义县| 博湖县| 彝良县|