2 PPM調(diào)制系統(tǒng)設計
由上述討論,不難發(fā)現(xiàn)PPM的調(diào)制過程本質(zhì)上是一個計數(shù)過程。程序需計算并行數(shù)據(jù)中的數(shù)值,并在相應的時隙位置輸出一個高脈沖,其他位置不輸出脈沖,從而保證信號的一一映射。
本文基于Verilog HDL語言設計,以16-PPM為例,其設計思路為:由圖1所示PPM調(diào)制原理,PPM調(diào)制是將并行輸入數(shù)據(jù)進行計數(shù),故在調(diào)制之前應將串行輸入的數(shù)據(jù)進行串/并轉(zhuǎn)換,由于是16-PPM,一幀時間內(nèi)時隙個數(shù)應為16個,每次對4位數(shù)據(jù)進行串/并轉(zhuǎn)換,故觸發(fā)串/并變換的時鐘信號是時隙時鐘的四分頻。轉(zhuǎn)換后的4位并行數(shù)據(jù)需與16進制計數(shù)器進行比較從而確定高脈沖在這一幀中的時隙位置,這要求并行數(shù)據(jù)能維持一幀時間使之與計數(shù)器產(chǎn)生的計數(shù)值進行比較,故由鎖存器控制輸出并行數(shù)據(jù)。當并行數(shù)據(jù)與計數(shù)器的輸出值相等時,就輸出高電平“1”,否則輸出低電平“0”,這樣就產(chǎn)生了所需的PPM信號。具體流程如圖2所示。
3 PPM解調(diào)系統(tǒng)設計
本文已詳細介紹了PPM的調(diào)制過程,PPM信號的解調(diào)過程從本質(zhì)上講就是PPM調(diào)制的逆過程,故對其詳細解調(diào)過程在此省略。但在PPM解調(diào)過程中需要解決一個非常關鍵的時鐘同步問題,具體包括位同步和幀同步。
3.1 PPM的位同步
位同步與幀同步建立的效果與效率關系到整個PPM解調(diào)過程的成功與否。而位同步又是幀同步的基礎,實現(xiàn)位同步的方法有插入導頻法和直接法。插入導頻法是在基帶信號頻譜的零點處插入所需的位定時導頻信號;直接法則是在發(fā)送端不專門發(fā)送導頻信號,而直接從接收的數(shù)字信號中提取位同步信號。從PPM調(diào)制過程中發(fā)現(xiàn)PPM信號中包含有時隙時鐘信息,即位同步信號,宜采用直接法。直接提取位同步的方法又分濾波法和鎖相環(huán)法,現(xiàn)在通常采用數(shù)字鎖相環(huán)提取位同步信號,數(shù)字鎖相環(huán)解決了模擬鎖相環(huán)的直流零點漂移、器件飽和以及易受電源和環(huán)境溫度變化影響等缺點,而且具有可靠性高、體積小、易于集成等優(yōu)點。文獻已詳細闡述,本文限于篇幅不在此贅述。
3.2 PPM的幀同步
實現(xiàn)幀同步可采用插入法或直接法,插入法即在每幀的幀頭部插入特殊的碼元,用以辨別每幀的起始位置,比如插入巴克碼。但這樣會讓PPM的調(diào)制與解調(diào)過程復雜化,并且插入的碼元占用了原本傳輸信息的時隙,會降低整個系統(tǒng)的傳輸速率,本文采用直接法提取幀同步信號。
實現(xiàn)PPM解調(diào)時的幀同步傳統(tǒng)上多采用基于鎖相環(huán)的方法。即采用鎖相環(huán)鎖住“肩并肩”的兩個光脈沖,如圖1所示,幀3與幀4之間的兩個光脈沖即為“肩并肩”光脈沖。很明顯出現(xiàn)這種光脈沖的情況相對較少,尤其是隨著調(diào)制階數(shù)的增大,出現(xiàn)的概率勢必減小,嚴重影響了實現(xiàn)幀同步的速度。此外,由于PPM信號的連“0”碼過長,使用鎖相環(huán)不能很快鎖住,而且很易失鎖。這里利用PPM信號自身特性,采用數(shù)字邏輯電路提取出字同步時鐘。
由16-PPM示意圖,發(fā)現(xiàn)PPM信號有三個特點:其一,每個PPM幀由16個時隙組成,但其中有且只有一個時隙是高電平,其余的都是低電平;其二,若連續(xù)出現(xiàn)16個低電平,說明這16個低電平一定不處在同一個PPM幀當中,而是在相鄰兩個幀中;其三,若連續(xù)出現(xiàn)2個高電平,說明這2個高電平只能在相鄰的兩個幀當中。
基于PPM信號上述三個特點,在FGPA中設計提取幀同步信號過程如下:接收到的PPM調(diào)制信號輸入到串/并轉(zhuǎn)換單元,在同步時隙時鐘的控制下,將串行的PPM調(diào)制信號以16位并行輸入,這個過程實際上就是一個16位數(shù)據(jù)移位的過程。再對并行輸出的16位數(shù)據(jù)進行邏輯判斷,若這16位數(shù)據(jù)中有且只有一個高電平“1”,則輸出高電平,其他情況則輸出低電平“O”。與此同時,計數(shù)器對時隙時鐘進行計數(shù),計數(shù)器每計16個次產(chǎn)生一個進位高電平“1”,其他時候則輸出為“O”。將計數(shù)器輸出與邏輯判斷輸出進行相與。若兩者都為高電平,相與結(jié)果為“1”,則輸出一個幀同步信號,其他情況下則不輸出幀同步信號,但若邏輯判斷結(jié)果為“0”,而計數(shù)器輸出為“1”時,需將此時與門輸出的低電平與計數(shù)器輸出的高電平進行同或運算,得到低電平“O”,并將此低電平跟控制計數(shù)器的時隙時鐘相與,使計數(shù)器暫停計數(shù)一次,從而通過扣除時隙時鐘的方式逐漸達到幀同步。具體設計流程如圖3所示。
4 系統(tǒng)仿真
整個系統(tǒng)在Quartus 8.0平臺進行仿真,圖4為PPM調(diào)制仿真圖。ser_in為串行輸入的數(shù)據(jù),parr為串/并轉(zhuǎn)換后的并行數(shù)據(jù),data_out即為PPM調(diào)制后的輸出信號,從圖中可以看到PPM調(diào)制正確。為了更好地展現(xiàn)程序逐漸同步的原理,選擇從4-PPM信號中恢復幀同步,如圖5所示,從仿真中,不難看出幀同步輸出framclk_out逐漸同步的過程。
圖6為PPM解調(diào)仿真圖,圖7為系統(tǒng)整體仿真,即串行輸入數(shù)據(jù)經(jīng)PPM調(diào)制后,解調(diào)程序從已調(diào)信號中提取幀同步,并解調(diào)出原有串行輸入數(shù)據(jù),從圖7中看到串行輸入數(shù)據(jù)與串行輸出數(shù)據(jù)之間存在一定的延遲,一方面是因為硬件系統(tǒng)自身存在延遲,更主要的原因是由于在PPM調(diào)制時,比較器需等待第一次串/并轉(zhuǎn)換完成再進行比較,并輸出PPM信號,而解調(diào)是在基于調(diào)制后PPM信號進行的,從而導致了仿真中的延遲,但在實際運用中這個延遲并不存在。
5 結(jié)語
用Verilog HDL語言設計完成了基于FPGA的PPM調(diào)制解調(diào)系統(tǒng),并在Quartus 8平臺上對調(diào)制過程、幀同步過程和解調(diào)過程以及整個系統(tǒng)進行功能仿真和時序仿真,從仿真中可以看出整個系統(tǒng)達到了預期的目標,能夠高效穩(wěn)定地完成PPM調(diào)制與解調(diào)過程,為將來的實用化打下了基礎。但另一方面,也在仿真中發(fā)現(xiàn)幀同步時間偏長,需要進一步改進。
強大的產(chǎn)品可降低信號噪音并提高分辨率與動態(tài)
關鍵字: Spectrum儀器 數(shù)字化儀 FPGA大家好,我是鲏。認識我的朋友都知道,我是一個實踐派,相比研究枯燥的理論知識,我更喜歡做自己想做的項目,用技術來實現(xiàn)自己的想法的感覺真的很棒。所以從大學期間一直到現(xiàn)在,除了工作中的項目外,我依然保持著自己做項目的習慣,有堅...
關鍵字: 系統(tǒng)設計 技術選型 需求分析本篇是FPGA之旅設計的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對溫濕度傳感器DHT11進行采集,而且兩者的數(shù)據(jù)采集過程類似,所以可以參考一下前面的...
關鍵字: FPGA DS18B20溫度傳感器第八例啦,本例將介紹如何通過FPGA采集DS18B20傳感器的溫度值。
關鍵字: FPGA DS18B20傳感器