數(shù)字化幅度調制電路的實現(xiàn)
圖3 串行傳輸時序圖
AD9854的控制芯片還需要去控制將待傳輸?shù)恼Z音信號轉換為數(shù)字信號的模擬/數(shù)字轉換器的工作。由于可編程邏輯器件具有并行工作的特點,使得其對模擬/數(shù)字轉換器的控制工作和向AD9854的數(shù)據傳輸可以采用流水線的方法進行。設計中采用ALTERA公司的FPGA器件EP1C3,這種FPGA器件的端口電壓支持3.3V,這與AD9854芯片相同;同時它具有104個用戶可使用的輸入/輸出管腳,足夠整個系統(tǒng)使用;再有就是它的內部也具有基于鎖相環(huán)的時鐘倍頻電路,降低了對外部時鐘在工作頻率方面的要求。
采用有限狀態(tài)機(FSM)的時序電路模型,使用VHDL實現(xiàn)的AD9854芯片數(shù)據接口代碼格式如下:
IF (start_ad9854 = '0') THEN --啟動信號有效,狀態(tài)清0
current_state = 0;
ELSIF (start_ad9854 = '1') THEN --啟動信號無效,狀態(tài)機工作
IF (clk_ad9854'EVENT AND clk_ad9854 = '1') THEN --AD9854串行2線數(shù)據傳輸模塊時鐘有效
CASE current_state IS --根據有限狀態(tài)機狀態(tài)進行分支處理
??????
WHEN 24 => --當前狀態(tài)24
current_state = 25; --下一個狀態(tài)25
cs = '0'; sclk = '0'; sdio = amplitude(11); updata = '0';
--模擬/數(shù)字轉換結果位11數(shù)據
WHEN 25 => --當前狀態(tài)25
current_state = 26; --下一個狀態(tài)26
cs = '0'; sclk = '1'; sdio = amplitude(11); updata = '0';
--串行時鐘有效,位11數(shù)據寫入
??????
WHEN 50 => --當前狀態(tài)50
current_state = 50; --下一個狀態(tài)50
cs = '1'; sclk = '0'; sdio = '0'; updata = '0';
??????
圖4 AD9854芯片數(shù)據接口仿真波形圖
圖4是實現(xiàn)向AD9854芯片傳送模擬/數(shù)字轉換結果的仿真波形圖。模塊時鐘clk_ad9854頻率選取1MHz。每個數(shù)據傳送循環(huán)由啟動信號start_ad9854為低電平開始,這使得當前狀態(tài)為0。當啟動信號變?yōu)楦唠娖?,在模塊時鐘的控制下依次產生所需的各個狀態(tài)。在每個狀態(tài)下,分別產生串行數(shù)據傳送選擇信號cs、串行時鐘信號sclk、串行數(shù)據信號sdio和刷新信號updata。當前數(shù)據傳送完成以后,狀態(tài)機在最后一個狀態(tài)自跳轉,如代碼舉例中的狀態(tài)50,等待下一個數(shù)據傳送循環(huán)開始時的啟動信號start_ad9854低電平。
5 結束語
本文作者創(chuàng)新點:實現(xiàn)了一個全數(shù)字化的幅度調制電路,并包括載波信號的產生。利用調幅收音機在整個頻段內對電路的工作進行了檢測,獲得滿意的結果。相對于模擬幅度調制電路,數(shù)字幅度調制電路具有抗干擾能力強、一致性好以及容易實現(xiàn)設計自動化等優(yōu)點。
ALTERA公司的FPGA器件不僅提供實現(xiàn)邏輯電路的資源,同時也提供了大量的嵌入式存儲模塊。采用FPGA器件可以很方便地實現(xiàn)相位累加器和波形數(shù)據表,工作速率也滿足要求。如果用它來實現(xiàn)DDS信號源,當前的主要困難為必須添加數(shù)字/模擬轉換器,高速數(shù)字/模擬轉換器不僅價格較高,而且它與FPGA器件之間的高速數(shù)據傳送對電路板也提出較高的要求。
DIY機械鍵盤相關社區(qū):機械鍵盤DIY
評論