基于FPGA的34位串行編碼信號設計與實(shí)現
摘要:為實(shí)現某專(zhuān)用接口裝置的接口功能檢測,文中詳細地介紹了一種34位串行碼的編碼方式,并基于FPGA芯片設計了該類(lèi)型編碼的接收、發(fā)送電路。重點(diǎn)分析了電路各模塊的設計思路。電路采用SOPC模塊作為中心控制器,設計簡(jiǎn)潔、可靠。試驗表明:該設計系統運行正常、穩定。
關(guān)鍵詞:串行編碼;FPGA;電路;設計
新型艦艇或航空系統中所裝電子設備數量較多,布局緊湊,易造成系統內部電磁干擾,普通數字信號不能夠滿(mǎn)足可靠傳輸的要求,對普通串行碼進(jìn)行調制后傳輸信息,可使信號的抗干擾性能大大增加。RS232、RS422、RS485以及ARINC429等都是電子設備中常用的串行數據傳輸標準。
某專(zhuān)用接口裝置采用一種點(diǎn)對點(diǎn)的34位串行編碼數據傳輸標準,34位串行編碼經(jīng)耦合變壓器調制后進(jìn)行信息傳輸,能夠在惡劣的電磁環(huán)境下可靠傳輸數據。為實(shí)現對該接口裝置的測試,研制了針對該裝置的檢測設備,可用于該裝置接口功能的檢查和故障排除。
與其他常用的串行編碼(如異步串行碼等)相比,專(zhuān)用接口裝置所采用的34位串行編碼的格式有所不同,常用串行編碼的收發(fā)大都有專(zhuān)用的芯片來(lái)完成,而該類(lèi)型的34位串行編碼沒(méi)有相應的號用收發(fā)芯片直接應用,因此在該專(zhuān)用接口裝置檢測設備研制中,基于FPGA芯片設計了34位串行編碼信號的檢測電路,實(shí)現了34位串行編碼信號的可靠收發(fā)。
1 34位串行編碼的格式
專(zhuān)用接口裝置收發(fā)信息使用的34位串行編碼為歸零碼,解決了數位難以分辨的問(wèn)題,接收端可以利用編碼自身攜帶的時(shí)鐘信息。34位串行編碼的收發(fā)采用耦合變壓器方式,加大了高電平和低電平之間的電位差,有利于提高傳輸的可靠性。串行編碼信號高低電平幅度分別為4 V和0 V,一個(gè)碼位的高電平脈沖寬度為0.5μs,歸零時(shí)間為0.75μs,傳輸速率為800 kbps。為進(jìn)一步增強通信的可靠性,串行數據采用雙線(xiàn)傳輸。傳輸信息時(shí),信息“1”和信息“0”分別由兩個(gè)電纜傳輸,稱(chēng)為信息“1”線(xiàn)和信息“0”線(xiàn)。
對于信息“1”線(xiàn),數據位為“1”時(shí),發(fā)送一個(gè)歸零脈沖,數據位為“0”時(shí),發(fā)送低電平;信息“0”線(xiàn)則正好相反,數據位為“0”時(shí),發(fā)送一個(gè)歸零脈沖,數據位為“1”時(shí),發(fā)送低電平。連續發(fā)送兩個(gè)34位串行數據時(shí),時(shí)間間隔最短不得小于4個(gè)歸零脈沖周期。
34位串行編碼的前兩位為校驗位,后32位為數據位,均是先傳輸低位。校驗位的計算方法為:32位串行數據經(jīng)過(guò)模3運算后,取反碼的值即為校驗位。以圖1說(shuō)明34位串行碼的格式。圖1中要傳輸的32位數據為0X8000FF7E,該數值經(jīng)過(guò)模3運算后,值為0X10,該值取反碼后為0x01,即是校驗位。
2 34位串行編碼收發(fā)模塊的設計與實(shí)現
專(zhuān)用接口裝置的檢測設備能夠實(shí)現34位串行編碼的收發(fā),用以驗證專(zhuān)用裝置的接口功能是否正常,檢測設備的總體結構圖見(jiàn)圖2。實(shí)現34位串行編碼的可靠收發(fā)是研制檢測設備的關(guān)鍵技術(shù)。在分析34位串行編碼格式的基礎上,基于FPGA芯片EP2C8研制了核心模塊,模塊可以接收上位控制計算機的命令,完成34位串行編碼數據的收發(fā)。核心模塊前端的信號調理電路包括發(fā)送信號時(shí)的電流驅動(dòng)電路、接收信號時(shí)的高速比較器電路以及雙耦合變樂(lè )器。
實(shí)現34位串行編碼的收發(fā)需要設計34位串行碼的同步時(shí)鐘提取電路,通過(guò)移位寄存器進(jìn)行收發(fā),發(fā)送數據校驗位的產(chǎn)生和接收數據校驗位的驗證需要用到運算模塊,電路設計比較復雜,所需硬件較多,而且由于34位編碼傳輸速率較高,為了保證收發(fā)可靠、不漏碼,從功能和實(shí)現成本上考慮,在電路設計上,采用了大規??删幊踢壿嬓酒瑢?shí)現34位串行編碼信號的接收和發(fā)送。所用FPGA芯片為Altera公司的CvcloneⅡ系列中的EP2C8,該芯片內核電壓為1.2 V,輸入輸出口為3.3 V邏輯電平,功耗很低。核心模塊設計采用原理圖輸入和VHDL語(yǔ)言相結合的方式,利用OuartusⅡ軟件和SignalTap功能進(jìn)行邏輯電路的開(kāi)發(fā)和調試。
2.1 34位串行編碼的接收
34位串行編碼接收模塊結構圖見(jiàn)圖3。在接收34位串行碼時(shí),首先要對接收信號進(jìn)行解調,來(lái)自耦合變壓器的34位串行碼經(jīng)過(guò)高速比較器CMP401電路進(jìn)行整形處理,轉變成普通數字電路容易處理的單極性歸零碼。
接收34位串行編碼信息需利用串行碼自身攜帶的時(shí)鐘信息,將信息“1”和信息“0”的脈沖相或,即可得到移位時(shí)鐘(Shift-clk)。接收模塊各節點(diǎn)信號時(shí)序圖如圖4所示。
在單極性歸零碼合成模塊中,信息“1”和信息“0”分別送到D觸發(fā)器的預置端和清零端,經(jīng)過(guò)D觸發(fā)器處理后,產(chǎn)生單極性歸零碼信號(Sd)。將單極性歸零碼信號送入到34位串入并出移位寄存器模塊中,在移位時(shí)鐘的作用下,單極性歸零碼信號在串入并出移位寄存器模塊內逐位移動(dòng),形成34位并行碼,并由鎖存脈沖(Latch)鎖存并行數據,校驗位驗證模塊對并行數據進(jìn)行模3校驗位驗證,當校驗位正確時(shí),產(chǎn)生確認脈沖,作為嵌入式控制器SPOC模塊的中斷信號,SOPC模塊響應中斷并執行中斷服務(wù)程序,讀出并行數據,存儲在存儲器中。
串入并出移位寄存器模塊由FPGA芯片的LPM_SHIFT-REG(移位寄存器)兆功能實(shí)現。校驗位驗證模塊用到了LPM_DIVIDE(除法)和LPM_COMPA RE(比較器)兆功能。
SOPC模塊設計基于NiosⅡ軟核嵌入式微處理器,利用FPGA 中的可編程邏輯資源和IP軟核可以方便地構成嵌入式微處理器的接口功能模塊,SOPC模塊包括NiosⅡ處理器、Avalon交換式總線(xiàn)、片內外存儲器以及外設模塊等。根據需要,可對NiosⅡ嵌入式系統裁剪,進(jìn)行自己定制。SOPCBuilder軟件自動(dòng)生成Avalon總線(xiàn),用戶(hù)可以將處理器、存儲器和其他外設模塊連接起來(lái),形成一個(gè)完整的系統。在本部分電路設計中,用到了NiosⅡ嵌入式處理器的片內存儲器和中斷功能。
在接收模塊設計中,應著(zhù)重考慮如何找到34位串行編碼的起始位,這也是保證接收模塊可靠性的關(guān)鍵。由于兩個(gè)相鄰碼位的時(shí)間間隔為一個(gè)碼位周期,所以可以采用計數超時(shí)方法對移位脈沖進(jìn)行串行編碼起始位檢測,尋找起始位。起始位檢測模塊主要由計數器構成。超時(shí)門(mén)限的設定原則上應大于一個(gè)碼位周期,而小于兩個(gè)碼位周期。該模塊的輸入時(shí)鐘來(lái)自分頻模塊的32 MHz高穩定晶振。分頻后的輸入時(shí)鐘為16 MHz,即以串行編碼傳輸速率20倍的頻率進(jìn)行超時(shí)計數檢測。
具體電路實(shí)現還要考慮串行信號傳輸時(shí)產(chǎn)生的信號畸變等因素,上述門(mén)限設定原則應有所冗余。從接收到一個(gè)碼位到設定的時(shí)間門(mén)限之間,如果沒(méi)有接收到其他碼位,則可認為即將到來(lái)的下一個(gè)碼位就是一個(gè)34位編碼的起始位,此時(shí)將串入并出移位寄存器做清零處理,每接收完一個(gè)34位串行編碼都應重新找一次起始位。從可靠性考慮,設計了移位時(shí)鐘脈沖完整性檢測電路,這樣,即使接收偶爾出現誤碼,也不會(huì )影響其他34位串行編碼的接收。
2.2 34位串行編碼的發(fā)送
進(jìn)行34位編碼發(fā)送時(shí),需要將所發(fā)送的32位并行數據轉換為帶有校驗位的34位并行數據。SOPC模塊將32位并行數據送入到校驗位運箅模塊,計算出兩位校驗位,32位并行數據與兩位校驗位送入34位并行編碼合成模塊,合并成34位并行編碼。SOPC模塊發(fā)出使能信號(Enable),使能移位時(shí)鐘產(chǎn)生模塊,該模塊產(chǎn)乍移位時(shí)鐘脈沖(Shift-clk),移位時(shí)鐘脈沖經(jīng)過(guò)時(shí)延電路后,產(chǎn)生歸零同步時(shí)鐘脈沖(Rz-clk)。
在移位時(shí)鐘脈沖的作用下,34位并行數據在并入串出移位寄存器中逐位移出,形成兩路極性相反的非歸零串行編碼(Nrz-code),與34個(gè)歸零同步時(shí)鐘脈沖相或后,即產(chǎn)生信息“1”和信息“0”的單檄性歸零脈沖。單極性歸零脈沖經(jīng)電流驅動(dòng)電路后,送入耦合變壓器輸出。在編碼發(fā)送模塊設計時(shí),需要注意歸零同步時(shí)鐘脈沖與非歸零串行編碼的時(shí)序控制,防止出現“毛刺”信號,這可以采用觸發(fā)器延時(shí)的方法實(shí)現。34位串行編碼發(fā)送模塊結構圖如圖5所示。
3 結束語(yǔ)
某專(zhuān)用接口裝置采用34位串行編碼與外部設備進(jìn)行信息交換,該編碼具有抗干擾性強,可靠性高的特點(diǎn),適用于電磁環(huán)境惡劣情況下的信號傳輸。在該專(zhuān)用接口裝置檢測設備研制中,采用以FPGA芯片為核心的可編程邏輯設計以及SOPC軟核設計技術(shù)實(shí)現了該類(lèi)型編碼的接收、發(fā)送電路。試驗表明:設計的34位串行編碼收發(fā)模塊可靠性高,即使在文際測試信號有比較明顯畸變的情況下,收發(fā)也未出現錯誤,功能完全滿(mǎn)足要求,能夠實(shí)現專(zhuān)用接口裝置的接口功能檢測。
評論