《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于單片機和FPGA的人機交互系統的設計
基于單片機和FPGA的人機交互系統的設計
電子設計工程
鹿 璇,宋 曉,杜 沖 武漢大學
摘要: 摘要:在儀器儀表電路中,人機交互界面是必不可少的環節。為了解決單純采用單片機制作的系統功耗高、速度慢、電路結構繁瑣的問題,同時為了發揮出單片機的靈活性和FPGA的高速性,系統采用C805lF020單片機和CycloneⅡ
Abstract:
Key words :

摘要:在儀器儀表電路中,人機交互界面是必不可少的環節。為了解決單純采用單片機制作的系統功耗高、速度慢、電路結構繁瑣的問題,同時為了 發揮出單片機的靈活性和FPGA的高速性,系統采用C805lF020單片機和CycloneⅡFPGA作為系統核心,設計實現了鍵盤、LCD等人機交互 功能,同時預留了部分I/O接口作為擴展接口使用。采用FPGA掃描鍵盤可以極大程度地節省單片機的資源,利用單片機和FPGA共同控制LCD可以更好地 體現出人機交互的特色。
關鍵詞:人機交互;C805lF;T6963C;FPGA;鍵盤掃描

   
在現代各類儀器的開發中,人機交互功能正起著無可替代的作用。人機交互界面友好的儀器將更容易操作和使用,從而提高工作效率。液晶顯示器(LCD)具有功 耗低、價格低、壽命長、接口控制方便等特點,在科研與設計領域正發揮著越來越大的作用。FPGA作為單片機外設的接口芯片,可以大大簡化接口電路,通過對 FPGA進行編程,可以實現常用的譯碼、地址選通等功能。
    本文以C8051F020單片機與FPGA互連系統為控制核心,以液晶顯示控制器T6963C為例,結合行掃描鍵盤,簡述了一種人機交互功能的設計。

1 系統設計方案
    FPGA可在很大程度上擴展單片機的資源,然而人機交互功能仍應盡量減少對單片機及FPGA的資源消耗,以便將更多的片內資源用于其他功能的擴展。采用 FPGA掃描鍵盤可以節省單片機的資源,同時也能靈活地實現鍵盤的擴展。而考慮到液晶控制較復雜,依然采用單片機控制
LCD,使LCD的各種功能得到最大程度的利用,其系統框圖如圖1所示。

a.JPG


2 硬件電路及FPGA接口設計
2.1 總線接口設計
    這里采用單片機C8051F020與CycloneⅡFPGA互連的系統。C8051F020器件是完全集成的混合信號系統級MCU芯片,具有64個數字 I/O引腳,與8051完全兼容,而且速度得到了極大提高,70%的指令執行時間為l或2個系統時鐘周期,只有4條指令的執行時間大于4個系統時鐘周期。 此外,C8051F020系列MCU對CIP-51內核和外設有幾項關鍵性的改進,提高了整體性能,更易于在最終應用中使用。如提供22個中斷源、7個復 位源、可編程交叉開關、8位A/D轉換器、12位D/A轉換器等。
     CycloneⅡ系列FPGA將低功耗FPGA的密度規模擴展至68 416個邏輯單元,并提供高達622個可用的I/O接口以及高達1.1 Mb的片內存儲單元。CycloneⅡ系列成功實現了高效與低功耗的結合,可用于自動化、通信、視頻播放等領域。為兼顧成本問題,本系統采用性價比較高的EP2C8型FPGA作為接口器件。
    為使單片機的資源可以得到最大的開發,將單片機的高端口,即P4~P7接入FPGA,并通過FPGA對外部設備進行訪問。在FPGA中通過Vel-ilog HDL語言編程實現了3-8譯碼器,從而實現了對單片機地址總線的擴展。該3-8譯碼器對LCD以及鍵盤的鍵值讀取提供使能信號,如圖2所示。

b.JPG


2.2 T6963C及其接口設計
    T6963C液晶顯示控制器多用于小規模的液晶顯示器件,常被裝配在圖形液晶顯示模塊上,以內藏控制器型圖形液晶顯示模塊的形式出現。
    單片機對T6963C有2種訪問方式:直接訪問與間接訪問。直接訪問利用三總線以I/O設備訪問形式進行控制;間接訪問則由單片機提供并行接口,以程序控制時序的方式進行控制。為簡化程序,這里采用直接訪問方式。
    該LCM的FS1引腳用于控制顯示字符的字體。FS1為高時,LCD顯示6x8字符;FS1為低時,LCD顯示8x8字符。經實踐,在顯示英文與數字 時,6x8字符更為美觀;在顯示中文字符時,8x8字符更為方便。一般系統采用將FS1接地或接高的方式來固定字體,而本系統采用P2.1對FS進行控 制,通過改變地址實現改變字體的功能,使得界面的顯示更靈活。
2. 3 鍵盤電路設計
    鍵盤是常用的單片機輸入設備,分為編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識別由專用硬件譯碼器實現,并產生鍵編號或鍵值的稱為編碼鍵盤;靠軟件識別的稱為 非編碼鍵盤。在單片機組成的測控系統及智能化儀器中使用最多的是非編碼鍵盤,本系統設計在FPGA中編程實現3x6鍵盤的行掃描。
    由于按鍵的機械特性,在閉合和斷開的瞬間會伴隨著一連串的抖動,鍵抖動會引起一次按鍵被誤讀多次,所以必須進行去抖處理,常用的方法為延時去抖動。 FPGA產生鍵值之后向單片機發送中斷,并等待單片機讀取鍵值。由于人腦反應時間相對較長,鍵盤中斷可以處于相對較低的優先級,因此本文將鍵盤中斷接于外 部中斷7。

3 軟件設計
    軟件設計遵循結構化和層次化的設計原則。底層函數直接與硬件溝通,而上層函數直接通過調用底層函數來實現相應功能,從而使上層函數與硬件環境徹底分開。當硬件環境發生變化時,僅修改底層函數便能實現程序的移植。
3.1 液晶驅動模塊的編程設計
    本模塊的底層函數需要實現寫控制字、寫參數、查忙等功能。由于采用直接訪問,寫控制字與寫參數的函數只需向控制口或數據口的地址送數即可。由于LCD是慢 速器件,因此在每次寫控制字及寫參數之前都需要進行查忙。T6963C的狀態字共有7位有效的狀態位,如表1所示。其中STA1~STA3最為常用,一般 情況下可以不需要對STA5~STA7進行杏忙的程序。

c.JPG


3.1.1 液晶驅動模塊的初始化
    T6963C的最大特點是具有獨特的硬件初始值設置功能,顯示驅動所需的參數如占空比系數。驅動傳輸的字節數/行及字符的字體選擇等均由引腳電平設置,這 樣T6963C的初始化在上電時就已經基本設置完成,軟件操作的重心就可以全部用于顯示畫面的設計上。因此,初始化時僅需根據實際情況設置文本區域和圖形 區域的首地址和寬度,以及CGRAM偏置地址、合成方式、光標形狀等即可正常使用。
    液晶驅動模塊的初始化函數如下:
d.JPG
e.jpg
3.1.2 英文及漢字的文本顯示
    由于英文及數字等常用字符的字模已經固化在CGROM中,因此進行英文的顯示時,只需指定顯示的地址,再輸入該字符對應的標號即可。漢字 的顯示與英文的顯示類似。然而出于其復雜性,一個漢字需要使用4組點陣才能完整顯示。在初始化后將漢字的4部分字模順序輸入CGRAM中,在使用時僅需計 算好每一部分的顯示地址即可對漢字進行完美顯示。
    對于一串英文字符的輸入,可以利用字符串的特性進行操作。通過檢測‘\0’字符來判斷英文字符串的結尾,從而避免了在調用此顯示函數時人工計算句子長度的 工作。英文字符的ASCII碼值與其在CGROM中對應的標號恰相差0x20,因此僅需簡單的減法即可實現標號的轉換。此外,在進行英文的連續顯示時,使 用了T6963C的數據自動寫指令,從而提高了顯示效率。
    對于一串中文的顯示,則僅需通過循環調用單個中文的顯示程序進行實現。注意由于C51語言中字符串無法支持中文,因此必須人工計算中文字串的長度并將其作為函數傳遞給此顯示函數。
    字符發生器CGRAM中總共可存儲32個漢字,對于需顯示較多漢字的應用,可從需顯示的漢字中選出16個最常用的漢字,固定存放于CGRAM中,其余漢字僅在需要使用時動態寫入CGRAM。這樣,既提高了顯示效率,又解決了CGRAM過小的問題。

f.jpg


3.1.3 圖形顯示
    除使用文本顯示漢字外,還可采用圖形顯示的方式。具體方式是將字模以數組的方式保存于單片機的代碼段,在需要顯示時將數據送入圖形區即可。此外,利用圖形顯示,還可以編寫描點程序顯示相應波形或者編寫繪圖程序繪制簡易表格,使系統顯示結果更加直觀,便于分析。
3.1.4 文本特效
    T6963C可以設置文本屬性區,并對文本實現反白、正向閃爍、反向閃爍等特效。使用時僅需將圖形顯示設置為文本屬性區即可。此時圖形區的內容將無法顯 示,若圖形區與文本屬性區劃分在CGRAM的不同區域,則圖形區的內容可以得到保存。利用文本特效,可通過反白或閃爍等效果指示可選選項以及當前選項,從 而使界面更易于操作。
3.2 人機交互界面設計
    除基本的10個數字鍵以外,還設定了上、下、左、右、確定、取消等按鍵。此外,按鍵位置的設計,更符合人們的按鍵習慣。在界面中采用分級的菜單,在一級菜 單中選定功能之后將進入下一級菜單對功能進行更詳細的設定。在人機交互界面中可以使用方向鍵進行功能的選擇,數字鍵僅用于數據的輸入。
    界面充分利用了文本特效,對選項采用反向顯示表示該選項已選定:對選項采用反向閃爍表示用戶可通過方向鍵改變選項。在需要進行數字輸入的界面中打開光標,即可向用戶標示數字輸入的地方。此外,必要的警告和出錯界面的設計將為用戶提供更多信息,使人機交互界面更為友好。

4 結束語
    本系統采用鍵盤+LCD的輸入輸出設備,并且可以通過FPGA實現各種其他外設的接口電路的設計,減少了對單片機資源的占用,使得設計靈 活、方便。同時FPGA還可以為單片機提供存儲器和I/0口等資源。本文設計的電路可擴展性強,在此基礎上可將其擴展成各種擁有友好界面的系統,如可控增 益放大器、音頻信號分析儀、集成運放分析儀等。經實踐,該系統穩定易用,實用性強。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲AV无码一区二区三区在线 | 日本强伦姧人妻一区二区| 国产精品无码日韩欧| ww美色吧com| 成人爽a毛片在线视频| 久久午夜伦鲁片免费无码| 男人天堂手机在线版| 嗯好湿用力的啊c进来动态图| 香蕉久久夜色精品升级完成| 国产欧美日韩另类一区乌克兰| 69日本xxxxxxxxx19| 在线观看的免费视频网站| 久久亚洲欧美国产精品| 最近中文国语字幕在线播放| 北条麻妃中文字幕在线观看| 色播亚洲视频在线观看| 国产精品无码久久综合网| 99久久免费国产精精品| 好大好爽再深一点在线观看| 东北疯狂xxxxbbbb中国| 无码专区永久免费AV网站| 久久久精品国产sm最大网站| 日韩精品一区二区三区中文精品 | 亚洲国产精品ⅴa在线观看| 美美女高清毛片视频免费观看 | 三级黄色免费观看| 手机看片在线精品观看| 久久久久久久综合色一本| 日本视频网站在线www色| 久久精品无码aV| 春丽全彩×全彩番中优优漫画| 亚洲av无码专区国产乱码不卡 | 日韩污视频在线观看| 五月婷婷丁香久久| 极品videossex日本妇| 亚洲aⅴ男人的天堂在线观看| 欧美大片天天免费看视频| 再深点灬舒服了灬太大了乡村 | 两个人看的www免费视频中文| 国产精品成年片在线观看| 3d玉蒲团之极乐宝鉴|