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

?

基于FPGA的高速高精位置獲取與傳輸系統(tǒng)

2014-11-30 07:49:20霍立剛周云飛劉廣斗
計算機工程與設計 2014年6期
關鍵詞:內(nèi)核字符校驗

霍立剛,周云飛,劉廣斗

(華中科技大學機械科學與工程學院,湖北武漢430074)

0 引言

在一些實時性要求很高的運動控制系統(tǒng)中,控制任務極其復雜,同時要求高速度,高精度。例如光刻機的步進掃描運動控制,需控制多達15軸的運動,要求在高加速度(1.5g)、高速 (1.2m/s)運行條件下達到納米級的運動精度控制。要實現(xiàn)這樣的要求,高速高精度的位置反饋是必須的[1]。EnDat2.2同步雙向數(shù)字接口可以為數(shù)字驅動系統(tǒng)提供極高精度的位置信息,高速光纖通信提供編碼器到位置伺服計算處理器的通信通道,實現(xiàn)位置值的高速可靠的傳輸。光纖作為傳輸介質(zhì),傳輸速率高、傳輸容量大、衰減小,傳輸距離長、抗干擾能力強、耐高溫、抗腐蝕、工作可靠、成本低廉,對現(xiàn)場復雜的實時性要求很高的控制系統(tǒng)可謂是完美的解決方案[1-4]。

現(xiàn)場可編程邏輯門陣列FPGA具有容量大,編程靈活,并行處理能力強的特點,在各種通信協(xié)議的實現(xiàn)方面得到廣泛應用。本文中最關鍵的內(nèi)核,光纖通信內(nèi)核與En-Dat2.2內(nèi)核都是在FPGA上編程實現(xiàn)的,因此協(xié)議具有靈活可配置的特點[5]。

1 系統(tǒng)整體實現(xiàn)方案

位置獲取與傳輸系統(tǒng)的整體結構如圖1所示,主要分為以下幾個部分:

(1)串并轉換器:串并轉換 (Serializer/Des erializer)簡稱SerDes,是高速串行通信中最關鍵的部件。在本文中我們選取德州儀器TI的TLK1221來完成串并轉換的功能。TLK1221是千兆以太網(wǎng)收發(fā)器,用于高速全雙工的點對點數(shù)據(jù)傳輸,支持0.6Gbps-1.3Gbps的數(shù)據(jù)速率,基帶傳輸特征阻抗為50Ω,這一點要在制板的時候得到保證。在發(fā)送端,經(jīng)過8B/10B編碼的并行10位數(shù)據(jù)在發(fā)送參考時鐘TBC的上升沿被鎖存,然后將數(shù)據(jù)以參考時鐘的10倍頻將串行化并通過PECL兼容的電平差分信號進行傳輸;在接收端,將隱藏在串行數(shù)據(jù)流中的時鐘信號提取出來。該時鐘信號是從發(fā)送端的時鐘信號經(jīng)過相位內(nèi)插調(diào)整相位關系而來,與10位的恢復并行數(shù)據(jù)的字節(jié)邊界對齊,因此被形象的稱為恢復字節(jié)時鐘RBC[6]。

圖1 位置獲取與傳輸系統(tǒng)總體結構

(2)激光收發(fā)器:選取安捷倫公司的HFBR53A3完成電信號與光信號的轉換。HFBR53A3是一款多模光纖接口的光纖收發(fā)器,兼容ANSIX3.297-1996標準的光纖通道物理接口,支持300m長的62.5/125um MMF光纜和500m長的50/125um MMF光纜,本文中采用的是前者,長度為3米。

(3)光纖通信內(nèi)核:該通信內(nèi)核在 Altera公司的EP3C16F484C8型號的FPGA上實現(xiàn),是系統(tǒng)傳輸模塊中最核心的部分。內(nèi)核完成最上層控制單元DSP與傳輸模塊之間的通信連接,控制著通信數(shù)據(jù)包格式、發(fā)送接收機制、鏈路物理診斷、及通信錯誤情況處理等最核心的功能。

(4)位置獲取模塊:EnDat協(xié)議內(nèi)核也是在FPGA上實現(xiàn),完成從位置編碼器高速可靠地獲取位置值的功能。根據(jù)EnDat接口規(guī)范,采用RS485通信接口,RS485平衡發(fā)送和差分接收,具有很強的抑制共模干擾的能力。為匹配線路特征阻抗 (characteristic impedance),在數(shù)據(jù)和時鐘的差分線路端部,各需加一個120Ω的電阻,同時各線路應加一個330pF的電容,以濾除高頻干擾。由于采用串行數(shù)據(jù)傳輸方式,故只需要4條信號線,接口十分簡單可靠。

2 光纖通信內(nèi)核的FPGA實現(xiàn)

圖2 光纖通信內(nèi)核

光纖通信內(nèi)核包含通信的物理層和傳輸協(xié)議控制層兩個層面,基于FPGA和SerDes的傳輸模塊,完成數(shù)據(jù)包的傳輸控制,并行串行轉換,編解碼、時鐘信號的恢復提取、字節(jié)的相位對齊等一系列核心的功能。如圖2所示,通信內(nèi)核包含發(fā)送與接收控制、編解碼、串并轉換、錯誤處理、及數(shù)據(jù)緩沖等模塊。發(fā)送控制器由最上層控制單元DSP通過外部存儲器接口EMIF進行控制,如被觸發(fā),立即將保存在發(fā)送FIFO中的數(shù)據(jù),按照內(nèi)核協(xié)議規(guī)定好的數(shù)據(jù)包格式進行打包,然后再經(jīng)過8B/10B編碼,最后在發(fā)送參考時鐘TBC上節(jié)拍下,將并行的數(shù)據(jù)經(jīng)過SerDes串行的輸出到光纖通道。接收控制器則不受最上層控制單元DSP的直接控制,其接收邏輯由狀態(tài)機實現(xiàn),通過檢測幾個特殊字符來判斷不同的接收邏輯,內(nèi)核用到的特殊編碼字符將在后面詳細介紹。接收控制器在恢復時鐘RBC的節(jié)拍下將串行的數(shù)據(jù)流反串行化之后正確地對齊10位數(shù)據(jù)的邊界,然后經(jīng)過8B/10B譯碼,最后將校驗正確的數(shù)據(jù)保存到接收緩沖區(qū)中,同時產(chǎn)生應答信號,發(fā)送應答字符給對方,表示本次接收已成功完成。數(shù)據(jù)保存到接收緩沖區(qū)之后,會硬件產(chǎn)生數(shù)據(jù)接收中斷,以告知最上層控制單元DSP數(shù)據(jù)接收完畢,可以讀取處理。在圖2中,用不同顏色標識的兩個區(qū)域,分別代表發(fā)送時鐘域和接收時鐘域,這兩個時鐘域由不同的時鐘基準,因此是不相關的,信號在兩個時鐘域直接傳遞就涉及跨時鐘域信號傳遞的問題。

應答信號由接收時鐘域產(chǎn)生,要傳遞到發(fā)送時鐘域。為了最大限度地減少由于亞穩(wěn)態(tài)造成的設計失敗,我們采用了兩級同步寄存器鏈,同步寄存器鏈允許額外的時間來讓亞穩(wěn)態(tài)信號到達一個確定的狀態(tài),使得設計更加安全。

3 數(shù)據(jù)包格式及高速數(shù)據(jù)編解碼

高速光纖通信屬于串行通信方式,數(shù)據(jù)通過差分線路發(fā)送和接收。未經(jīng)編碼的數(shù)據(jù)會產(chǎn)生直流偏移,這將影響在接收端的信號質(zhì)量,使得時鐘和數(shù)據(jù)的提取變得異常困難。本文所述系統(tǒng)采用IBM提出的標準8B/10B編碼方式。在圖2中,發(fā)送控制器送出的8位并行數(shù)據(jù)在送往串并轉換器SerDes之前必須經(jīng)過8B/10B編碼,然后將編碼后的10位并行數(shù)據(jù)串行化發(fā)送。8B/10B編碼支持8位數(shù)據(jù)的256種編碼組合,除此之外還有一些編碼組合用以特殊的功能,故被稱之為特殊字符。采用8B/10B編碼的目的是提高信號在光纖信道上的傳輸特性。該編碼方式保證了串行數(shù)據(jù)流有足夠的跳變密度,從而有利于接收端的時鐘恢復;最大運行長度 (Run Length)即連續(xù)的0或者1的個數(shù)為5,可以有效的抑制串行數(shù)據(jù)流的頻譜范圍和碼間干擾 (inter-symbol interference,ISI);由于0和1的數(shù)量相同,故達到了直流平衡,提供足夠的驅動能力。8B/10B編碼詳細編碼方式見參考文獻[3],在此不再贅述,只列出本文中位置獲取與傳輸系統(tǒng)用到的特殊字符,其余特殊字符暫作保留,待擴展使用[7]。系統(tǒng)涉及到的特殊字符見表1。

表1 系統(tǒng)涉及到的特殊字符

數(shù)據(jù)包的傳輸格式與編碼方式及這些特殊字符有著密切的關系。串并轉換器TLK1221采用IEEE 802.3千兆以太網(wǎng)預定義的10位K28.5字符作為字對齊的解決方案。在接收端,時刻監(jiān)測該字符,當K28.5字符落在期望的字邊界,說明10位的字邊界正確對齊,不需要重新校正對齊;當K28.5字符橫跨在期望字邊界上時,需要重新校正對齊字邊界。在收到K28.5字符后,通過重新調(diào)整恢復時鐘與字邊界的相位關系,當前的數(shù)據(jù)被縮短或延長,數(shù)據(jù)出現(xiàn)損壞,但K28.5字符之后的數(shù)據(jù)又重新對齊了字邊界[8]。

數(shù)據(jù)包傳輸格式如圖6所示,由數(shù)據(jù)包開始標識符SOF、數(shù)據(jù)包結束標識符EOF、32位的幀頭、32位的有效數(shù)據(jù)、字對齊字符K28.5及各自的校驗字符組成。其中32位的有效數(shù)據(jù)可以通過幀頭的最高8位數(shù)據(jù)長度由DSP從1到255自由配置。對每個32位的有效數(shù)而言,傳輸總是以最低8位開始,最高8位結束。校驗字符由4個8位數(shù)據(jù)相加得到,溢出位自動忽略,因此校驗字符長度也是8位。

然而,在每個32位的有效數(shù)據(jù)之后都要插入一個字節(jié)的校驗字符,這也就意味著校驗消耗了1/5的通信鏈路帶寬。同時,為了對齊正確的字邊界,在每個校驗字符后面又插入了字對齊字符K28.5,連同校驗字符一樣,消耗了有效的通信鏈路帶寬。但對于高速高可靠性的控制系統(tǒng)而已,這樣的協(xié)議開銷是值得的,也是必須的[9]。

4 EnDat協(xié)議內(nèi)核的FPGA實現(xiàn)

EnDat協(xié)議內(nèi)核為數(shù)字驅動系統(tǒng)的反饋環(huán)提供快速高可靠性地位置值傳輸,為了使系統(tǒng)更加可靠,同時提供錯誤檢測和診斷的功能。圖3所示為EnDat協(xié)議內(nèi)核的結構圖,由時序控制模塊、發(fā)送模塊、接收模塊、時鐘生成模塊、相關寄存器及其與光纖通信內(nèi)核的邏輯接口模塊組成。

在內(nèi)核結構圖的左側,是內(nèi)核與同步串行雙向接口的物理層接口信號,包括發(fā)送信號線、接收信號線、時鐘信號線及其各自的使能信號。在右側,則是與光纖通信內(nèi)核連接的并行接口,包括了各種控制信號,8位的地址總線,32位的數(shù)據(jù)總線。其中地址總線為8位寬度,對應于傳輸數(shù)據(jù)包格式中有效數(shù)據(jù)的個數(shù)被限定在255以內(nèi)。

發(fā)送寄存器、模式指令寄存器和配置寄存器保存著待發(fā)送的數(shù)據(jù)。一旦觸發(fā),這些數(shù)據(jù)被轉為串行數(shù)據(jù)流在時序控制模塊的控制下由發(fā)送模塊串行發(fā)送給編碼器,同時時鐘生成模塊生成所需個數(shù)的時鐘脈沖。接收模塊在時序控制下將串行的數(shù)據(jù)流進行串并轉換,并將并行的數(shù)據(jù),依據(jù)不同的含義,分配在3個寄存器中,同時更新狀態(tài)寄存器和中斷寄存器,并產(chǎn)生中斷或觸發(fā)信號給光纖通信內(nèi)核。

根據(jù) EnDat協(xié)議規(guī)范,采用5位的循環(huán)冗余檢驗(CRC)碼來完成串行通信的數(shù)據(jù)校驗功能。將接收到的CRC碼與之前接收到的串行數(shù)據(jù)流在本地生成的CRC碼進行比較,即可檢驗通信的正確與否。CRC校驗可以檢測出數(shù)據(jù)傳輸中的所有單一錯誤,是正確快速地獲取位置值的保證[10]。CRC校驗結果保存在如圖3所示的狀態(tài)寄存器中。

圖3 EnDat協(xié)議內(nèi)核

5 系統(tǒng)位置獲取與傳輸機制

系統(tǒng)傳輸流程及位置獲取流程如圖4、圖5所示。本文位置獲取與傳輸系統(tǒng)中,最上層控制單元為DSP,所有的數(shù)據(jù)傳輸進程都受其控制。數(shù)據(jù)傳輸按數(shù)據(jù)流的方向分為上行數(shù)據(jù)進程和下發(fā)數(shù)據(jù)進程。下發(fā)數(shù)據(jù)進程即DSP向EnDat內(nèi)核下發(fā)各種配置數(shù)據(jù)的過程;上行數(shù)據(jù)進程即DSP向位置獲取模塊發(fā)送請求位置數(shù)據(jù)的過程,在此詳細論述上行數(shù)據(jù)進程,下行數(shù)據(jù)進程與之類似,在此不再贅述。DSP下發(fā)請求位置數(shù)據(jù)命令,光纖通信內(nèi)核A收到觸發(fā),發(fā)送請求數(shù)據(jù)字符K28.2即TTC特殊字符。經(jīng)過高速光纖通道,接收端光纖內(nèi)核B收到該特殊字符,立即啟動EnDat內(nèi)核向位置編碼器的位置請求過程,完成后開始向模塊A按照圖6所示的數(shù)據(jù)包格式發(fā)送位置數(shù)據(jù)及相關狀態(tài)信息,模塊A接收完畢數(shù)據(jù),產(chǎn)生中斷,觸發(fā)DSP讀取數(shù)據(jù)開始處理過程。

6 樣機測試

位置獲取時序系統(tǒng)測試結果如圖7所示,為簡便起見,模式指令選取無附加信息的位置值請求指令。從時序圖上可以清楚的看到位置值按照EnDat規(guī)定的時序傳輸,長時間穩(wěn)定無誤。

數(shù)據(jù)包的傳輸時序如圖8所示,該圖由Altera公司的在線邏輯分析儀測試而來,從中可以明確地看到數(shù)據(jù)在狀態(tài)機的控制下按照圖6的格式進行傳輸,測試結果表明,數(shù)據(jù)傳輸正確,且長時間測試無誤碼產(chǎn)生,傳輸穩(wěn)定可靠。

7 結束語

圖5 位置獲取流程

對位置獲取與傳輸系統(tǒng)的實現(xiàn)方案進行了介紹,給出了若干關鍵技術的實現(xiàn)方案,詳細描述了光纖通信內(nèi)核以及EnDat通信協(xié)議內(nèi)核的原理結構及其FPGA的實現(xiàn)方法。1.25Gbps的樣機測試結果表明系統(tǒng)工作穩(wěn)定,可以實現(xiàn)對編碼器位置值準確高速地獲取與傳輸,滿足強實時性控制系統(tǒng)對位置反饋環(huán)高速高精度的要求,對于超精密運動控 制系統(tǒng)具有重要作用。

圖6 傳輸數(shù)據(jù)包格式

圖7 位置獲取時序

圖8 光纖傳輸數(shù)據(jù)包時序

[1]CHENG Xin,ZHOU Yunfei,HU Yongbing,et al.Synchronous measurement and control mechanism based on high-speed fiber channel link [J].China Mechanical Engineering,2011,22(19):2325-2330(in Chinese).[程鑫,周云飛,胡永兵,等.基于高速光纖鏈路的同步測控機制 [J].中國機械工程,2011,22(19):2325-2330.]

[2]SU Shaojing,GUO Xiye,ZHANG Shimeng,et al.Data acquisition system of ultra-high speed optical communication [J].Journal of Data Acquisition & Processing,2007,22(3):374-377(in Chinese).[蘇紹璟,郭熙業(yè),張世猛,等.超高速光纖通信數(shù)據(jù)采集系統(tǒng) [J].數(shù)據(jù)采集與處理,2007,22(3):374-377.]

[3]MIN Xiaoping,LU Da,HONG Hongrong.Implementation of highspeed optical communication system based on field programmable gates array(FPGA) [J].Journal of Xiamen University(Natural Science),2007,46(4):491-495(in Chinese).[閔小平,陸達,洪鴻榕.基于現(xiàn)場可編程門陣列的高速光纖通信的實現(xiàn)[J].廈門大學學報 (自然科學版),2007,46(4):491-495.]

[4]ZHOU Ping,WANG Meng.Design of a data collection system with high-speed transfer function [J].Fire Control Radar Technology,2009,38(2):53-59(in Chinese).[周萍,王萌.具有高速傳輸功能的數(shù)據(jù)采集板的設計[J].火控雷達技術,2009,38(2):53-59.]

[5]XIA Yuwen.Verilog digital system design tutorial[M].Beijing:Press of Beihang University,2008(in Chinese).[夏宇聞.Verilog數(shù)字系統(tǒng)設計教程[M].北京:北京航空航天大學出版社,2008.]

[6]Roosevelt G,Roper W,Romanko T.Optimizing high speed serial communication using Honeywell Rad Hard SerDes[C]//NASA/ESA Conference on Adaptive Hardware and Systems,2011:215-219.

[7]CHEN Zhangjin,ZHONG Guohai,BIZhuo.A high speed 8B/10B encoder/decoder design based on low cost FPGA[J].Microcomputer Information,2012,28(10):361-367(in Chinese).[陳章進,鐘國海,畢卓.一種基于低成本FPGA的高速8B/10B編解碼器設計 [J].微計算機信息,2012,28(10):361-367.]

[8]Haller I,Baruch Z F.High-speed clock recovery for low-cost FPGAs[C]//Design,Automation & Test in Europe Confe-rence & Exhibition,2010:610-613.

[9]LUO Fuyuan,ZHOU Yunfei,Yin Juan.Design and implementation of HSSL communication in distributed motion control system [J].Computer Engineering and Applications,2007,43(2):205-208(in Chinese).[羅福源,周云飛,尹涓.分布式運動控制系統(tǒng)HSSL通信設計與實現(xiàn) [J].計算機工程與應用,2007,43(2):205-208.]

[10]ZHANG Shugang,ZHANG Suinan,HUANG Shitan.CRC parallel computation implementation on FPGA [J].Computer Techno-logy and Development,2007,17(2):56-62(in Chinese).[張樹剛,張遂南,黃士坦.CRC校驗碼并行計算的FPGA實現(xiàn)[J].計算機技術與發(fā)展,2007,17(2):56-62.]

猜你喜歡
內(nèi)核字符校驗
萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
尋找更強的字符映射管理器
強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
字符代表幾
一種USB接口字符液晶控制器設計
電子制作(2019年19期)2019-11-23 08:41:50
基于嵌入式Linux內(nèi)核的自恢復設計
Linux內(nèi)核mmap保護機制研究
消失的殖民村莊和神秘字符
爐溫均勻性校驗在鑄鍛企業(yè)的應用
大型電動機高阻抗差動保護穩(wěn)定校驗研究
電測與儀表(2015年1期)2015-04-09 12:03:02
开远市| 滨州市| 苗栗市| 化隆| 延川县| 百色市| 兴隆县| 布尔津县| 额尔古纳市| 乐都县| 灌南县| 扬中市| 金寨县| 峨眉山市| 若羌县| 贵南县| 佛学| 平遥县| 尖扎县| 凤翔县| 大足县| 新建县| 巴马| 衡东县| 七台河市| 突泉县| 萨嘎县| 瑞安市| 金阳县| 兰州市| 旌德县| 延安市| 霍山县| 简阳市| 化隆| 高雄市| 靖宇县| 塔河县| 阜康市| 潞西市| 利川市|