基于FPGA的高速數(shù)字相關(guān)器設(shè)計
摘要:在數(shù)字通信的數(shù)據(jù)傳輸過程中,需要保持?jǐn)?shù)據(jù)在傳輸過程中的同步,因此要在數(shù)據(jù)傳輸過程中插入幀同步字進(jìn)行檢測,從而有效避免發(fā)送數(shù)據(jù)和接收數(shù)據(jù)在傳輸過程中出現(xiàn)的異步問題。文中提出了一種采用流水線技術(shù)、基于 FPGA設(shè)計高速數(shù)字相關(guān)器的方法。仿真結(jié)果表明設(shè)計方案是可行的。
本文引用地址:http://www.ex-cimer.com/article/191861.htm在數(shù)字通信系統(tǒng)中,常用一個特定的序列作為數(shù)據(jù)開始的標(biāo)志,稱為幀同步字。在數(shù)字傳輸?shù)倪^程中,發(fā)送端要在發(fā)送數(shù)據(jù)之前插入幀同步字。接收機(jī)需要在已解調(diào)的數(shù)據(jù)流中搜尋幀同步字,以確定幀的位置和幀定時信息。幀同步字一般為一系列連續(xù)的碼元,在接收端需要對這一系列連續(xù)的碼元進(jìn)行檢測,如果與預(yù)先確定的幀同步字吻合,則說明接收端與發(fā)送端的數(shù)據(jù)是保持同步的,開始接收,否則不能進(jìn)行接收。完成幀同步字檢測工作的正是數(shù)字相關(guān)器。本文采用流水線技術(shù),研究了基于 FPGA的高速數(shù)字相關(guān)器的設(shè)計方法,并給出了 MAX+PLUSII環(huán)境下的仿真結(jié)果。
1 數(shù)字相關(guān)器原理
數(shù)字相關(guān)器在通信信號處理中實質(zhì)是起到數(shù)字匹配濾波器的作用,它可對特定碼序列進(jìn)行相關(guān)處理,從而完成信號的解碼,恢復(fù)出傳送的信息。其實現(xiàn)方法是進(jìn)行兩個數(shù)字信號之間的相關(guān)運(yùn)算,即比較等長度的兩個數(shù)字序列之間有多少位相同,多少位不同。昀基本的相關(guān)器是異或門,例如,y=ab,當(dāng) a=b時,y=0,表示兩位數(shù)據(jù)相同;當(dāng) a≠b時,y=1,表示兩位數(shù)據(jù)不同。多位數(shù)字相關(guān)器可以由一位相關(guān)器級連構(gòu)成。 N位數(shù)字相關(guān)器的運(yùn)算通常可以分解為以下兩個步驟:對應(yīng)位進(jìn)行異或運(yùn)算,得到 N個 1位相關(guān)運(yùn)算結(jié)果;統(tǒng)計 N位相關(guān)運(yùn)算結(jié)果中 0或 1的數(shù)目,得到 N位數(shù)字中相同位和不同位的數(shù)目。
當(dāng)數(shù)字相關(guān)器接收到一組數(shù)據(jù)時,在時鐘的上升沿對幀同步字進(jìn)行檢測。對于幀同步字是一個連續(xù) 16位的碼元,數(shù)字相關(guān)器在進(jìn)行檢測的過程中,只有當(dāng)連續(xù)檢測到 16位的碼元與預(yù)先設(shè)定的幀同步字完全相同時,才由輸出端輸出信號表示幀同步。否則,任何一位出現(xiàn)不相等,數(shù)字相關(guān)器又將重新開始進(jìn)行檢測,直到出現(xiàn)連續(xù)的 16位碼元與預(yù)先設(shè)定的 16位碼元完全相等時才進(jìn)行輸出。數(shù)字相關(guān)器的設(shè)計一般考慮采用串行輸入或并行輸入兩種輸入檢測方式,由于串行輸入是在 16個時鐘周期內(nèi)依次對兩路串行輸入信號 A、B進(jìn)行異或運(yùn)算,并統(tǒng)計數(shù)據(jù)位相同個數(shù),檢測速度較慢,要提高檢測速度,就要考慮采用并行輸入檢測方式。
2 高速數(shù)字相關(guān)器的 FPGA實現(xiàn)
在 16位并行數(shù)字相關(guān)器中,由于實現(xiàn) 16位并行相關(guān)器需要的乘積項、或門過多,因此為降低耗用資源,可以分解為 4個 4位相關(guān)器,然后用兩級加法器相加得到全部 16位的相關(guān)結(jié)果,其結(jié)構(gòu)圖如圖 1所示,如果直接實現(xiàn)該電路,整個運(yùn)算至少要經(jīng)過三級門延時。隨著相關(guān)數(shù)目的增加,速度還將進(jìn)一步降低。為提高速度,采用“流水線技術(shù)”進(jìn)行設(shè)計,模塊中對每一步運(yùn)算結(jié)果都進(jìn)行鎖存,按照時鐘節(jié)拍逐級完成運(yùn)算的全過程。雖然每組輸入值需要經(jīng)過三個節(jié)拍后才能得到運(yùn)算結(jié)果,但是,每個節(jié)拍都有一組新值輸入到第一級運(yùn)算電路,每級運(yùn)算電路上都有一組數(shù)據(jù)同時進(jìn)行運(yùn)算,所以總的來講,每步運(yùn)算花費(fèi)的時間只有一個時鐘周期,從而使系統(tǒng)工作速度基本等于時鐘工作頻率。
評論