《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM的信號發(fā)生器人機(jī)交互系統(tǒng)設(shè)計(jì)
基于ARM的信號發(fā)生器人機(jī)交互系統(tǒng)設(shè)計(jì)
摘要: 基于ARM的信號發(fā)生器人機(jī)交互系統(tǒng)設(shè)計(jì), 1 引言  信號源作為一種基本電子設(shè)備無論是在教學(xué),、科研還是在工程技術(shù)保障中,都有著廣泛的使用,。隨著科學(xué)技術(shù)的發(fā)展和DDS技術(shù)的成熟,基于DDS的任意波信號發(fā)生器已成為信號源的主流,。目前DDS任意波信號發(fā)生器廣
Abstract:
Key words :

 1 引言

  信號源作為一種基本電子設(shè)備無論是在教學(xué)、科研還是在工程技術(shù)保障中,,都有著廣泛的使用,。隨著科學(xué)技術(shù)的發(fā)展和DDS技術(shù)的成熟,基于DDS的任意波信號發(fā)生器已成為信號源的主流,。目前DDS任意波信號發(fā)生器廣泛使用中文液晶顯示器已成為一個(gè)趨勢,。

  本文以Hynix公司生產(chǎn)的HMS30C7202工業(yè)級處理器作為控制器,以矩陣鍵盤作為輸入設(shè)備,,以AMPIRE公司生產(chǎn)的AM-320240LTNQW-00H TFT LCD顯示屏作為顯示輸出設(shè)備,,研究設(shè)計(jì)了相應(yīng)的硬件電路與顯示驅(qū)動程序,在此基礎(chǔ)上完成了人機(jī)交互中英文顯示系統(tǒng)的設(shè)計(jì),。

  2 顯示系統(tǒng)總體方案設(shè)計(jì)

  顯示系統(tǒng)由硬件和軟件兩部分構(gòu)成,,如圖1、圖2所示,。

硬件部分以HMS30C7202微處理器為核心,,F(xiàn)LASH和SDRAM作為存儲設(shè)備,從矩陣鍵盤接受輸入,,并在LCD上顯示相應(yīng)內(nèi)容,,同時(shí)通過UART與DDS信號源進(jìn)行通訊。存儲系統(tǒng)中的FLASH用來固化程序及保存波形數(shù)據(jù)和系統(tǒng)參數(shù),;SDRAM是系統(tǒng)上電正常運(yùn)行后的代碼和數(shù)據(jù)載體,。

  軟件部分又可分成底層驅(qū)動程序和上層控制程序兩部分。底層驅(qū)動包括設(shè)置系統(tǒng)模式和時(shí)鐘,,初始化存儲器,,代碼拷貝,初始化LCD控制器,,中斷控制器和UART控制器等,。上層控制程序不斷查詢是否有鍵按下。若有鍵按下,,則執(zhí)行相應(yīng)的任務(wù),,LCD顯示相應(yīng)內(nèi)容;同時(shí)若需要,,通過UART向DDS信號源發(fā)出控制命令,。

  3  LCD驅(qū)動電路組成

  HMS30C7202本身集成LCD控制器,支持STN和TFT LCD液晶屏,。AM-320240LTNQW-00H TFT LCD顯示屏接口共有54個(gè)引腳,,它和LCD控制器的連接方法如圖3所示,。

 4 軟件系統(tǒng)設(shè)計(jì)

  DDS任意波信號發(fā)生器人機(jī)交互系統(tǒng)中的LCD顯示包括漢字和字符的顯示、位圖的顯示以及窗口的顯示,。

  4.1 漢字和字符的顯示

  由于標(biāo)準(zhǔn)字庫太大,,而DDS任意波信號發(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任意波信號發(fā)生器自己的字庫。顯示時(shí),,首先找到當(dāng)前要顯示的字符在字庫中的位置,,然后通過顯示算法將字符在LCD 上顯示出來。

  4.2 位圖的顯示

  位圖的顯示用于DDS任意波信號發(fā)生器顯示開機(jī)畫面或波形圖像,。其實(shí)現(xiàn)方法是將開機(jī)畫面對應(yīng)的位圖圖像轉(zhuǎn)化成320*240格式的數(shù)據(jù),,放在數(shù)組const char gImage_hello[153600]中,然后將數(shù)組起始地址直接賦給LCD顯存開始地址就行了,。當(dāng)顯示比LCD畫面小的位圖時(shí),,則要定位該位圖在LCD屏中的顯示位置,然后通過一定的算法顯示出位圖圖像,。
 4.3 窗口的顯示

  DDS任意波信號發(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)制菜單。這種菜單只要求顯示菜單名,,則對應(yīng)Menu結(jié)構(gòu)體中的ParaFlag=0,。另一種菜單為參數(shù)菜單,,見圖4中的參數(shù)菜單顯示區(qū)。每個(gè)參數(shù)菜單有一個(gè)參數(shù)名和一個(gè)參數(shù)值,,則對應(yīng)Menu結(jié)構(gòu)體中的ParaFlag=1,,Text指向參數(shù)名字符串,pData指向參數(shù)值字符串,。


  4.4 鍵值處理及LCD顯示模塊

  DDS任意波信號發(fā)生器的上層控制程序的主體就是鍵值處理及LCD顯示模塊,,其軟件流程圖如圖5所示。它主要完成三方面的功能,。(1)按了不同的波形鍵。由于各種波形的形狀,、參數(shù)種類和個(gè)數(shù)不盡相同,,當(dāng)按了波形鍵且和上一次按的波形鍵不一樣時(shí),LCD要刷屏并顯示當(dāng)前波形窗口,。(2)按了設(shè)置參數(shù)鍵,。這一般用來修改波形參數(shù)或系統(tǒng)參數(shù)。LCD必須提供編輯框或選擇框,,動態(tài)顯示鍵盤輸入的數(shù)字和單位,。對一些需要保存的參數(shù),則還要將這些數(shù)據(jù)保存在FLASH中,。(3)按了輸出鍵,。LCD不需要修改顯示畫面,HMS30C7202通過串口向DDS信號源發(fā)送命令控制字,。

另外為了提高LCD的換屏速度,,在換屏顯示時(shí)并不是更新所有內(nèi)容,而是只有當(dāng)前操作修改了哪些參數(shù),,LCD才更新顯示哪一塊內(nèi)容,。

  5 結(jié)論

  本文設(shè)計(jì)的DDS任意波信號發(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任意波信號發(fā)生器的人機(jī)交互系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)方法簡單,,操作簡便,,界面顯示直觀,,且易于移植和擴(kuò)展。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。