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