幀同步系統(tǒng)的FPGA設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
數(shù)字通信時(shí),一般以一定數(shù)目的碼元組成一個(gè)個(gè)“字”或“句”,即組成一個(gè)個(gè)“幀”進(jìn)行傳輸,因此幀同步信號(hào)的頻率很容易由位同步信號(hào)經(jīng)分頻得出,但每個(gè)幀的開(kāi)頭和末尾時(shí)刻卻無(wú)法由分頻器的輸出決定。為此,幀同步的任務(wù)就是要給出這個(gè)“開(kāi)頭”和“末尾”的時(shí)刻。通常提取幀同步信號(hào)有兩種方法:一類是在信息流中插入一些特殊的碼組作為每幀的頭尾標(biāo)記。另一類則不需要加入碼組,而是利用數(shù)據(jù)碼組本身之間彼此不同的特性實(shí)現(xiàn)同步。這里采取第一種方法——連貫式插人法實(shí)現(xiàn)幀同步。所謂連貫式插入法就是在每幀開(kāi)頭插入幀同步碼。所用的幀同步碼為巴克碼,巴克碼是一種具有特殊規(guī)律的非周期序列,其局部自相關(guān)函數(shù)具有尖銳的單峰特性,這些特性正是連貫式插入幀同步碼組的主要要求之一。因此,這里提出幀同步系統(tǒng)的FPGA 設(shè)計(jì)與實(shí)現(xiàn)。
2 幀同步系統(tǒng)的工作原理
實(shí)現(xiàn)幀同步的關(guān)鍵是把同步碼從一幀幀數(shù)據(jù)流中提取出來(lái)。本設(shè)計(jì)的一幀信碼由39位碼元組成。其中的巴克碼為1110010七位碼,數(shù)據(jù)碼由32位碼元組成。只有當(dāng)接收端收到一幀信號(hào)時(shí),才會(huì)輸出同步信號(hào)。幀同步系統(tǒng)的設(shè)計(jì)框圖如圖1所示。
幀同步系統(tǒng)工作狀態(tài)分捕捉態(tài)和維持態(tài)。同步未建立時(shí)系統(tǒng)處于捕捉狀態(tài),狀態(tài)觸發(fā)器Q端為低電平,一旦識(shí)別器輸出脈沖,由于Q端為高電平,經(jīng)或門使與門1輸出”1”,同時(shí)經(jīng)或門使與門3輸出也為”1”,對(duì)分頻計(jì)數(shù)器模塊清零。與門1一路輸出至觸發(fā)器的S端,Q端變?yōu)楦唠娖?,與門4打開(kāi),幀同步輸出脈沖。系統(tǒng)由捕捉態(tài)轉(zhuǎn)為維持態(tài),幀同步建立。
當(dāng)幀同步建立后,系統(tǒng)處于維持態(tài)。假如此時(shí)分頻器輸出幀同步脈沖,而識(shí)別器卻沒(méi)有輸出,這可能是系統(tǒng)真的失去同步,也可能是偶然干擾引起的,因此在電路中加入一個(gè)保護(hù)電路。該保護(hù)電路也是一個(gè)分頻計(jì)數(shù)器,只有在連續(xù)若干次接收不到幀同步信號(hào)時(shí),系統(tǒng)才會(huì)認(rèn)為同步狀態(tài)丟失,由于丟失同步的概率很小,因此這里系統(tǒng)設(shè)置分頻計(jì)數(shù)器值為5,也就是說(shuō)連續(xù)5幀接收不到幀同步信號(hào),系統(tǒng)才認(rèn)為丟失同步狀態(tài)。當(dāng)然分頻值可設(shè)置其他值,但該值越大,同步維持態(tài)下漏識(shí)別概率也越大。與門1的一路輸出置5分頻器的使能端,使之開(kāi)始計(jì)數(shù),當(dāng)計(jì)數(shù)滿時(shí)會(huì)輸出一個(gè)脈沖使?fàn)顟B(tài)觸發(fā)器置零,從而無(wú)幀同步信號(hào)輸出,同步電路又進(jìn)入捕捉態(tài)。
3 幀同步電路功能模塊的建模與實(shí)現(xiàn)
3.1 巴克碼識(shí)別模塊
該模塊的功能主要是把幀同步碼巴克碼從數(shù)據(jù)流中識(shí)別出來(lái)。識(shí)別器模塊如圖2所示。
圖2中第1部分模塊ZCB主要完成串并轉(zhuǎn)換和移位功能,由7個(gè)D觸發(fā)器和3個(gè)非門實(shí)現(xiàn)。第2部分模塊AND7作用:只有當(dāng)巴克碼1110010準(zhǔn)確輸人時(shí),識(shí)別器的輸出才會(huì)為”1”。因?yàn)檩敵龅陌涂舜a識(shí)別信號(hào)將直接影響后續(xù)同步保護(hù)電路,因此準(zhǔn)確地輸出巴克碼,才能避免產(chǎn)生假同步現(xiàn)象。AND7可簡(jiǎn)潔準(zhǔn)確識(shí)別巴克碼。圖3為巴克碼識(shí)別模塊仿真圖,其中,bakeshibie為識(shí)別器的輸出;fenpin39為39分頻計(jì)數(shù)器的輸出端;zin為輸入的數(shù)據(jù);zclk為時(shí)鐘信號(hào)。
3.2 分頻計(jì)數(shù)器模塊
本設(shè)計(jì)采用2個(gè)帶清零的分頻計(jì)數(shù)器,分別為39分頻計(jì)數(shù)器和5分頻計(jì)數(shù)器。其中,39分頻計(jì)數(shù)器可滿足7位巴克碼+4字節(jié)數(shù)據(jù)的要求。當(dāng)39分頻器輸出一個(gè)脈沖時(shí),識(shí)別器也應(yīng)輸出一個(gè)脈沖,只要其相位對(duì)應(yīng)輸出,就能提取出幀同步信號(hào)。
39分頻計(jì)數(shù)器的仿真圖如圖4所示,其中clk為時(shí)鐘信號(hào)端;clr為時(shí)鐘清零端;output為輸出端。
3.3 同步保護(hù)模塊
系統(tǒng)進(jìn)入維持態(tài)時(shí)就需要同步保護(hù)電路保護(hù)幀同步信號(hào)。這部分電路由時(shí)鐘控制模塊、基本RS觸發(fā)器模塊和5分頻計(jì)數(shù)器組成,其中,時(shí)鐘控制模塊和基本RS觸發(fā)器模塊的主要功能是狀態(tài)轉(zhuǎn)換和控制輸出幀同步脈沖。對(duì)于RS觸發(fā)器值得注意的是:如果R=0和 S=0后同時(shí)發(fā)生由0至1的變化,則輸出端Q和Q都要由1向0轉(zhuǎn)換,Q和Q端輸出就會(huì)為任意態(tài),這就是冒險(xiǎn)競(jìng)爭(zhēng)現(xiàn)象。當(dāng)產(chǎn)生冒險(xiǎn)競(jìng)爭(zhēng)后,由于觸發(fā)器的輸出為任意態(tài),就會(huì)導(dǎo)致整個(gè)系統(tǒng)的輸出為任意態(tài)。解決方法是在系統(tǒng)中加入時(shí)鐘控制模塊控制觸發(fā)器的復(fù)位端,確保不出現(xiàn)任意狀態(tài),使系統(tǒng)工作狀態(tài)穩(wěn)定。5分頻器在識(shí)別器模塊無(wú)輸出時(shí),這可能是系統(tǒng)真正失步也可能是偶爾干擾所致,只有連續(xù)5次這種情況系統(tǒng)才會(huì)真正認(rèn)為失步。保護(hù)模塊仿真圖如圖5所示,其中, zhengout為幀同步輸出信號(hào);clk為時(shí)鐘信號(hào);data為輸入的信碼;q為RS觸發(fā)器的Q端;fenpin39為39分頻計(jì)數(shù)器的輸出端。
4 幀同步系統(tǒng)頂層文件設(shè)計(jì)
所謂頂層文件設(shè)計(jì)就是把所涉及到的各個(gè)模塊放在一起,形成一個(gè)便于閱讀的圖形方式,在編譯各個(gè)模塊時(shí),如果設(shè)計(jì)沒(méi)有錯(cuò)誤。系統(tǒng)就會(huì)創(chuàng)建一個(gè)代表該模塊的符號(hào)文件,可以被高層設(shè)計(jì)所調(diào)用。本設(shè)計(jì)中各模塊通過(guò)VHDL語(yǔ)言進(jìn)行設(shè)計(jì),在 QuartusⅡ開(kāi)發(fā)軟件下編譯通過(guò)。采用Altera公司Cvclone系列的EP1C12Q240C8器件,并且?guī)诫娐穬H用到該器件不到1%的邏輯單元。頂層設(shè)計(jì)圖形如圖6所示。圖6中,ZCB和AND7(七輸入與門)為巴克碼識(shí)別器;CLKCONTR為時(shí)鐘控制器;FENPIN5為5分頻器計(jì)數(shù)器;FENPIN39為39分頻器計(jì)數(shù)器;RS_CLK為RS觸發(fā)器。
實(shí)驗(yàn)結(jié)果分析:在Quartus II環(huán)境下,時(shí)鐘clk的周期為200μs,當(dāng)時(shí)鐘周期設(shè)定的值很小時(shí),比如納秒級(jí)別,系統(tǒng)則極易出現(xiàn)冒險(xiǎn)競(jìng)爭(zhēng)現(xiàn)象,因此要將時(shí)鐘周期的值設(shè)定的大一些。 data為輸入的數(shù)據(jù)流,為了便于仿真,只在數(shù)據(jù)流中加入3組巴克碼。bakeshibie為巴克碼識(shí)別器的輸出,當(dāng)巴克碼出現(xiàn)后,觸發(fā)器的Q端變?yōu)楦唠娖剑到y(tǒng)進(jìn)入維持態(tài),此時(shí)5分頻計(jì)數(shù)器開(kāi)始計(jì)數(shù),若在未計(jì)滿5次時(shí)再次出現(xiàn)巴克碼,則5分頻計(jì)數(shù)器重新開(kāi)始計(jì)數(shù),若計(jì)滿5次仍未出現(xiàn)巴克碼,則系統(tǒng)徹底丟失同步狀態(tài),Q端變?yōu)榈碗娖?,系統(tǒng)進(jìn)入捕捉態(tài)??傮w設(shè)計(jì)時(shí)序仿真圖如圖7所示。由于此幀同步系統(tǒng)要應(yīng)用在DPSK解調(diào)中,所以幀同步系統(tǒng)仿真的時(shí)鐘頻率要與DPSK解調(diào)的時(shí)鐘頻率一致。仿真時(shí)要注意碼元的傳輸方向即巴克碼是高位先發(fā)送還是低位先發(fā)送,這將影響到仿真質(zhì)量。
5 結(jié)論
詳細(xì)闡述各模塊功能,實(shí)現(xiàn)方法及仿真圖形,系統(tǒng)對(duì)幀同步碼(巴克碼)作出嚴(yán)格限制,即系統(tǒng)只有在嚴(yán)格收到幀同步碼后才會(huì)有幀同步信號(hào)輸出,提高系統(tǒng)的可靠性。保護(hù)電路設(shè)計(jì)有效降低漏同步和假同步的概率,時(shí)鐘控制的RS觸發(fā)器保證了同步系統(tǒng)狀態(tài)的正確轉(zhuǎn)換。同步系統(tǒng)各項(xiàng)技術(shù)指標(biāo)均符合要求,工作正確可靠,有較高使用價(jià)值。