基于DSP的嵌入式系統(tǒng)人機接口設計
摘要: 人機接口是嵌入式控制系統(tǒng)的重要組成部分,,用于人機之間實時交換控制系統(tǒng)并返回系統(tǒng)狀態(tài)。嵌入式系統(tǒng)大都采用液晶屏和鍵盤作為人機接口的輸入,、輸出設備,。這里設計的人機接口作為數(shù)據(jù)采集系統(tǒng)的組成部分,,為系統(tǒng)控制和運行監(jiān)測提供方便,而其本身在各種嵌入式控制系統(tǒng)中又具有廣泛的實用性,。
Abstract:
Key words :
1 引言
人機接口是嵌入式控制系統(tǒng)的重要組成部分,,用于人機之間實時交換控制系統(tǒng)并返回系統(tǒng)狀態(tài)。嵌入式系統(tǒng)大都采用液晶屏和鍵盤作為人機接口的輸入,、輸出設備,。這里設計的人機接口作為數(shù)據(jù)采集系統(tǒng)的組成部分,為系統(tǒng)控制和運行監(jiān)測提供方便,,而其本身在各種嵌入式控制系統(tǒng)中又具有廣泛的實用性,。
2 液晶屏顯示功能的實現(xiàn)
這里采用的液晶顯示器為RT320240B。該顯示器的控制器使用SEIKO EPSON公司生產(chǎn)的SED1335型控制器,。DSP訪問SED1335時,,無需判斷其是否空閑,SED1335能夠隨時準備接受DSP的訪問并按照內部時序及時正確傳輸DSP發(fā)送的指令,、數(shù)據(jù),。考慮到RT320240B是大屏幕液晶顯示器,,顯示數(shù)據(jù)采集波形需較快的屏幕刷新速度,,這里采用并行數(shù)據(jù)發(fā)送方式,從而在硬件設計上提高液晶屏幕的刷新速度,。
2.1 SED1335控制器
SED1335型液晶顯示控制器由振蕩器、功能邏輯電路,、顯示RAM,、管理電路字符庫及其管理電路,以及產(chǎn)生驅動時序的時序發(fā)生器組成,。振蕩器工作頻率在1~10 MHz范圍內可選,。SED1335的顯示RAM具有以下特性:
(1)文本顯示特性 顯示RAM區(qū)專用于文本方式顯示,,該顯示RAM區(qū)每個字節(jié)的數(shù)據(jù)都認為是字符代碼,,SED1335將使用該字符代碼確定字符庫中字符首地址,,再將相應字模數(shù)據(jù)傳送到液晶顯示模塊。在液晶屏上出現(xiàn)該字符的8×8點陣塊即文本顯示RAM的一個字節(jié)對應顯示屏上的8×8點陣,。
?。?)圖形顯示特性顯示RAM區(qū)專用于圖形方式顯示,該顯示RAM區(qū)每個字節(jié)的數(shù)據(jù)直接被送到液晶顯示模塊上,,每個位的電平狀態(tài)決定顯示屏上一個點的顯示狀態(tài),,1為顯示,0為不顯示,。所以圖形顯示RAM的一個字節(jié)對應顯示屏上的8×1點陣,。
(3)字符發(fā)生器SED1335管理內存字符發(fā)生器CGROM,,該字符發(fā)生器固化160種5×7點陣字符的字模SED1335,,由于SED1335僅能處理8位字符代碼,所以一次最多只能顯示及建立256種字符并在SED1335的字符表中給出內部字符發(fā)生器的全部內容,,同時給出外擴字符發(fā)生器的字符代碼范圍80H~9FH和E0H~FFH,,共64種。
2.2 液晶屏顯示硬件電路設計
考慮到SED1335控制器的特點以及顯示波形對速度的要求,,應用并行數(shù)據(jù)總線的方法,。而DSP2812的外擴數(shù)據(jù)總線剛好符合并行傳輸數(shù)據(jù)需要。I/O數(shù)據(jù)緩沖接口A0選用外擴地址總線的最低位地址總線A0,通過XINTF,將指令碼寫入"*******1"的外擴地址中,,并將數(shù)據(jù)寫入"*******1"的外擴地址中,,因此巧妙方便地解決了A0端口的設定,同時為編程帶來方便,?;谏鲜隹紤]進行設計,液晶屏的硬件連接電路如圖1所示,。
2.3 液晶屏顯示軟件設計
液晶屏顯示功能是通過向指定的內存區(qū)域進行寫操作來實現(xiàn)的,。通過讀指令讀取顯示緩存區(qū)中的內容,并與寫入數(shù)據(jù)相比較,,就可有效地檢測顯示器緩存區(qū)RAM功能,,結合各種SED1335控制器所提供的指令,全面檢測液晶顯示器,。
結合DSP自身特點所設計的系統(tǒng)硬件電路,,在編寫軟件程序時首先要定義數(shù)據(jù)段LCDCMD、LCDDATA,并在主程序中進行說明:
#pragma DATA_SECTION(LCDCMD,"LCD_CMDFile")
#pragma DATA_SECTION(LCDDATA,"LCD_DATAFile")
然后在CMD中為這兩個數(shù)據(jù)段分配地址:
LCD DATA:origin=0x0080000,length=0x00001
LCD CMD:origin=0x0080001,length=0x00001
圖2為液晶屏顯示軟件設計流程,。
尺寸相同的普通串口液晶刷屏速度一般為2~3 s,利用并口外擴數(shù)據(jù)總線設計方法可將刷屏速度提高到0.5 s,符合設計要求,,若采用匯編語言開發(fā)該設計,刷屏速度將更快,。
3 PS/2鍵盤功能的實現(xiàn)
3.1 PS/2接口簡介
本設計采用帶有PS/2接口的掃描式鍵盤,。PS/2接口鍵盤遵循雙向同步串行協(xié)議,,但主機在總線上總是具有優(yōu)先權,只需將時鐘拉低就可在任何時候抑制來自鍵盤的通訊,。物理PS/2接口是兩類連接器中的一種,,5引腳的DIN或6引腳的mini-DIN,目前常用的連接器為mini-DIN6引腳插頭,17鍵小鍵盤也是該連接器,。
3.2 PS/2接口硬件電路設計
PS/2接口只需2根數(shù)據(jù)線,,連接簡單,圖3為PS/2接口硬件連接電路,。
3.3 PS/2接口鍵盤軟件設計
DSP處理器監(jiān)控按鍵矩陣,,若發(fā)現(xiàn)有按鍵被按下釋放或按住,將發(fā)送掃描碼信息包到計算機,。其中,,掃描碼有通碼和斷碼兩種類型。當按下或按住按鍵時,,發(fā)送通碼,;當釋放按鍵時,則發(fā)送斷碼,。每個按鍵分配有唯一的通碼和斷碼,,則主機可通過查找唯一的掃描碼測定具體的按鍵。鍵盤上的每個按鍵的通斷碼組成掃描碼集,,PS/2接口鍵盤默認使用第二套掃描碼,。
鍵盤遵循一種每幀包含11位的串行協(xié)議,這些位分別為:1個起始位,,總為0;8個數(shù)據(jù)位,,低位在前;1個校驗位,,奇校驗,;1個停止位,總為1.為了減小系統(tǒng)開銷,,該設計采用中斷方式,,在中斷程序中檢測掃描碼,其部分程序代碼如下:
為減小誤碼率,,在判斷通碼后再檢測斷碼,,使得DSP處理器獲得更準確的判斷。
4 結論
本文介紹一種以DSP為核心的嵌入式人機接口設計,,經(jīng)實踐證明,該設計方案簡沽實用,,用途廣泛,?;谠撓到y(tǒng)設計思路,根據(jù)實際需要和處理器特點會有多種設計方案,,并結合BIOS系統(tǒng)的開發(fā)將使多任務間的調度更方便,。
此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載,。