廣播電視系統(tǒng)人機交互界面的設計與實現(xiàn)
隨著科學技術日益的發(fā)展,廣播電視設備的國產化程度也越來越高。在一個性能優(yōu)良的廣播電視系統(tǒng)中,友好的中文人機交互界面也尤為重要。
本文設計了一種廣播電視系統(tǒng)人機交互界面系統(tǒng),以滿足“數(shù)字立體聲調頻調制器”顯控要求為前提,采用MSP430F149單片機作為系統(tǒng)的MCU ;液晶屏為滿足漢字4行11列、字母4行22列顯示要求的LCM168651顯示模塊;并滿足用戶通過鍵盤輸入的方式進行工作參數(shù)設置和工作狀態(tài)查詢的人機交互要求。
1.系統(tǒng)組成
本系統(tǒng)主要由三個模塊組成,即以MSP430F149單片機為核心的MCU;以LCM168651為主要部件的菜單顯示模塊;以及以ZLG7289B為主的鍵盤掃描管理模塊。
1.1 單片機控制模塊
本系統(tǒng)中單片機控制模塊主要完成顯示、控制信息的采集、處理以及與“數(shù)字立體聲調頻調制器”其他分系統(tǒng)之間的通信。選型要求主要考慮以下幾個方面:
·低功耗;
·具有豐富的I/O端口及定時、中斷功能;
·3v左右的工作電壓;
·至少一個串行通信接口;
·大于8KB的存儲空間;
·基本時鐘模塊在4MHz以上;
·具有加密保護功能。
根據以上的要求,我們選用TI公司推出的超低功耗Flash型16位RISC指令集單片機MSP430F149。根據其主要性能特點,完全可以滿足設計要求。
1.2 菜單顯示模塊
菜單顯示模塊主要完成系統(tǒng)信息的時時顯示功能,并能在鍵盤控制下滾動顯示不同的信息?!皵?shù)字立體聲調頻調制器”在顯示模塊主要有以下要求:
·同時顯示信息滿足至少漢字3行10列;·可卷動顯示系統(tǒng)信息;
·并串行接口,電路簡單;·5v以內工作電壓;·顯示清晰無光斑,抗干擾能力強
我們設計選用北京青云公司的圖形點陣液晶模塊LCM168651,該模塊屬于被動顯示,受外界光線干擾小,不產生電磁干擾,顯示內容清晰,分辨率高。
1.3 鍵盤控制模塊
鍵盤控制模塊是人機交互界面的重要組成模塊,滿足用戶通過鍵盤輸入的方式進行工作參數(shù)的設置和工作狀態(tài)的查詢。“數(shù)字立體聲調頻調制器”對該模塊的主要要求是:
·控制鍵盤的數(shù)量最少6個;·易于與微控制系統(tǒng)連接;·可靠性高。
我們設計選用廣州周立功單片機發(fā)展有限公司自行設計的數(shù)碼管顯示驅動及鍵盤掃描管理芯片ZLG7289B,可直接驅動8位共陰式數(shù)碼管,還可以掃描管理多達64只按鍵。該芯片與微控制系統(tǒng)的工作電壓都可以控制在3v左右,避免了與微控制系統(tǒng)之間電平不匹配問題。
2 系統(tǒng)硬件設計
2.1 系統(tǒng)原理框圖
為了便于對系統(tǒng)工作原理的理解,這里首先給出系統(tǒng)的原理框圖,如圖1所示。
圖1 系統(tǒng)原理框圖
系統(tǒng)中MSP430F149單片機為微控制器,由其分配系統(tǒng)資源與液晶顯示模塊使用并行總線進行通信、與鍵盤控制模塊使用SPI串行總線進行通信。微控制器的程序寫入及調試采用在線編程模式進行,系統(tǒng)使用5v電源供電,系統(tǒng)時鐘為4MHz。
系統(tǒng)的工作原理可以概述為兩個方面:一方面微控制器通過擴展接口時時接收來自“數(shù)字立體聲調頻調制器”系統(tǒng)的狀態(tài)信息,這些狀態(tài)信息微控制器在微控制器內部以不同的變量形式予以體現(xiàn),微控制器再將這些變量通過并行總線提供給液晶顯示模塊修改相應的顯示參數(shù),以完成系統(tǒng)信息的顯示及更新工作;另一方面,微控制器以查詢的方式檢測鍵盤控制模塊是否有控制請求,當有控制請求時,微控制器根據鍵值的不同對液晶顯示模塊發(fā)出不同的指令,以更換顯示內容或修改系統(tǒng)參數(shù),更換顯示內容即工作狀態(tài)的查詢,當修改系統(tǒng)參數(shù)時,微控制器還負責將修改過的系統(tǒng)參數(shù)傳遞給“數(shù)字立體聲調頻調制器”系統(tǒng)。
2.2 液晶顯示原理
LCM168651是一種圖形點陣液晶,該模塊將液晶芯片與控制芯片集成在一起,與外界的聯(lián)系是以一系列接口的形式出現(xiàn)的。下面著重介紹一下該模塊的具體使用方法。
液晶屏幕被劃分為168*65個點陣,每個漢字需要占據16*16個點陣,字符或數(shù)字占據8*16個點陣,可見滿屏顯示時最多可以顯示漢字4行11列或字符、數(shù)字4行22列。
漢字或字符、數(shù)字的字庫可以從國標字庫中查閱,也可以利用專門的軟件分別生成所需要的漢字或字符,本設計使用的方法就是后者。所使用的軟件是ZIMO21.EXE,該軟件可以根據使用者的需要一次獲取一個或多個漢字或字符的字庫,基本操作如下:
漢字 圖像上下顛倒 C51取膜 前后16個字節(jié)交換
字母或者數(shù)字 圖像上下顛倒 C51取膜 前后8個字節(jié)交換。
例如:顯示漢字——廣播電視(宋體12號字,ZIMO21.EXE的默認設置),使用者可以直接在ZIMO21.EXE軟件中鍵入“廣播電視”,設置“圖像上下顛倒”,選擇“C51取膜”,則漢字“廣播電視”的字庫便生成了。如下所示:
/*-- 文字: 廣 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFC,0x04,0x04,0x04,0x04,0x05,0x06,0x04,0x04,0x04,0x04,0x04,0x04,0x00
/*-- 文字: 播 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x42,0x81,0x7F,0x00,0x01,0x01,0xFF,0x49,0x49,0x7F,0x49,0x49,0xFF,0x01,0x00,0x00,
0x08,0x08,0xFF,0x88,0x48,0x12,0x96,0x5A,0x32,0xFE,0x31,0x59,0x95,0x91,0x90,0x00
/*-- 文字: 電 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,
0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
/*-- 文字: 視 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x02,0x01,0x00,0xFF,0x00,0x87,0x42,0x21,0x18,0x06,0x01,0x3E,0x40,0x43,0x70,0x00,
0x08,0x08,0x89,0x4E,0xAA,0x18,0x00,0xFE,0x02,0x02,0xFA,0x02,0x02,0xFE,0x00,0x00,
將各個漢字的字庫“前后16個字節(jié)交換”之后按一定順序存儲到特定的數(shù)組chinese[]中,每個漢字字庫第一個字節(jié)在數(shù)組中的位置就是該漢字的序號。此時字庫就建立完畢。下面的工作就是將漢字顯示到液晶屏幕的指定位置上,步驟:1)初始化液晶模塊;2)設置漢字在屏幕的位置坐標(X、Y);3)將漢字字庫信息通過并口逐個傳遞給液晶模塊進行顯示。
上述過程1)是以向液晶模塊寫入一系列命令字的形式完成的;2)、3)步驟一般則是以自命名函數(shù)的形式完成的,比如本方案中使用disp_Chinese[X,Y,Number]來完成,其中X,Y代表屏幕坐標,Number代表漢字在數(shù)組中的位置。設計過程中可以根據需要設置漢字的字體、大小等參數(shù),以達到美觀的藝術效果。
2.3 鍵盤控制原理
本設計中在鍵盤控制模塊主要使用了ZLG7289B ,該芯片可直接驅動8 位共陰式數(shù)碼管(或64 只獨立LED),同時還可以掃描管理多達64 只按鍵。
ZLG7289B外圍電路簡單,與微控制器系統(tǒng)之間只需要三根線CS、CLK、DIO,即所謂的SPI串行總線的模式即可進行通信,擴展使用非常方便,在掃描鍵盤時,已經采取了消抖動措施,因此在程序中不必另外編寫消抖動,非常適合于本方案設計的需要。
其基本原理如下:某個按鍵按下時,ZLG7289B 的INT 引腳會出現(xiàn)低電平,向微控制器發(fā)出中斷請求。微控制器既可以采用中斷方式處理,也可以采用查詢/INT 引腳電平狀態(tài)的方法處理。在/INT 引腳出現(xiàn)低電平時及時地讀取鍵值。讀取鍵值后,/INT引腳并不會自動恢復為高電平,一定要等到按鍵抬起為止。如果沒有及時讀取按鍵值,則按鍵抬起后INT 引腳也將恢復到高電平,而在INT 引腳處于高電平期間,試圖去讀取鍵值將可能得不到有意義的數(shù)據。按鍵K0~K5分別對應鍵值0~5,微控制器即可根據鍵值的不同作出不同的處理。
3 系統(tǒng)軟件設計
前面已經提到,系統(tǒng)的工作過程實際上是微控制器不斷地根據外界信息調整液晶顯示內容并傳遞信息的過程。下面給出系統(tǒng)的軟件流程圖2,并結合軟件流程詳細說明系統(tǒng)的功能和工作過程。
圖2 系統(tǒng)的軟件流程
說明:
系統(tǒng)初始化工作中最重要的工作是完成液晶基本工作模式的設置,主要包括顯示偏壓設置、對比度設置、工作時鐘源選擇、背景光設置等等;
由于微控制器系統(tǒng)的工作時鐘有兩種,即高頻時鐘和低頻時鐘,不同的時鐘模式對應不同的設置方式,因此在使用之前必須進行時鐘的初始化;
顯示模塊主要顯示內容有“開機畫面”、“主參數(shù)畫面”、“設置菜單”、6組“設置值”、6組“預設值”、“故障指示畫面”以一些子畫面;
系統(tǒng)開機后自動顯示“開機畫面”,開機畫面的顯示內容可以根據需要調整;
“開機畫面”顯示一定時間之后(時間可設置,本設計中為30S)自動轉入“主參數(shù)畫面”進行顯示;主參數(shù)畫面顯示“數(shù)字立體聲調頻調制器”系統(tǒng)最重要的參數(shù),如載頻值、頻偏值、入射功率、反射功率、設頻開關狀態(tài)、左右聲道瞬時進度等;
在6組“設置值”和6組“預設值”菜單中,“上”、“下”鍵用于選擇,當進入某一個菜單后,“左”、“右”鍵用于選擇,“上”、“下”鍵用于參數(shù)值的改變;
在“主參數(shù)畫面”,如果有“確認”則系統(tǒng)轉入“設置菜單”,在此后的各級菜單中,如果長時間(時間可調,本設計中為10秒)沒有操作,則系統(tǒng)自動轉入上一級菜單,直至返回“主參數(shù)畫面”畫面;
“設置菜單”,在此后的各級菜單中,如果有“取消”鍵,系統(tǒng)也自動轉入上一級菜單,直至返回“主參數(shù)畫面”畫面。
系統(tǒng)軟件流程中,除具有基本功能的控制外,還有一定的保護設置,比如看門狗設置等,在一定程度上避免了程序意外進入死循環(huán)的情況。
4 小結
通過實驗,證明了本文設計的中文人機交互界面系統(tǒng)較好地滿足了“數(shù)字立體聲調頻調制器”的顯示與控制要求。
由于本模塊在設計過程中重視了擴展性的思考和升級的需要,在主要元件的選擇及程序設計上都留有擴展及升級的余地,因此,在后續(xù)進行優(yōu)化設計、擴展功能方面將能夠很好適用,并且在其它廣播電視系統(tǒng)的中文人機交互界面設計中也有良好的借鑒作用。
本文作者創(chuàng)新點:
1、 較詳細地提出了廣播電視系統(tǒng)中文人機交互界面設計方案;
2、 并將此方法運用于專業(yè)廣播電視系統(tǒng)中,效果良好。
參考文獻:
1、《設計基于MSP430單片機的微功耗中文人機界面》,第四軍醫(yī)大學生物醫(yī)學工程系,焦純 董秀珍 楊國勝 霍旭陽,2006
2、《基于ARM的信號發(fā)生器人機交互系統(tǒng)設計》, 倪禎浩 盧博友 田澤, 微計算機信息 2007年第5-2期,P134-136
3、《MSP430x1xx Family User's Guide》, 2000