基于FPGA和CMX589A的GMSK調制器設計與實現
3.1 單片機軟件設計
控制模塊主要包括擴展矩陣鍵盤、LCD液晶顯示、調制器參數控制。
單片機控制器的系統(tǒng)工作過程如下:
單片機初始化,LCD顯示開始菜單,包括“高斯濾波器參數設置”和“FM調制器參數設置”兩個選項;
進入“高斯濾波器參數設置”子菜單,包括“系統(tǒng)帶寬設置”和“基帶碼元速率設置”,分別可以設置2種不同的濾波器帶寬和8種基帶碼元速率,單片機根據系統(tǒng)設置在P2端口輸出控制信息;
進入“調制器參數設置”的子菜單以設置“調制載波的中心頻率”,可以設定四種不同的載波中心頻率,并通過單片機P3口控制FPGA的調制載波的中心頻率。
3.2 調制器的系統(tǒng)實現
FM調制器采用DDS思想在FPGA平臺上實現。DDS(Direct Digital Frequency Synthesizer,直接數字頻率合成)是一種新型的頻率合成技術,具有較高的頻率分辨率,可以實現快速的頻率切換。DDS系統(tǒng)主要由系統(tǒng)時鐘源、相位累加器、正弦波查找表、D/A轉換器和低通補償濾波器組成,系統(tǒng)結構如圖3所示。其中相位累加器是DDS系統(tǒng)的核心,它由N位加法器和N位相位寄存器組成。每來一位參考時鐘脈沖,N位加法器將頻率控制字和累積器的相位輸出相加,把相加的結果送到相位寄存器的輸入端。相位寄存器一方面將輸出的相位數據反饋到加法器的輸入端,以使加法器繼續(xù)在時鐘脈沖的作用下繼續(xù)與頻率控制字相加,另一方面又將輸出的相位數據又作為波形存儲表的地址輸入。波形存儲表把輸入的地址相位信息映射成波形數據,最后經過DAC和低通濾波器得到模擬信號。
本設計采用20 MHz外部晶振作為時鐘源,系統(tǒng)采用40位相位累加器,故頻率字也取40位,所以系統(tǒng)的頻率分辨率如下式所示:
FM調制器完成幅度到頻率的轉換是系統(tǒng)設計的關鍵。例如設定基帶信號的速率為8 kHz,載波的中心頻率為200 kHz(fword=“10995116277”),為了實現調制指數為0.5的FM調制器,FM調制器的頻率差為4 kHz。FPGA根據8位A/D轉換器輸入的信號幅度值選擇相應的頻率字,從而控制輸出信號的頻率完成調頻功能。載波的中心頻率對應的A/D轉換器中心幅值a in=“10000 0000”;當A/D轉換器輸入為O V(即a in=“0000 0000”)時,對應的調制信號的輸出頻率為198 kHz(fword=“10885165114”);當A/D轉換器的輸入為滿刻度2 V(ain=“1111 1111”)時,調制輸出頻率為202 kHz(fword=“11105067440”)。把頻率從198 kHz到202 kHz等分成255份,把相應的頻率轉換成40位頻率字,則A/D轉換器的256個幅值與256個頻率字一一對應。在每一個系統(tǒng)時鐘周期,頻率控制字與40位的相位累加器的值相加結果存入相位累加器。由于選用的ROM查找表的地址線為10位,所以取相位累加器的高10位作為正弦查找表的地址。正弦查找表利用Cyclone內部的ROM模塊完成查找表的設計,字長為10位,與所選用的DAC的數據位數相匹配。
評論