基于DDS的高精度任意波形發生器設計
4 系統軟件設計
4.1 上位機軟件設計
上位機部分由Labwindows軟件編寫,主要負責對下位機系統的控制,包括對信號頻率、幅度、相位(占空比)的設置,信號波形的選擇,用戶自定義波形數據的輸入等,其控制面板如圖8所示。
4.2 FPGA軟件設計
FPGA為系統的核心控制單元,負責與上位機軟件通信及控制下位機系統產生任意波形。
4.2.1 與上位機通信模塊設計
上位機與下位機的通信是通過RS232來實現的,FPGA主要用于接收RS232發送過來的數據并將其存入外部RAM中,通信模塊如圖9所示。
RS232_Controller模塊用于接收上位機發送過來的數據,RS232的速率為115.200 kB/s,8位數據位,1位停止位,無校驗位。data_bu-ffer將RS232_Controller接收的數據緩存,并按接收先后順序組合成16位數據后送入RamWrite。RamWrite再將這些16位數據從地址0x00000開始存入外部RAM中。
4.2.2 接收數據處理模塊
本模塊主要用于分析和處理接收到的上位機數據,從中提取出信號的數據信息、各項參數及控制命令,如圖10所示。
當RS232發送數據完成時,接收數據處理模塊立即從地址0x00000開始讀取RAM中的數據。當第1個數據和第2個數據分別為16'hAAF0和16' hBB55時,則第3個數據的高8位為命令控制字,否則接收數據處理模塊停止讀取RAM中的數據。8位命令控制字各位所代表含義如下
評論