在Xilinx的FPGA器件XC3S200-4FT200上對方案中設計的幀同步系統進行了實現,利用Modelsim 6.0軟件進行了仿真測試。仿真結果表明,本方案設計的同步系統工作穩定,滿足性能要求。
0 引言
在數字通信系統中,發送端一般以一定數目的碼元組成一個個“字”或“句”,即組成一個個數據幀進行 傳輸,因此幀是數據傳輸的基本單位。不同的通信系統具有不同的幀結構。幀一般分為幀同步碼和數據兩部分,幀同步碼用于標志幀的起始位置;數據則是需要傳輸 的有效碼元。幀同步碼組的插入方法主要有兩種:集中式插入法和間隔式插入法。集中式插入法就是在每幀的開頭集中插入幀同步碼組的方法;間隔式插入法則是將 幀同步碼組分散插入到數據流中,即每隔一定數量的信息碼元插入一個幀同步碼元。本文主要提出一種集中式插入法幀同步的FPGA的設計方案。
一般來講,幀同步在位同步之后才能進行。雖然信號的頻率很容易由位同步信號經過分頻得到,但是幀的起始和末尾時刻則無法由位同步信號分頻確定。幀同步的主要任務就是要獲取每個數據幀的起始及結束位置。隨著可編程邏輯器件的發展,采用FPGA實現幀同步等數字系統具有速度快、使用方便、可編程配置各種參數等一系列優點,因而得到了越來越廣泛的應用。
1 集中式插入法幀同步的原理及流程
1.1 集中式插入法幀總體結構
集中式插入法是指在每幀數據的開始位置集中插入幀同步碼序列的方法。在這種同步傳輸方式中,被傳輸 的數據比特被編成幀,每幀包括多個數據,幀的首部加一個幀同步碼組(也稱為幀的標志字),記作U,其長度為M(單位:b),幀內的數據比特數為D.接收端 對接收的比特流進行搜索,一旦檢測到標志字U,就知道了一幀數據的開始,并據此對幀內的數據進行分組處理,以此建立起同步傳輸機制。集中式插入法的數據幀 格式如圖1所示。
顯然,幀同步碼組必須滿足一定的條件:首先,同步碼組要求盡量與所要傳輸的數據不同,以免將數據誤 認為是同步碼組;其次要求幀同步碼組具有尖銳單峰的自相關特性,以便于接收端進行正確檢測;第三個要求是長度不能太長,以免占用過多的信道資源。目前常用 的幀同步碼組主要有廣義巴克(Barker)碼序列,一些系統也使用具有偽隨機特性的m序列作為同步碼組。
1.2 幀同步的幾種狀態
根據幀同步搜索的原理,在幀同步搜索過程中顯然存在假鎖的可能性(也稱虛警概率),因為數據比特所 構成的碼序列,或部分的標志字與部分的數據比特所構成的長度為M 的碼序列也有可能滿足檢測條件,而被誤認為U.因此,為了提高幀同步系統的性能(減小假鎖的概率,鎖定后盡量增加同步的穩定性),工程上通常通過增加同步 流程的復雜性來實現改善性能的目的。一般來講,將幀同步的過程分為三個狀態:搜索態、校核態和同步態,其狀態轉移圖如圖2所示。
搜索態:在數據接收的起始時刻,或幀校核時出現未同步幀,或同步態時發現有多個連續幀未同步時轉入搜索態。搜索態下,程序在數據流中持續搜索幀同步碼,當從接收到的比特流中找到幀同步碼時,表明已搜索到了一個同步幀頭,此時輸出一個脈沖信號,系統可進入校核態。
校核態:若連續經過N 幀同步碼確認搜索態中找到的幀頭正確,則系統可立即轉入同步狀態;否則說明存在假同步,需要返回搜索態重新對幀同步碼進行搜索。由首次搜索到幀同步頭到進入同步態的N 幀時間叫做后方保護時間。
同步態:幀同步系統處于同步狀態時,若沒有出現連續M 幀數據未同步,則保持在同步狀態??紤]到接收的數據流中可能受外界干擾而存在誤碼,在同步狀態中只有連續M 幀丟失同步碼才進入失步狀態,并返回搜索態,這個M 幀的時間叫做前方保護時間。
2 幀同步系統的VHDL設計與仿真
2.1 總體結構設計
根據實例需求,幀同步碼組長度(LenCode)、幀同步碼組(FrameCode)、容錯位數 (ErrorNum)、幀長(Len-Frame)、校核態校核幀數(CheckNum)以及同步態校核幀數(SyncNum)均以常量的形式設置,便于 VHDL程序中修改同步參數。系統數據速率及時鐘頻率為50 MHz.
根據圖2所示的結構,很容易想到采用狀態機的設計方法來實現同步系統。不論是采用狀態機方式,或原 理圖方式進行VHDL程序設計,最終均可以轉換成VHDL代碼的形式。顯然,直接采用編寫VHDL代碼的形式,更利于程序的修改及升級維護。因此,本文完 全采用代碼編寫方式來進行程序設計。
圖2是一個典型的狀態轉移圖,可以將轉移條件看作狀態之間的信號接口。 整個幀同步系統可以劃分為搜索狀態模塊(Search)、校核狀態模塊(Check)及同步狀態模塊(Sync)。除了上電后啟動搜索狀態之外,當校核未 通過(CheckNum 幀內有一個校核幀未同步)或同步態失鎖(連續SyncNum 幀未同步)時也需啟動搜索狀態,因此搜索狀態的啟動信號有復位信號(rst)、校核態重搜索信號(Research_check)和同步態重搜索信號 (Research_sync);校核態的啟動信號僅來自于搜索態(search_over),即只有當搜索到幀同步碼后才能轉入校核態,如果校核通過則 送出校核完成信號(check_over),校核未通過則送出重新搜索信號(Research_check);同步態的啟動信號僅來自于校核態 (check_over),只有校核通過后才能進入同步狀態。進入同步態后,持續對同步碼組進行檢測,當檢測到重新失鎖后送出 Research_sync,重新啟動搜索狀態。圖3為幀同步系統頂層VHDL程序文件采用Synplify Pro綜合后的RTL原理圖。
評論
查看更多