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