基于模型的DDS芯片設計與實現(xiàn)
選擇在Xilinx 公司的Spartan-3E Starter Kit 開發(fā)板上實現(xiàn)整個設計。在該開發(fā)板 上,有一片LTC2* D/A 芯片,通過一個SPI 接口與FPGA 管腳相接,能夠提供4 路獨立的 模擬量輸出。為了便于對D/A 芯片以及各種控制接口的控制,在實現(xiàn)過程中使用了一個 PicoBlaze 軟核。
PicoBlaze 是一個緊湊型、資源占用極少、完全嵌入式的8 位精簡指令集 微控制器軟核。我們可以在文本編輯環(huán)境下根據(jù)PicoBlaze 的指令系統(tǒng)編寫自己的控制代 碼,然后保存為.psm 格式的文件,再用Xilinx 的KCPSM3 assembler 對文件進行編譯,編 譯通過后自動生成一個儲存用戶程序的ROM(VHDL 文件)。將生成的ROM 文件和KCPSM3 軟 核加載到工程中,并建立上層文件對各輸入、輸出口及中斷進行配置,這樣,一個PicoBlaze 軟核就設計成功了。 在PicoBlaze 的控制程序中采用軟件中斷方式控制D/A 芯片以20KHZ 的頻率對數(shù)字量采 樣。在每個采樣過程中,由PicoBlaze 軟核控制向D/A 芯片發(fā)送32 位控制字,其中有12 位待轉(zhuǎn)換的數(shù)字量、4 位通道選擇控制字、4 位模式控制字,其余各位為0。在ISE 中對主 時鐘進行軟件分頻,將開發(fā)板上原本50MHZ 的時鐘降低到100KHZ 之后再接到DDS 產(chǎn)生電路 的輸入時鐘端口。這樣, 在FWord = 4 的情況下, DDS 的輸出頻率
輸入時鐘可以直接接入50MHZ 的晶振,這樣,在同樣頻率控制字的情況下輸出頻率也會相應 提高。這里分頻只是為了配合相對低速的D/A 芯片,以使得輸出波形每個周期的采樣數(shù)相對 多一些,以便于用示波器進行觀察。
將生成的比特流代碼下載到目標板,板上的開關(guān)信號作為用戶接口控制FWord 的值, 控制不同開關(guān)的關(guān)閉和開啟,模擬不同頻率控制字的情況,得到不同頻率的波形,用示波器 觀察開發(fā)板上J5 連接器的A 通道,得到如圖3 的波形:觀察波形,與由公式計算出的理論值吻合,證明了本文所介紹的方法的有效性、可行性。在ISE 的設計使用摘要窗口中,我們 可以清楚的看到該系統(tǒng)所占用的芯片資源極少,由此可見,如果我們加大ROM 的深度,并且 通過DCM 時鐘管理提高主時鐘頻率的話,能夠很容易的實現(xiàn)更高頻率、更高精度的DDS 芯片。
4 結(jié)語
該設計過程演示了在MATLAB/SIMULINK 環(huán)境下使用Xilinx 公司的System Generator 模塊集對DDS 建模,并在ISE 中進行編譯、仿真,最終在開發(fā)板上實現(xiàn)DDS 功能芯片的過程。 雖然在ISE 集成環(huán)境中已經(jīng)提供了DDS 的IP 核供編程者使用,但是只能產(chǎn)生正弦或者余弦 波形,在需要產(chǎn)生其它波形(如方波、三角波等)的場合難以發(fā)揮作用,而且根據(jù)DDS 原理 使用軟件編程方法產(chǎn)生其它波形具有一定的復雜性,容易出錯且效率不高。本文介紹的方法 具有數(shù)字頻率合成的普遍性,設計者通過修改ROM 中存儲的初始值向量,可以用類似的方法 達到產(chǎn)生任意波形的目的。這是一種在Xtreme 系統(tǒng)中實現(xiàn)DSP 設計的普遍方法,使用這樣 的設計流程,可以避免編寫煩瑣的HDL 程序,更可以實現(xiàn)其它更加復雜的DSP 算法。該方法 充分發(fā)揮了使用FPGA 實現(xiàn)DSP 系統(tǒng)所具有的高度并行性、重構(gòu)靈活性以及低性價比的優(yōu)勢, 在無線基站、復雜網(wǎng)絡系統(tǒng)、視頻服務和醫(yī)療圖象等DSP 領(lǐng)域?qū)⒌玫礁訌V泛的應用。
本文的創(chuàng)新點:不僅提出了一種先進的基于模型的DDS 芯片的設計新方法,而且通過實 際實驗在硬件開發(fā)板上實現(xiàn)了整個設計構(gòu)想,實驗結(jié)果符合設計要求,驗證了該設計方法的 正確性、可行性。
評論