您的位置:網(wǎng)站首頁 > 電器維修資料網(wǎng) > 正文 >
DDS任意波信號(hào)發(fā)生器人機(jī)交互系統(tǒng)的測試
來源: 日期:2013-12-7 10:02:50 人氣:標(biāo)簽:
2 顯示系統(tǒng)總體方案設(shè)計(jì)
顯示系統(tǒng)由硬件和軟件兩部分構(gòu)成,如圖1、圖2所示。


硬件部分以hms30c7202微處理器為核心,flash和sdram作為存儲(chǔ)設(shè)備,從矩陣鍵盤接受輸入,并在lcd上顯示相應(yīng)內(nèi)容,同時(shí)通過uart與dds信號(hào)源進(jìn)行通訊。存儲(chǔ)系統(tǒng)中的flash用來固化程序及保存波形數(shù)據(jù)和系統(tǒng)參數(shù);sdram是系統(tǒng)上電正常運(yùn)行后的代碼和數(shù)據(jù)載體。
軟件部分又可分成底層驅(qū)動(dòng)程序和上層控制程序兩部分。底層驅(qū)動(dòng)包括設(shè)置系統(tǒng)模式和時(shí)鐘,初始化存儲(chǔ)器,代碼拷貝,初始化lcd控制器,中斷控制器和uart控制器等。上層控制程序不斷查詢是否有鍵按下。若有鍵按下,則執(zhí)行相應(yīng)的任務(wù),lcd顯示相應(yīng)內(nèi)容;同時(shí)若需要,通過uart向dds信號(hào)源發(fā)出控制命令。
3 lcd驅(qū)動(dòng)電路組成
hms30c7202本身集成lcd控制器,支持stn和tft lcd液晶屏。am-320240ltnqw-00h tft lcd顯示屏接口共有54個(gè)引腳,它和lcd控制器的連接方法如圖3所示。

4 軟件系統(tǒng)設(shè)計(jì)
dds任意波信號(hào)發(fā)生器人機(jī)交互系統(tǒng)中的lcd顯示包括漢字和字符的顯示、位圖的顯示以及窗口的顯示。
4.1 漢字和字符的顯示
由于標(biāo)準(zhǔn)字庫太大,而dds任意波信號(hào)發(fā)生器lcd顯示的字符只占很少的一部分,因此需要自己制作一個(gè)字庫。結(jié)合lcd顯示屏的大小,漢字字符采用16*16點(diǎn)陣,英文字符和數(shù)字采用12*24點(diǎn)陣。為了軟件操作上的方便,漢字字庫和英文字庫相互獨(dú)立。漢字字模和英文字模的定義如下。

所有漢字字模數(shù)據(jù)構(gòu)成數(shù)組hzfont ddshztable[],所有英文和數(shù)字的字模數(shù)據(jù)構(gòu)成數(shù)組ywfont ddsentable[],這就是dds任意波信號(hào)發(fā)生器自己的字庫。顯示時(shí),首先找到當(dāng)前要顯示的字符在字庫中的位置,然后通過顯示算法將字符在lcd 上顯示出來。
4.2 位圖的顯示
位圖的顯示用于dds任意波信號(hào)發(fā)生器顯示開機(jī)畫面或波形圖像。其實(shí)現(xiàn)方法是將開機(jī)畫面對(duì)應(yīng)的位圖圖像轉(zhuǎn)化成320*240格式的數(shù)據(jù),放在數(shù)組const char gimage_hello[153600]中,然后將數(shù)組起始地址直接賦給lcd顯存開始地址就行了。當(dāng)顯示比lcd畫面小的位圖時(shí),則要定位該位圖在lcd屏中的顯示位置,然后通過一定的算法顯示出位圖圖像。
4.3 窗口的顯示
dds任意波信號(hào)發(fā)生器窗口的顯示內(nèi)容如圖4所示。窗口大致分三個(gè)區(qū),一區(qū)為左上角的波形顯示及說明區(qū),用來顯示各種波形或操作提示信息;二區(qū)為右邊和下邊的功能菜單區(qū),用來設(shè)置參數(shù)和進(jìn)行波形調(diào)制;三區(qū)為中部的參數(shù)菜單顯示區(qū),用于顯示波形和調(diào)制參數(shù)。

為了有效管理窗口顯示,給窗口定義了結(jié)構(gòu)體。

菜單分兩種,一種是功能菜單,如圖4中的頻率菜單、調(diào)制菜單。這種菜單只要求顯示菜單名,則對(duì)應(yīng)menu結(jié)構(gòu)體中的paraflag=0。另一種菜單為參數(shù)菜單,見圖4中的參數(shù)菜單顯示區(qū)。每個(gè)參數(shù)菜單有一個(gè)參數(shù)名和一個(gè)參數(shù)值,則對(duì)應(yīng)menu結(jié)構(gòu)體中的paraflag=1,text指向參數(shù)名字符串,pdata指向參數(shù)值字符串。
4.4 鍵值處理及l(fā)cd顯示模塊
dds任意波信號(hào)發(fā)生器的上層控制程序的主體就是鍵值處理及l(fā)cd顯示模塊,其軟件流程圖如圖5所示。它主要完成三方面的功能。(1)按了不同的波形鍵。由于各種波形的形狀、參數(shù)種類和個(gè)數(shù)不盡相同,當(dāng)按了波形鍵且和上一次按的波形鍵不一樣時(shí),lcd要刷屏并顯示當(dāng)前波形窗口。(2)按了設(shè)置參數(shù)鍵。這一般用來修改波形參數(shù)或系統(tǒng)參數(shù)。lcd必須提供編輯框或選擇框,動(dòng)態(tài)顯示鍵盤輸入的數(shù)字和單位。對(duì)一些需要保存的參數(shù),則還要將這些數(shù)據(jù)保存在flash中。(3)按了輸出鍵。lcd不需要修改顯示畫面,hms30c7202通過串口向dds信號(hào)源發(fā)送命令控制字。

另外為了提高lcd的換屏速度,在換屏顯示時(shí)并不是更新所有內(nèi)容,而是只有當(dāng)前操作修改了哪些參數(shù),lcd才更新顯示哪一塊內(nèi)容。
5 結(jié)論
本文設(shè)計(jì)的dds任意波信號(hào)發(fā)生器人機(jī)交互系統(tǒng)已在實(shí)際硬件環(huán)境中調(diào)試通過。lcd顯示畫面簡潔,操作簡單直觀。同時(shí)若要修改菜單內(nèi)容,調(diào)整菜單顯示位置,只需修改窗口結(jié)構(gòu)體變量的值,無需修改程序代碼,軟件系統(tǒng)易于擴(kuò)展和移植。
本文作者創(chuàng)新點(diǎn):采用先進(jìn)的hms30c7202 arm處理器和高性能的m-320240ltnqw-00h tft液晶屏,設(shè)計(jì)了一個(gè)dds任意波信號(hào)發(fā)生器的人機(jī)交互系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)方法簡單,操作簡便,界面顯示直觀,且易于移植和擴(kuò)展。
- 1
- 2
- 下一頁
【看看這篇文章在百度的收錄情況】