康超+謝作全+陳麗婷
摘要:在目前的遙測通信系統(tǒng)中,從PCM碼流中直接提取時碼鐘是最常見的碼同步方法。傳統(tǒng)碼同步器的工作時鐘都是碼速率的16倍,無法適應(yīng)碼速率可變的通信系統(tǒng)。該文提出了一種基于FPGA的固定工作時鐘碼速率可變碼同步器,結(jié)構(gòu)簡單易于在FPGA上實(shí)現(xiàn),同步時間快,性能優(yōu)越。
關(guān)鍵詞:碼同步;PCM碼;鑒相器;DDS;FPGA
1背景
在當(dāng)前的數(shù)字通信系統(tǒng)中,通常采用鎖相法來實(shí)現(xiàn)碼同步器。其工作原理為利用16倍碼速率的時鐘對PCM碼和接收端自身產(chǎn)生的時碼鐘進(jìn)行相位比較,產(chǎn)生相位誤差信號(系統(tǒng)相位超前或滯后信息),徘徊濾波器對相位誤差信號濾波以消除干擾,在確認(rèn)系統(tǒng)處于相位超前或滯后狀態(tài)后對時碼鐘進(jìn)行調(diào)整,最終達(dá)到與PCM碼同頻同相的目的。本文基于鎖相法的設(shè)計思路,提出了一種固定工作時鐘碼速率范圍409.6Kb-ps~10Mbps的碼同步器,結(jié)構(gòu)簡單、資源利用率小,易于在FP-GA上實(shí)現(xiàn)。
2工作原理
碼同步器主要由DDS、鑒相器、徘徊濾波器、DDS頻率字控制字四個模塊組成,都以160MHz時鐘工作。DDS根據(jù)上位機(jī)傳下來的時碼鐘初始配置信息產(chǎn)生一個與PCM碼同頻的時碼鐘,鑒相器對PCM碼和時碼鐘采樣并比對沿口得到相位誤差信息。誤差信息送至徘徊濾波器進(jìn)行判決,只有在連續(xù)3個碼元周期內(nèi)都存在相位超前/滯后情況下DDS頻率字控制器才會調(diào)整DDS步進(jìn)使時碼鐘沿口提前/延后。調(diào)整后的沿口再次與PCM碼進(jìn)行相位比對,直至PCM碼與時碼鐘沿口對齊。碼同步器原理框圖如圖1所示:
3算法實(shí)現(xiàn)
1)鑒相器
鑒相器的功能是完成PCM碼和時碼鐘的沿口比對,輸出相位超前/滯后的誤差信息,其邏輯時序示意圖如圖2所示。首先用CLK對PCM碼流進(jìn)行采樣,可以保證圖中所有信號都與CLK的沿口對齊。
按最高碼速率的16倍計算,工作時鐘CLK為160MHz。首先對兩個PCM_CLK沿口間的PCM碼進(jìn)行0/1計數(shù),若cnt0/cnt1=0說明此時沿口是對齊的。若cnt0/cnt1=0,以圖2中為例cnt0=1說明存在1個CLK的相位誤差,此時結(jié)合PCM碼極性變化信息便可得到超前/滯后信息。
2)徘徊濾波器
徘徊濾波器的功能是對鑒相器輸出的相位誤差信息進(jìn)行判決,濾除干擾信號。因采用固定工作時鐘,所以鑒相器對不同碼速率的鑒相精度也是不同的:10Mbps下是1/16,5Mbps下是1/32,2Mbps下是1/80……,傳統(tǒng)碼同步器的鑒相精度為1/16,所以本文針對不同碼速率設(shè)置相應(yīng)的門限判決是否存在相位誤差。
當(dāng)相位誤差超過判決門限時,徘徊濾波器判定誤差有效,只有連續(xù)3個碼元都判定誤差有效的情況下才輸出超前/滯后信息給DDS頻率字控制器調(diào)整。
3)DDS頻率字控制器
DDS頻率字控制器的功能是根據(jù)超前/滯后信息調(diào)整DDS的頻率控制字,使DDS輸出的沿口提前或延后。上位機(jī)根據(jù)不同碼速率計算出初始頻率控制字,正常情況DDS以此控制字工作。當(dāng)時碼鐘超前時,根據(jù)計數(shù)器中相位誤差個數(shù)將頻率控制字置0,達(dá)到相位誤差個數(shù)后控制字恢復(fù)為初始值;當(dāng)時碼鐘滯后時,根據(jù)計數(shù)器中相位誤差個數(shù)將頻率控制字置為默認(rèn)控制字的2倍,達(dá)到相位誤差個數(shù)后控制字恢復(fù)為初始值。
4)DDS
DDS(Direct Digital synthesizers)是FPGA自帶的IP CORE被廣泛應(yīng)用于數(shù)字通信處理系統(tǒng),作為載波跟蹤環(huán)的NCO使用,可根據(jù)控制字輸出頻率實(shí)時可變的兩路正交正余弦信號。本文利用DDS輸出頻率可控的特性,將其內(nèi)部累加器的最高位輸出作為時碼鐘。DDS的原理就是在每個工作時鐘對頻率控制字進(jìn)行累加,將累加器的結(jié)果查表得到相應(yīng)的正余弦信號。所以頻率控制字就是累加器的步進(jìn),增加頻率控制字累加器最高位就會提前翻轉(zhuǎn),控制字置0累加器最高位就會延后翻轉(zhuǎn)。
本文的DDS位寬設(shè)計為16位,工作時鐘160MHz,控制字計算公式如下:
初始頻率控制字=160M*2/碼速率 (1)
例碼速率為10Mbps時,初始控制字為4096;碼速率為2Mbps時,初始控制字為819。
4性能分析
1)同步精度
本文中鑒相器的工作時鐘是160MHz,碼速率范圍409.6Kbps~10Mbps,所以理論上同步精度在409.6Kbps時為1/390碼元長度,10Mbps時為1/16碼元長度。徘徊濾波器對碼速率范圍設(shè)置了不同的門限,本文碼同步器的同步精度最高為1/40碼元長度,最低為1/16碼元長度。可以通過修改判決門限來調(diào)整碼同步器的同步精度。
2)同步時間
在確認(rèn)存在超前,滯后情況后,DDS頻率字控制器會根據(jù)鑒相器輸出的相位誤差長度來調(diào)整DDS頻率字,所以在一個碼元周期內(nèi)即可完成同步工作。
3)不同碼速率適應(yīng)情況
本文碼同步器使用DDS輸出時碼鐘,DDS工作時鐘160MHz,位寬16位,所以時碼鐘分辨率為2.44KHz。
按上文公式(1)計算DDS初始頻率字會存在不是整數(shù)的情況,如2Mbps碼速率下結(jié)果為819.2,實(shí)際使用中四舍五入取819。此時DDS的輸出時碼鐘頻率為1.99512M,存在0.0244%的誤差。理論上DDS輸出最大頻率偏差為1.22(0.5*2.44)KHz,按最低碼速率409.6Kbps簡單計算,本文碼同步器的理論最大誤差為0.3%,實(shí)際上409.6Kbps碼速率的頻率偏差為0.56K,誤差為0.13%。
因此在理想的PCM碼流情況下,如果按公式(1)計算的初始頻率字為整數(shù)則碼同步器一旦同步好便無需再調(diào)整時碼鐘沿口,如果初始頻率字為不是整數(shù)則碼同步每隔一段時間調(diào)整一下時碼鐘沿口。
5結(jié)束語
本文基于鎖相法的設(shè)計思路,利用鑒相器比較PCM碼與時碼鐘的相位誤差進(jìn)一步調(diào)整DDS頻率控制字最終達(dá)到PCM碼與時碼鐘同頻同相的目的僅需FPGA即可實(shí)現(xiàn),占用資源小,同步時間快。與傳統(tǒng)碼同步器相比具有很大的靈活性,可適應(yīng)409.6Kbps~10Mbps碼速率,同步精度可調(diào)整,可廣泛應(yīng)用在通信系統(tǒng)基帶信號處理中。