• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM的信號發生器人機交互系統設計

    基于ARM的信號發生器人機交互系統設計

    作者: 時間:2012-10-18 來源:網絡 收藏

    1 引言

    本文引用地址:http://www.czjhyjcfj.com/article/148336.htm

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

    本文以Hynix公司生產的HMS30C7202工業級處理器作為控制器,以矩陣鍵盤作為輸入設備,以AMPIRE公司生產的AM-320240LTNQW-00H TFT LCD顯示屏作為顯示輸出設備,研究了相應的硬件電路與顯示驅動程序,在此基礎上完成了中英文顯示

    2 顯示總體方案

    顯示由硬件和軟件兩部分構成,如圖1、圖2所示。

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

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

    3 LCD驅動電路組成

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

    4 軟件系統設計

    DDS任意波系統中的LCD顯示包括漢字和字符的顯示、位圖的顯示以及窗口的顯示。

    4.1 漢字和字符的顯示

    由于標準字庫太大,而DDS任意波信號發生器LCD顯示的字符只占很少的一部分,因此需要自己制作一個字庫。結合LCD顯示屏的大小,漢字字符采用16*16點陣,英文字符和數字采用12*24點陣。為了軟件操作上的方便,漢字字庫和英文字庫相互獨立。漢字字模和英文字模的定義如下。

    所有漢字字模數據構成數組HZFONT DDSHZTable[],所有英文和數字的字模數據構成數組YWFONT DDSENTable[],這就是DDS任意波信號發生器自己的字庫。顯示時,首先找到當前要顯示的字符在字庫中的位置,然后通過顯示算法將字符在LCD 上顯示出來。

    4.2 位圖的顯示

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

    4.3 窗口的顯示

    DDS任意波信號發生器窗口的顯示內容如圖4所示。窗口大致分三個區,一區為左上角的波形顯示及說明區,用來顯示各種波形或操作提示信息;二區為右邊和下邊的功能菜單區,用來設置參數和進行波形調制;三區為中部的參數菜單顯示區,用于顯示波形和調制參數。

    為了有效管理窗口顯示,給窗口定義了結構體。

    菜單分兩種,一種是功能菜單,如圖4中的頻率菜單、調制菜單。這種菜單只要求顯示菜單名,則對應Menu結構體中的ParaFlag=0。另一種菜單為參數菜單,見圖4中的參數菜單顯示區。每個參數菜單有一個參數名和一個參數值,則對應Menu結構體中的ParaFlag=1,Text指向參數名字符串,pData指向參數值字符串。

    4.4 鍵值處理及LCD顯示模塊

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

    另外為了提高LCD的換屏速度,在換屏顯示時并不是更新所有內容,而是只有當前操作修改了哪些參數,LCD才更新顯示哪一塊內容。

    5 結論

    本文設計的DDS任意波信號發生器系統已在實際硬件環境中調試通過。LCD顯示畫面簡潔,操作簡單直觀。同時若要修改菜單內容,調整菜單顯示位置,只需修改窗口結構體變量的值,無需修改程序代碼,軟件系統易于擴展和移植。

    本文作者創新點:采用先進的HMS30C7202 處理器和高性能的M-320240LTNQW-00H TFT液晶屏,設計了一個DDS任意波信號發生器的人機交互系統。該系統實現方法簡單,操作簡便,界面顯示直觀,且易于移植和擴展。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 万宁市| 迁西县| 绵阳市| 库车县| 同心县| 泊头市| 南投市| 葫芦岛市| 元阳县| 平阳县| 清水河县| 沧州市| 弥渡县| 两当县| 长寿区| 定远县| 融水| 沅江市| 五寨县| 微山县| 邮箱| 航空| 吉水县| 会同县| 麻江县| 天台县| 南木林县| 兰州市| 六枝特区| 黄陵县| 宁明县| 重庆市| 闸北区| 宁海县| 易门县| 鸡东县| 连平县| 长宁县| 四平市| 定远县| 舞钢市|