999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

以太網(wǎng)串口服務(wù)模塊的光端機(jī)監(jiān)控系統(tǒng)設(shè)計(jì)

2018-03-01 00:36:54,,,,,,
關(guān)鍵詞:進(jìn)程

,,,,,,

(中國電子科技集團(tuán)公司 第三十四研究所,桂林 541004)

引 言

圖1 系統(tǒng)架構(gòu)圖

在雷達(dá)信號地面接收、車載綜合指揮系統(tǒng)等應(yīng)用場合,大多采用了點(diǎn)對點(diǎn)或星型結(jié)構(gòu)的光傳輸系統(tǒng)。在這些應(yīng)用場合下,局端光端機(jī)處于監(jiān)控中心,遠(yuǎn)端光端機(jī)則位于較遠(yuǎn)或較惡劣的環(huán)境。要實(shí)現(xiàn)對整個光傳輸系統(tǒng)的統(tǒng)一管理,一是要實(shí)現(xiàn)遠(yuǎn)控,二是監(jiān)控主機(jī)應(yīng)接入方便,客戶端管理便捷,并且具有分布式管理的能力。

本文設(shè)計(jì)了以太網(wǎng)串口服務(wù)模塊(簡稱以太網(wǎng)模塊),移植了TCP/IP協(xié)議,它具有多個套接字地址,每一臺被管理的終端設(shè)備分配了一個套接字地址,客戶端進(jìn)程通過套接字地址來與終端設(shè)備建立通信連接,實(shí)現(xiàn)了進(jìn)程對終端設(shè)備的一對一管理。該方案不僅適用于點(diǎn)對點(diǎn)的光傳輸系統(tǒng),也適用于小型星形光傳輸網(wǎng)絡(luò),具有低成本、高效益的特點(diǎn)。

1 系統(tǒng)方案設(shè)計(jì)

系統(tǒng)架構(gòu)圖如圖1所示,以點(diǎn)對點(diǎn)光傳輸系統(tǒng)為例,整個系統(tǒng)主要由局端光端機(jī)、遠(yuǎn)端光端機(jī)和監(jiān)控主機(jī)組成。

在局端光端機(jī)中,以太網(wǎng)模塊實(shí)現(xiàn)了網(wǎng)絡(luò)數(shù)據(jù)包向2個異步串行接口(簡稱串口)的分發(fā)。串口0和局端ARM處理器的串口相連,用來對局端光端機(jī)進(jìn)行狀態(tài)采集和控制;串口1與局端FPGA相連,通過FPGA進(jìn)行復(fù)接,再經(jīng)光電變換、光纖傳輸,最終與遠(yuǎn)端光端機(jī)內(nèi)的ARM處理器的串口相連,用作遠(yuǎn)端光端機(jī)的監(jiān)控接口。FPGA在此過程中實(shí)現(xiàn)了業(yè)務(wù)流和控制流的復(fù)接和分接。

2 以太網(wǎng)模塊的設(shè)計(jì)

2.1 硬件設(shè)計(jì)

以太網(wǎng)模塊要選用的ARM處理器需要移植TCP/IP協(xié)議棧,必須具有較高的工作頻率,同時內(nèi)部集成10/100M MAC控制器,及容量可觀的RAM和FLASH存儲器。同時,為了方便端口數(shù)量的擴(kuò)展,ARM處理器集成的串口(UART)數(shù)量盡可能多,為了降額設(shè)計(jì),還需滿足低功耗、高性能的特點(diǎn)。基于以上需求,處理器選用了NXP公司的Cortex-M3架構(gòu)的LPC1768。

LPC1768采用了新一代Cortex-M3架構(gòu),比傳統(tǒng)的ARM7架構(gòu)減少了邏輯門數(shù)量,提高了工作頻率,降低了功耗。最高工作頻率為100 MHz,集成了512 KB FLASH和64 KB RAM存儲器,以及RMII接口的MAC,且具有4個異步數(shù)據(jù)串行接口UART0~UART3。

圖2 以太網(wǎng)模塊硬件示意圖

以太網(wǎng)PHY選用了MICREL公司的KSZ8041NL,它是單芯片10/100M以太網(wǎng)物理層收發(fā)器,支持線序自適應(yīng)和10/100M自協(xié)商功能,和LPC1768之間通過RMII接口相連,連接圖如圖2所示。

根據(jù)OSI定義的7層TCP/IP參考模型,網(wǎng)際協(xié)議IP實(shí)現(xiàn)了主機(jī)到主機(jī)的通信,傳輸層協(xié)議(TCP/UDP)實(shí)現(xiàn)了進(jìn)程到進(jìn)程的通信。IP地址定義了主機(jī),端口號(port number)定義了進(jìn)程。進(jìn)程是運(yùn)行著的程序的最小單位,同一臺主機(jī)上可同時運(yùn)行多個相互獨(dú)立的進(jìn)程,它們具有相同的IP地址(本機(jī)的IP地址),擁有不同的端口號。因此,IP地址和端口號的組合稱為套接字地址(Socket地址),通過Socket地址將不同的進(jìn)程區(qū)別開來。本質(zhì)上,進(jìn)程才是數(shù)據(jù)的生產(chǎn)者和消費(fèi)者,當(dāng)主機(jī)收到數(shù)據(jù)報(bào)時,通過檢查數(shù)據(jù)報(bào)的目的端口號尋找與之匹配的進(jìn)程,并將數(shù)據(jù)交給它;當(dāng)進(jìn)程發(fā)送數(shù)據(jù)時,目的端口號和源端口號被插入數(shù)據(jù)報(bào)中,通過網(wǎng)絡(luò)傳輸。設(shè)備收到數(shù)據(jù)報(bào)后,根據(jù)目的端口號進(jìn)行數(shù)據(jù)路由選擇。

進(jìn)程對設(shè)備的一對一管理如圖3所示,監(jiān)控主機(jī)上運(yùn)行著2個進(jìn)程,進(jìn)程1發(fā)出的數(shù)據(jù)通過UART0(對應(yīng)端口0)轉(zhuǎn)發(fā)出去,由局端光端機(jī)的ARM接收處理;進(jìn)程2發(fā)出的數(shù)據(jù)通過UART1(對應(yīng)端口1)轉(zhuǎn)發(fā)出去,由遠(yuǎn)端光端機(jī)接收處理,反之亦然。這樣就實(shí)現(xiàn)了進(jìn)程和設(shè)備的點(diǎn)對點(diǎn)通信,不同的進(jìn)程管理著不同的設(shè)備,并且獨(dú)立運(yùn)行。

圖3 進(jìn)程對設(shè)備的一對一管理

綜上所述,每個端口號對應(yīng)著一個物理的串口(UART),每個串口聯(lián)系著一臺設(shè)備,等同于每臺設(shè)備都有一個Socket地址,通過設(shè)備的Socket地址實(shí)現(xiàn)了進(jìn)程對設(shè)備的一對一管理。在客戶端界面上可通過不同的顯示顏色表示不同的告警事件,如進(jìn)程界面為灰色表示設(shè)備掉線;紅色表示設(shè)備告警;綠色表示設(shè)備工作正常。

另一方面,進(jìn)程可以運(yùn)行在不同的主機(jī)上,同時以太網(wǎng)模塊支持多連接,這樣可以實(shí)現(xiàn)分布式管理。

2.2 軟件設(shè)計(jì)

2.2.1 以太網(wǎng)驅(qū)動

LPC1768的MAC和PHY芯片KSZ8041NL分別實(shí)現(xiàn)了數(shù)據(jù)鏈路層和物理層的功能。其中MAC含有一個分散/聚集以太網(wǎng)幀的DMA引擎,它實(shí)現(xiàn)了MAC和片上SRAM之間的數(shù)據(jù)傳輸。DMA引擎利用存儲器中“發(fā)送描述符數(shù)組”和“接收描述符數(shù)組”來管理收發(fā)數(shù)據(jù)。描述符數(shù)組的每一個元素對應(yīng)著一個數(shù)據(jù)緩沖區(qū),多個數(shù)據(jù)緩沖區(qū)形成環(huán)形結(jié)構(gòu),而每一個數(shù)據(jù)緩沖區(qū)可以保存一個完整的以太網(wǎng)幀(Frame)或其中的一個幀片段(Fragment),即一個完整的以太網(wǎng)幀由一個或多個幀片段組成。

同時,使用生產(chǎn)索引(Produce Index)和消費(fèi)索引(Consume Index)兩個索引寄存器,來記錄幀片段在環(huán)形緩沖結(jié)構(gòu)中的位置,并隨著數(shù)據(jù)的生產(chǎn)和消費(fèi)相應(yīng)地循環(huán)移動。

接收數(shù)據(jù)時,DMA引擎將MAC收到的幀片段“分散”存放到多個接收緩沖區(qū),并設(shè)置狀態(tài)標(biāo)志位,供上層服務(wù)使用;發(fā)送數(shù)據(jù)時,DMA引擎將多個發(fā)送緩沖區(qū)的幀片段按順序“集中”起來發(fā)送出去,并設(shè)置狀態(tài)標(biāo)志位,供上層服務(wù)使用。

完整的以太網(wǎng)驅(qū)動的初始化包含如下過程:

① LPC1768的以太網(wǎng)模塊時鐘和引腳使能;

② 初始化MAC地址、背對背、包間隙、最大幀長、沖突/重發(fā)窗口等控制寄存器;

③ 初始化PHY芯片;

④ 初始化發(fā)送描述符數(shù)組和接收描述符數(shù)組;

⑤ 使能接收完成(Rx Done)和發(fā)送完成(Tx Done)中斷;

⑥ 啟動發(fā)送和接收功能。

2.2.2 TCP/IP協(xié)議棧移植

TCP/IP協(xié)議棧的實(shí)現(xiàn)必須基于嵌入式實(shí)時操作系統(tǒng)。本方案采用了RL-RTX實(shí)時操作系統(tǒng),它由ARM公司開發(fā),是一款功能強(qiáng)大的嵌入式實(shí)時操作系統(tǒng),適用于ARM7、ARM9、以及Cortex-M架構(gòu)的微處理器,具有如下特點(diǎn):

① 支持時間片、搶占式和合作式調(diào)度;

② 低中斷延遲,對應(yīng)Cortex-M3/M4內(nèi)核可以實(shí)現(xiàn)零中斷延遲;

③ 具有254級任務(wù)優(yōu)先級;

④ 支持庫移植方式,移植方便;

⑤ 基于對話框的配置向?qū)В眉舴奖恪?/p>

具體移植時,選擇庫移植方式,在“目標(biāo)選項(xiàng)”標(biāo)簽頁的操作系統(tǒng)下拉列表中選擇“RTX Kernel”;然后,添加RTX系統(tǒng)的配置文件RTX_Conf_CM.c到工程中,通過配置向?qū)θ蝿?wù)數(shù)量、默認(rèn)堆棧大小、主頻和tick值進(jìn)行設(shè)置,完成操作系統(tǒng)的裁剪。

RL-RTX實(shí)時操作系統(tǒng)同時提供了眾多的中間件,其中TCP/IP協(xié)議的中間件為RL-TCPnet,它具有RAM空間,花費(fèi)少,同時目標(biāo)代碼緊湊,特別適合于資源有限的嵌入式操作系統(tǒng),并針對ARM7、ARM9、以及Cortex-M架構(gòu)的微處理器進(jìn)行了優(yōu)化。

移植RL-TCPnet時,需要對三個文件重點(diǎn)關(guān)注:TCP_CM3.lib是實(shí)現(xiàn)RL-TCPnet的庫文件,需要將其添加到工程中;Net_Config.c是配置文件,可通過配置向?qū)瓿蓪P地址、MAC地址等參數(shù)的設(shè)置;rtl.h包含了RL-TCPnet的庫文件的函數(shù)原型,使用時必須引用它。

RL-TCPnet作為中間件,提供了與驅(qū)動層和應(yīng)用層的數(shù)據(jù)傳輸接口。在系統(tǒng)初始化時,調(diào)用init_TcpNet()函數(shù)來初始化RL-TCPnet,該函數(shù)調(diào)用了以太網(wǎng)驅(qū)動層的相關(guān)函數(shù),完成了對MAC和PHY的初始化;同時建立了RL-TCPnet的運(yùn)行環(huán)境。

當(dāng)OS啟動之后,需要2個優(yōu)先級固定的系統(tǒng)任務(wù)支撐RL-TCPnet的運(yùn)行。任務(wù)tick_timer()用來為RL-TCPnet提供節(jié)拍,以周期性地喚醒RL-TCPnet主線程main_TcpNet();任務(wù)tcp_poll()調(diào)用RL-TCPnet主線程main_TcpNet(),它使用標(biāo)準(zhǔn)的Socket API向應(yīng)用層提供數(shù)據(jù)收發(fā)服務(wù)。

本方案中使用UDP協(xié)議來進(jìn)行應(yīng)用開發(fā),RL-TCPnet主線程main_TcpNet()監(jiān)聽網(wǎng)絡(luò)上的UDP數(shù)據(jù)包,無論何時,只要收到UDP數(shù)據(jù)包,就會調(diào)用回調(diào)函數(shù)udp_callback(),通過消息郵箱的通信機(jī)制通知應(yīng)用層任務(wù)接收數(shù)據(jù)包。

數(shù)據(jù)包中不僅含有凈荷,還含有源端口號和目的端口號,供應(yīng)用層進(jìn)行路由處理;發(fā)送UDP數(shù)據(jù)包時,應(yīng)用層將待發(fā)送的數(shù)據(jù)正文準(zhǔn)備好,調(diào)用UDP Socket Send API函數(shù)的同時將目標(biāo)IP地址、目的端口號、源端口號等參數(shù)傳遞給它,main_TcpNet()將自動組成UDP數(shù)據(jù)包并交由驅(qū)動層發(fā)送出去。

2.2.3 數(shù)據(jù)包路由選擇

每一個串口的端口號存儲在存儲器中,當(dāng)收到UDP數(shù)據(jù)包時,將數(shù)據(jù)包中的目的端口號與各個串口的端口號逐一比對,若有匹配的,則將凈荷向相應(yīng)的串口轉(zhuǎn)發(fā);若匹配不中,則將該UDP數(shù)據(jù)包丟棄。

同時,為每一個串口分配512字節(jié)的接收緩沖區(qū),任務(wù)循環(huán)檢查各個緩沖區(qū)是否為空,一旦某個串口收到字節(jié),在將其放入對應(yīng)的緩沖區(qū)的同時啟動超時計(jì)時,超時時間一般為當(dāng)前波特率下接收5個字符的時間,當(dāng)下一個到來的字符沒有超時時,超時計(jì)數(shù)器被清零;當(dāng)發(fā)生超時時,則表示完整地收到了一幀數(shù)據(jù),為該幀數(shù)據(jù)插上源端口號,目的端口號等幀頭信息交由UDP Socket Send API函數(shù)進(jìn)行轉(zhuǎn)發(fā),完成串口到網(wǎng)口的數(shù)據(jù)傳輸。

3 測試與驗(yàn)證

如圖4所示,使用TCP&DUP測試工具在監(jiān)控主機(jī)上建立了2個UDP客戶端,目標(biāo)IP均為10.35.217.168,客戶端1通過端口號23訪問局端光端機(jī),客戶端2通過端口號26訪問遠(yuǎn)端光端機(jī),數(shù)據(jù)通信正常,2個客戶端獨(dú)立工作,分別實(shí)現(xiàn)對局端光端機(jī)和遠(yuǎn)端光端機(jī)的監(jiān)控。

圖4 UDP多進(jìn)程測試

結(jié) 語

[1] 王國法,劉薇,段明瑋.基于嵌入式系統(tǒng)的以太網(wǎng)通信開發(fā)[J].光通信技術(shù),2012,36(4):36-38.

[2] Behrouz A.Forouzan.TCP/IP協(xié)議族 [M].3版.北京:清華大學(xué)出版社,2009.

郭文龍(工程師),主要從事光通信研發(fā)工作。

猜你喜歡
進(jìn)程
債券市場對外開放的進(jìn)程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
改革開放進(jìn)程中的國際收支統(tǒng)計(jì)
中國外匯(2019年8期)2019-07-13 06:01:06
快速殺掉頑固進(jìn)程
社會進(jìn)程中的新聞學(xué)探尋
我國高等教育改革進(jìn)程與反思
Linux僵死進(jìn)程的產(chǎn)生與避免
講效率 結(jié)束進(jìn)程要批量
電腦迷(2012年24期)2012-04-29 00:44:03
男女平等進(jìn)程中出現(xiàn)的新矛盾和新問題
俄羅斯現(xiàn)代化進(jìn)程的阻礙
論文萊的民族獨(dú)立進(jìn)程
主站蜘蛛池模板: 欧美色视频日本| 欧美一级在线播放| 国产嫩草在线观看| 亚洲中文无码h在线观看| 国产精品亚洲一区二区三区在线观看| 日本黄色a视频| 国产精品无码制服丝袜| 亚洲AⅤ波多系列中文字幕| 色吊丝av中文字幕| 韩日无码在线不卡| 夜夜拍夜夜爽| 99久久精品免费视频| 无码福利视频| 最近最新中文字幕免费的一页| 婷婷六月综合网| 国产精品福利一区二区久久| 精品福利一区二区免费视频| 毛片手机在线看| 精品亚洲麻豆1区2区3区| 蝴蝶伊人久久中文娱乐网| 色噜噜综合网| 九九视频在线免费观看| 一本久道久久综合多人| 中文字幕欧美成人免费| 亚洲全网成人资源在线观看| 久久人与动人物A级毛片| 2020极品精品国产| 婷婷亚洲天堂| 最新精品久久精品| 成人午夜免费观看| 婷婷五月在线视频| 久久精品这里只有精99品| 人妻中文久热无码丝袜| 欧美性久久久久| 99视频精品全国免费品| 国产亚洲欧美另类一区二区| 亚洲国产精品VA在线看黑人| 亚洲AV色香蕉一区二区| 亚洲精品无码不卡在线播放| 91福利国产成人精品导航| 色妞www精品视频一级下载| 国产成人久视频免费| 欧美亚洲网| 91美女视频在线| 久热re国产手机在线观看| 中文无码伦av中文字幕| 国产黑丝一区| 国产H片无码不卡在线视频| 中国一级特黄视频| AV不卡国产在线观看| 精品久久久久久久久久久| 99资源在线| 一级片一区| 成人免费午间影院在线观看| 青青国产视频| 国产在线精品99一区不卡| 狠狠做深爱婷婷久久一区| 国产自视频| 日本国产在线| 国产精品福利一区二区久久| 国产特一级毛片| 91精品啪在线观看国产91| 黄色三级网站免费| 久久久久青草大香线综合精品 | 亚洲一区二区精品无码久久久| 国产免费黄| 无码专区第一页| 中字无码av在线电影| 99视频精品全国免费品| 亚洲国产黄色| 青青热久麻豆精品视频在线观看| 国产97视频在线| 天天操精品| 青青草a国产免费观看| 欧美日一级片| 欧美成人在线免费| 久久性视频| 无码免费视频| 亚洲第一福利视频导航| 亚洲中文精品久久久久久不卡| 被公侵犯人妻少妇一区二区三区| 国产一级小视频|