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