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

基于FPGA的高速冗余I/O總線設(shè)計(jì)與實(shí)現(xiàn)

2019-04-28 10:18:04牛洪海
自動(dòng)化儀表 2019年4期

劉 鎏,臧 峰,牛洪海

(南京南瑞繼保電氣有限公司,江蘇 南京 211102)

0 引言

控制系統(tǒng),如分布式控制系統(tǒng)(distributed control system,DCS)、可編程邏輯控制器(programmable logic controller,PLC)等,是計(jì)算機(jī)技術(shù)不斷發(fā)展與自動(dòng)化控制技術(shù)相結(jié)合的產(chǎn)物,在電力、石化、冶金、化工等大型工業(yè)中有著廣泛的應(yīng)用[1]。與蓬勃發(fā)展的現(xiàn)場(chǎng)總線(如Profibus、FF、CAN、LonWorks等[2-3])相比,控制系統(tǒng)本地總線的發(fā)展顯得相對(duì)緩慢。究其原因,主要是控制系統(tǒng)與本地輸入/輸出(input/output,I/O)模塊通信相對(duì)比較封閉,涉及到控制系統(tǒng)架構(gòu)和所有I/O模塊,因此各個(gè)廠家都對(duì)協(xié)議保密,令其他廠家無(wú)法獲取其通信信息。文獻(xiàn)[4]提出了一種基于面向通用對(duì)象的變電站事件(general object oriented substatI/on event,GOOSE)的控制器與I/O之間的通信協(xié)議,但由于其使用網(wǎng)絡(luò)通信,限制了其使用范圍。文獻(xiàn)[5]提出了一種基于PCI Express的通信線,但由于計(jì)算機(jī)串行總線(如PCI Express、USB、IEEE 1394)兼容性、可靠性和可擴(kuò)展性等方面的原因,無(wú)法很好地滿足控制系統(tǒng)應(yīng)用的需求[6-9]。

針對(duì)上述總線所存在的問(wèn)題,本文提出了一種基于現(xiàn)場(chǎng)可編程門(mén)陣列(field programmable gate array,FPGA)的高速、可靠的冗余I/O通信總線。物理層采用多點(diǎn)低壓差分信號(hào)[10](multi-point-low-voltage differential signaling,M-LVDS)標(biāo)準(zhǔn),實(shí)現(xiàn)了數(shù)據(jù)鏈路層實(shí)時(shí)數(shù)據(jù)的傳輸和通道鏈路狀態(tài)的監(jiān)視,保證了數(shù)據(jù)傳輸?shù)目煽啃院蛯?shí)時(shí)性。I/O模塊采用直接內(nèi)存存取(direct memory access,DMA)的方式進(jìn)行通用異步收發(fā)器(universal asynchronous receiver transmitter,UART)的通信報(bào)文解析,詳細(xì)設(shè)計(jì)參考文獻(xiàn)[10]。

1 系統(tǒng)總體方案

系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)圖

目前,主流控制系統(tǒng)的體系架構(gòu)一般可分為4個(gè)層次:企業(yè)管理層、工廠(車間)層、控制裝置單元層和現(xiàn)場(chǎng)儀表層[11]。其中,控制單元層包括控制器和I/O模塊。控制器與I/O模塊的互聯(lián)互通是整個(gè)系統(tǒng)數(shù)據(jù)傳輸?shù)臉屑~,在實(shí)時(shí)性、可靠性和可擴(kuò)展性等方面有著非常高的要求,總線的通信效率直接影響了整個(gè)控制系統(tǒng)的性能[1]。本文設(shè)計(jì)的控制器采用主備冗余的方案,I/O單元采用A/B冗余I/O總線方案。主備控制器通A/B冗余總線與I/O模塊進(jìn)行通信,但僅主控制器通過(guò)A/B冗余總線交替對(duì)I/O模塊發(fā)送查詢數(shù)據(jù)和控制報(bào)文,備控制器通過(guò)A/B冗余總線監(jiān)聽(tīng)I(yíng)/O模塊的響應(yīng)數(shù)據(jù)以判斷鏈路的通斷。當(dāng)備控制器升級(jí)為主控制器后,原主控制器不再發(fā)送查詢數(shù)據(jù)和控制報(bào)文,而新晉控制器主要發(fā)送查詢數(shù)據(jù)和控制報(bào)文。

其中,I/O模塊可以是模擬量輸入(analog input,AI)、模擬量輸出(analog output,AO)、開(kāi)關(guān)量輸入(digital input, DI)、開(kāi)關(guān)量輸出(digital output,DO)或其他一些特殊的I/O模塊。一對(duì)控制器下可以帶6條冗余I/O總線,每條I/O冗余總線可以掛載10個(gè)I/O模塊。因此,本文設(shè)計(jì)的控制器一共可以掛載60個(gè)本地I/O模塊。

2 協(xié)議設(shè)計(jì)與實(shí)現(xiàn)

控制器與I/O模塊之間通信的實(shí)時(shí)性和可靠性,主要取決于物理層通信速率和數(shù)據(jù)鏈路層調(diào)度策略。本文設(shè)計(jì)的通信協(xié)議規(guī)定了控制器與I/O模塊之間的信息交換模式。此協(xié)議遵守開(kāi)發(fā)系統(tǒng)互連參考模型(open system interconnect / on reference model,OSI/RM),使用了應(yīng)用層、數(shù)據(jù)鏈路層和物理層。應(yīng)用層實(shí)現(xiàn)了I/O模塊實(shí)時(shí)數(shù)據(jù)或非實(shí)時(shí)數(shù)據(jù)的解析,數(shù)據(jù)鏈路層實(shí)現(xiàn)了數(shù)據(jù)的循環(huán)冗余校驗(yàn)(cyclic redundant check,CRC),物理層實(shí)現(xiàn)了串口數(shù)據(jù)的編解碼功能。

本文設(shè)計(jì)的每個(gè)I/O模塊均具有相同的通信接口和幀結(jié)構(gòu)。I/O模塊包括一個(gè)微控制器(micro control unit,MCU),通過(guò)DMA實(shí)現(xiàn)了數(shù)據(jù)的采集和分析,詳細(xì)設(shè)計(jì)參考文獻(xiàn)[11]。控制器使用了Xilinx公司的Zynq芯片。此芯片具有2個(gè)ARM芯片和1個(gè)FPGA。ARM芯片運(yùn)行QNX實(shí)時(shí)操作系統(tǒng),并通過(guò)FPGA擴(kuò)展6路冗余I/O總線。每路總線實(shí)現(xiàn)了5 Mbit/s的高速串口通信,主要包括M-LVDS發(fā)送/接收模塊、10 bit編解碼模塊、CRC校驗(yàn)?zāi)K。QNX實(shí)時(shí)操作系統(tǒng)通過(guò)配置寄存器和DMA實(shí)現(xiàn)與FPGA的數(shù)據(jù)交互。

2.1 物理層協(xié)議

物理層規(guī)定了控制器與I/O模塊之間通信的機(jī)械、電氣、功能和過(guò)程方面的特性。此通信協(xié)議采用M-LVDS標(biāo)準(zhǔn),實(shí)現(xiàn)了一主多從的通信模式。M-LVDS具有高速傳輸、低電壓擺幅、抗干擾、低功耗、多點(diǎn)通信和故障安全隔離等特點(diǎn)[1]。由于M-LVDS具有上述特點(diǎn),I/O模塊可以實(shí)現(xiàn)在線熱插拔以實(shí)時(shí)建立或斷開(kāi)與控制器的通信,而不會(huì)干擾I/O總線上其他I/O模塊的通信功能。總線的熱插拔功能提高了整個(gè)系統(tǒng)的可靠性和可擴(kuò)展性。

2.2 數(shù)據(jù)鏈路層協(xié)議

數(shù)據(jù)鏈路層負(fù)責(zé)在鏈路上進(jìn)行控制器與I/O模塊之間鏈路層協(xié)議數(shù)據(jù)單元(protocol data unit,PDU)的交互。數(shù)據(jù)鏈路層詳細(xì)定義了協(xié)議數(shù)據(jù)單元,如表1所示。其中:?jiǎn)?dòng)字符0x7e7e的幀格式按照幀頭幀尾判斷,幀長(zhǎng)度是從啟動(dòng)字符1到結(jié)束字符的長(zhǎng)度。

表1 協(xié)議數(shù)據(jù)單元

2.3 應(yīng)用層協(xié)議

應(yīng)用層協(xié)議主要包括3個(gè)部分:①控制器根據(jù)I/O模塊的配置文件,對(duì)下發(fā)給I/O模塊的查詢或控制報(bào)文進(jìn)行組包;②解析I/O模塊上送的實(shí)時(shí)數(shù)據(jù),并把數(shù)據(jù)填入I/O接收緩沖區(qū);③對(duì)非實(shí)時(shí)報(bào)文進(jìn)行組包或解析。

由于QNX實(shí)時(shí)操作系統(tǒng)通過(guò)DMA把下發(fā)給I/O模塊的報(bào)文傳輸給FPGA,因此需要對(duì)下發(fā)的報(bào)文格式進(jìn)行設(shè)計(jì),以保證FPGA接收數(shù)據(jù)的正確性。定義ARM傳輸給FPGA的數(shù)據(jù)格式如表2所示。

表2 ARM傳輸給FPGA的數(shù)據(jù)格式

Tab.2 Data format of ARM to FPGA

info字段使用6 bit作為掩碼,每個(gè)bit位代表6條總線的各個(gè)分支,如0x1表示在第一條總線上發(fā)送,0x10代表在第五條總線上發(fā)送,0x3f代表六個(gè)分支都發(fā)送。len_byte代表這幀數(shù)據(jù)報(bào)文的總長(zhǎng)度,content即數(shù)據(jù)鏈路層協(xié)議數(shù)據(jù)單元PDU,但沒(méi)有CRC校驗(yàn)和幀尾標(biāo)志。這2項(xiàng)內(nèi)容FPGA會(huì)自動(dòng)加入,以減輕ARM芯片的負(fù)載。

由于采用DMA發(fā)送數(shù)據(jù)會(huì)產(chǎn)生DMA中斷,因此在FPGA接收到數(shù)據(jù)后,并不是通過(guò)DMA的方式把數(shù)據(jù)傳輸給QNX實(shí)時(shí)操作系統(tǒng),而是通過(guò)循環(huán)緩沖區(qū)的方式把數(shù)據(jù)存儲(chǔ)在全局?jǐn)?shù)據(jù)區(qū)。此設(shè)計(jì)有兩方面的優(yōu)勢(shì):①減少DMA中斷產(chǎn)生的次數(shù),QNX實(shí)時(shí)操作系統(tǒng)不需要在FPGA接收到每個(gè)I/O模塊數(shù)據(jù)后都產(chǎn)生一次中斷去處理數(shù)據(jù);②6條總線下的I/O模塊可以統(tǒng)一處理,I/O模塊的數(shù)據(jù)可以形成一個(gè)斷面,有利于算法頁(yè)處理。

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

軟件程序主要包括:①I(mǎi)/O模塊配置文件解析;②串口寄存器配置;③串口驅(qū)動(dòng)配置;④FPGA寄存器配置;⑤實(shí)時(shí)報(bào)文傳輸;⑥非實(shí)時(shí)報(bào)文傳輸。控制器開(kāi)機(jī)后,首先進(jìn)行參數(shù)配置設(shè)置。設(shè)置完后,F(xiàn)PGA定周期產(chǎn)生5 ms脈沖信號(hào),QNX實(shí)時(shí)操作系統(tǒng)捕獲此脈沖信號(hào)后,進(jìn)行實(shí)時(shí)報(bào)文和非實(shí)時(shí)報(bào)文的組包和解析。

3.1 實(shí)時(shí)報(bào)文傳輸

實(shí)時(shí)傳輸流程如圖2所示。

圖2 實(shí)時(shí)傳輸流程圖

當(dāng)QNX實(shí)時(shí)操作系統(tǒng)捕獲FPGA產(chǎn)生的定時(shí)中斷后,首先,F(xiàn)PGA通過(guò)循環(huán)緩沖區(qū)傳輸給應(yīng)用層的報(bào)文解析,根據(jù)解析結(jié)果把I/O模塊的實(shí)時(shí)采集數(shù)填入I/O模塊的內(nèi)存區(qū);然后控制器根據(jù)I/O模塊配置信息,對(duì)下發(fā)給I/O模塊的控制或查詢報(bào)文進(jìn)行組包;最后,當(dāng)掃描完60個(gè)I/O模塊后,把形成的下發(fā)報(bào)文通過(guò)DMA傳輸給FPGA。FPGA接收到報(bào)文后,通過(guò)表2格式進(jìn)行解析,并在鏈路協(xié)議數(shù)據(jù)單元PDU的末尾填入CRC校驗(yàn)和幀尾標(biāo)志。

3.2 非實(shí)時(shí)報(bào)文傳輸

由于FPGA定周期產(chǎn)生5 ms的脈沖信號(hào)進(jìn)行實(shí)時(shí)報(bào)文的接收和下發(fā),因此需要考慮在實(shí)時(shí)報(bào)文中加入非實(shí)時(shí)報(bào)文,以適應(yīng)一些非周期性數(shù)據(jù)的請(qǐng)求。本文的設(shè)計(jì)方案是:如果分支有非實(shí)時(shí)數(shù)據(jù),那么在此分支實(shí)時(shí)報(bào)文傳輸周期的最末加了一幀非實(shí)時(shí)報(bào)文;如果沒(méi)有,則忽略此分支的非實(shí)時(shí)時(shí)隙。利用這種方案,可以有效解決實(shí)時(shí)報(bào)文傳輸和非實(shí)時(shí)報(bào)文傳輸?shù)臎_突。

3.3 性能分析

通過(guò)如圖3所示的總線時(shí)隙圖,可以更好地理解控制器與I/O模塊如何通過(guò)A/B冗余總線進(jìn)行通信。

圖3 總線時(shí)隙圖

圖3中:T1為QNX實(shí)時(shí)操作系統(tǒng)解析I/O模塊上送數(shù)據(jù)的時(shí)間,T2為QNX實(shí)時(shí)操作系統(tǒng)根據(jù)I/O模塊配置文件進(jìn)行下發(fā)查詢或控制報(bào)文的組包時(shí)間,T3為通過(guò)DMA把數(shù)據(jù)從ARM芯片傳輸給FPGA的時(shí)間。經(jīng)過(guò)實(shí)測(cè),T1、T2、T3的處理時(shí)間量級(jí)都在ms級(jí)。

當(dāng)達(dá)到T3后,F(xiàn)PGA根據(jù)表2格式進(jìn)行下發(fā)數(shù)據(jù)報(bào)文解析,并自動(dòng)加入CRC校驗(yàn)和幀尾標(biāo)志下發(fā)查詢或控制報(bào)文。理論上,因?yàn)門(mén)1、T2、T3并不占用總線帶寬時(shí)間,通信時(shí)間可以達(dá)到5 ms。如果此周期是A總線下發(fā)報(bào)文,那么下個(gè)周期切換到B總線下發(fā)報(bào)文。

這樣切換發(fā)送既可以減輕I/O模塊的通信負(fù)載,也可以監(jiān)視A/B總線的通信鏈路狀態(tài)。但是這樣操作的缺陷就是處理I/O模塊反饋的數(shù)據(jù),需等待2個(gè)查詢周期,即10 ms的時(shí)間。如果A總線或B總線通信鏈路斷開(kāi),那么會(huì)導(dǎo)致整個(gè)分支查詢周期擴(kuò)大一倍。但是控制器和I/O模塊在一個(gè)屏柜組屏,而且通信鏈路斷開(kāi)控制器會(huì)報(bào)警,因此可以很好地避免這種情況的發(fā)生。

4 結(jié)束語(yǔ)

本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于FPGA的高速冗余I/O總線。系統(tǒng)很好地結(jié)合了嵌入式ARM芯片與FPGA的優(yōu)點(diǎn),實(shí)現(xiàn)了FPGA與ARM芯片相結(jié)合的嵌入式平臺(tái)開(kāi)發(fā),提高了系統(tǒng)的實(shí)時(shí)性、可靠性和穩(wěn)定性。該設(shè)計(jì)可以保證6路I/O模塊總線實(shí)時(shí)并發(fā)處理,而且不占用ARM芯片的處理時(shí)間,因此具有很高的使用價(jià)值和推廣意義。

主站蜘蛛池模板: 中文字幕在线欧美| 免费观看国产小粉嫩喷水| 国产电话自拍伊人| 99久久性生片| 四虎在线观看视频高清无码| 国产91精品调教在线播放| 日日拍夜夜操| 国产在线拍偷自揄观看视频网站| av一区二区三区高清久久| 国产白浆在线观看| 午夜综合网| 高清欧美性猛交XXXX黑人猛交 | 中文字幕日韩丝袜一区| 丝袜国产一区| 一区二区午夜| 色综合天天娱乐综合网| 亚洲无线国产观看| 国产高清无码麻豆精品| 精品国产www| 国产成人精品一区二区秒拍1o| 久久大香香蕉国产免费网站| av在线无码浏览| 久久精品国产免费观看频道| 亚洲最大情网站在线观看 | 亚洲欧美激情小说另类| A级毛片高清免费视频就| 91无码视频在线观看| 在线不卡免费视频| 色成人综合| 91在线播放免费不卡无毒| 国产视频a| 国产成人精品18| 欧美精品成人一区二区视频一| 精品久久久无码专区中文字幕| 97综合久久| 亚洲性日韩精品一区二区| 99中文字幕亚洲一区二区| 久久精品无码国产一区二区三区 | 日韩AV无码一区| 国产农村1级毛片| 亚洲天堂成人在线观看| 国产免费看久久久| 97在线免费| 久草视频一区| 色偷偷男人的天堂亚洲av| 人人爽人人爽人人片| 久久伊人久久亚洲综合| 免费人成网站在线观看欧美| 免费人成视网站在线不卡| 国产精品视频系列专区| 四虎永久在线| 亚洲色偷偷偷鲁综合| 欧美a网站| 亚洲精品视频网| 亚洲成a人片77777在线播放| 无码aaa视频| 亚洲日本中文字幕乱码中文| 波多野结衣久久精品| 日韩欧美中文字幕在线韩免费| 中文国产成人精品久久一| 十八禁美女裸体网站| 欧美国产日韩在线| 久久性视频| 国产无码在线调教| 亚洲香蕉在线| 久久精品aⅴ无码中文字幕| 无码免费视频| 欧美激情视频一区| 久久精品丝袜高跟鞋| 大陆精大陆国产国语精品1024| 九色91在线视频| 波多野结衣视频一区二区| 日韩第九页| 国产成人精品一区二区免费看京| 日韩精品一区二区三区swag| 成人毛片免费在线观看| 制服无码网站| www.91在线播放| 国产小视频免费观看| 中国精品久久| 亚洲热线99精品视频| 国产欧美精品午夜在线播放|