《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于OMAP5912手持多媒體終端的人機接口實現
基于OMAP5912手持多媒體終端的人機接口實現
摘要: 手持多媒體終端具有高集成度、低功耗以及使用靈活等優點,故可廣泛運用于各種領域。手持多媒體終端對人機接口的設計也越來越人性化、多元化。本系統之所以選用 OMAP5912微處理器,除了它具有低功耗、高性能的特性外,其豐富的外圈接口可提供對各種人機接口的支持,也是其重要因素之一。
Abstract:
Key words :

  0引言

  手持多媒體終端以其高滲透力的移動數字媒體方式、全新的業務理念和巨大的市場潛力而倍受關注,已成為世界各國廣播和電信產業積極研究和發展的重要領域。手持多媒體終端具有高集成度、低功耗以及使用靈活等優點,故可廣泛運用于各種領域。手持多媒體終端對人機接口的設計也越來越人性化、多元化。本系統之所以選用 OMAP5912微處理器,除了它具有低功耗、高性能的特性外,其豐富的外圈接口可提供對各種人機接口的支持,也是其重要因素之一。

  1 LCD顯示設計

  1.1接口框架

  本終端設計中包含的人機接口為鍵盤、觸摸屏以及LCD顯示屏,圖1所示是其接口結構框架。在下面的章節中將對各功能模塊分別進行介紹。

  1.2 LCD控制器

  本設計中的LCD控制器的內部結構如圖2所示。圖中,VSYNC信號是垂直同步信號(也稱幀同步信號),用來指示新的一幀圖像的開始;HSYNC信號是水平同步信號(或行同步信號),用來給出新的一行掃描信號的開始:Ac-bias為使能信號。本控制器中每行的點陣數和行數均可編程,并可分別由寄存器 timing 0和timing 1來控制。本系統選用的TFT為samsung的LTV350QV_FOE,它采用320×240像素液晶輸出方式。

  1.3 LCD的驅動實現

  幀緩沖設備屬于字符設備,其目的是通過配置寄存器在一段制定的內存與LCD間建立一個自動傳輸通道。這樣,任何程序只要修改這段內存中的數據,就可改變LCD上的顯示內容。幀緩沖設備驅動也采用“文件層-驅動層”的接口方式。

  framebuffer驅動的最重要結構體就是fb_info,它記錄了幀緩沖設備,即當前顯卡的全部信息,包括設備的參數、狀態以及操作函數指針等。每一個幀緩沖設備都必須對應一個這樣的結構體。

  幀緩沖設備對應的設備文件為/dev/fb*。如果系統有多個顯卡,Linux還可支持多個幀緩沖設備,最多可達32個,分別為/dev/fb0~/dev/fb31,而/dev/fb則為當前缺省的幀緩沖設備,通常指向/dev/fb0。當然,在嵌入式系統中,通常支持一個顯示設備就夠了。幀緩沖設備為標準字符設備,主設備號為29,次設備號為0到31,分別對應/dev/fb0~/dev/fb31。因此,顯示模塊加載過程中通常包含以下幾個步驟:

  (1)分配dma地址;

  (2)初始化結構體;

  (3)初始化硬件,配置相應寄存器;

  (4)申請中斷;

  (5)注冊frame buffer設備。

  在文件層次上,Linux為其定義了讀操作、寫操作、映射操作、打開操作和關閉操作等,其定義代碼如下:

  file_operations 結構中的open()和release()操作不需底層支持,而read、write接口和普通的字符驅動沒什么不同,只是讀寫的對象變為 framebuffer。是純粹的內存操作。由于Linux工作在保護模式,每個應用程序都有自己的虛擬地址空間,而在應用程序中不能直接訪問物理緩沖區地址,為此,linux在文件操作file_operations結構中提供了mmap函數,通常可將文件的內容映射到用戶空間。而對于幀緩沖設備,則可通過映射操作將屏幕緩沖區的物理地址映射到用戶空間的一段虛擬地址中,之后,用戶就可通過讀寫這段虛擬地址來訪問屏幕緩沖區。實際上,使用幀緩沖設備的應用程序都是通過映射操作來顯示圖形。

  2觸摸屏輸入設計

  2.1觸摸屏芯片ADS7843

  ADS7843是 TI公司生產的四線電阻觸摸屏轉換接口芯片。它是一款具有同步串行接口的12位取樣模數轉換器。其中引腳X+、Y+、X-、Y-是轉換器模擬輸入端;DCLK是外部時鐘輸入;CS是片選端;DIN是串行輸入,控制數據可通過該引腳輸入;DOUT是串行數據輸出,可用于輸出轉換后的觸摸位置數據;IN3、IN4是輔助輸入;PENIRQ是PEN中斷引腳。

  本設計主要通過MCSI接口來實現與ADS7843的命令、數據的串行輸入輸出,并通過KB.C引腳復用成GPIO,然后實現PENIRQ與BUSY信號的中斷觸發。圖3所示是ADS7843連接到OMAP5912的接口電路圖。

  2.2觸摸屏驅動

  由于本設計是由DSP側的MCSI接口來發送命令和讀取觸摸屏數據,而由ARM側的操作系統將數據傳遞至界面程序進行處理,所以,本驅動程序應用MAILBOX雙核通信來實現中間的傳遞。

  ARM側的處理流程如下:

  (1)ARM側的MAILBOX中斷;

  (2)由MAILBOX中斷服務程序從數據寄存器DSP2ARM和命令寄存器DSP2ARM2B讀取X、Y,并將其封裝成觸摸屏返回結構TS_RET,最后通過寫指針寫入隊列;

  (3)由應用程序通過讀指針讀取數據并進行相應處理。

  驅動程序中有下面兩個比較重要的結構:

  3鍵盤輸入設計

  OMAP5912 可以支持鍵盤專用的8×8 I/O接口以及KB.R[7:0]和KB.C[7:0]。其中KBR_LATCH為鍵盤行輸入,KBC_REG為鍵盤列輸出,通過對這兩個寄存器進行讀寫,可以進行行、列的掃描。本設計為了節省系統資源,提高使用效率,因而采用中斷和掃描相結合的方法來實現3×3鍵盤驅動。

  當按鍵中斷產生時,為了消除抖動,先不判斷按鍵值,而是啟動定時器,并在定時器中斷中讀取鍵值。讀取鍵值的過程是首先判斷行線,然后通過列掃描碼來確定按鍵值。

  下面給出的是鍵盤中斷服務程序:

  定時器中斷服務程序如下:

  下面是掃描程序:

  4結束語

  本文介紹了OMAP5912平臺下人機接口的驅動開發方法,完成后的驅動程序可在MontavistaLinux操作系統下正常運行,因而對于在此平臺下開發其他設備的驅動程序具有一定的啟發作用。OMAP開放式多媒體應用平臺也為今后系統的拓展預留了足夠的空間,相信該系統會具有巨大的市場潛力。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩视频中文| 欧美一区在线直播| 午夜精品久久久久久久久久久久久| 欧美一区二区三区精品电影| 中文av一区特黄| 99成人免费视频| 日韩亚洲欧美成人一区| 亚洲精品久久久一区二区三区| 亚洲国产成人在线视频| 亚洲第一色中文字幕| 尤物视频一区二区| 在线观看亚洲视频啊啊啊啊| 精品91在线| 一区在线免费| 亚洲高清激情| 亚洲精美视频| 宅男噜噜噜66一区二区| 亚洲一区在线免费观看| 亚洲欧美日韩在线一区| 香蕉亚洲视频| 亚洲电影av在线| 亚洲精选久久| 中文国产一区| 午夜精品福利在线| 欧美主播一区二区三区| 久久久国产午夜精品| 久久在线91| 欧美成人中文| 欧美日韩一区二区精品| 国产精品久久综合| 国产午夜一区二区三区| 韩日视频一区| 亚洲精品国产精品乱码不99| 日韩午夜在线观看视频| 亚洲一区二区在线| 久久成人18免费网站| 亚洲欧洲精品一区二区| 99视频精品| 午夜精品久久久久久久99热浪潮 | 一本色道久久综合亚洲91| 亚洲人体1000| 日韩亚洲欧美在线观看| 亚洲一区二区3| 欧美在线观看视频| 亚洲精品综合精品自拍| 亚洲无玛一区| 久久精品中文字幕一区二区三区 | 欧美三级乱码| 国产欧美一区二区三区在线老狼 | 亚洲免费av电影| 亚洲一区二区3| 久久久xxx| 欧美精品99| 国产亚洲欧美日韩一区二区| 亚洲人线精品午夜| 欧美一二三区在线观看| 日韩视频中文| 久久久久久久久久久成人| 欧美精品福利视频| 国产毛片一区| 亚洲人成在线观看一区二区 | 一本高清dvd不卡在线观看| 欧美中在线观看| 欧美精品久久久久久久免费观看| 国产精品久久一卡二卡| 亚洲福利av| 香蕉乱码成人久久天堂爱免费| 亚洲精品日韩激情在线电影| 午夜日韩视频| 欧美日韩成人免费| 黄色成人免费网站| 亚洲影院在线| 99这里有精品| 久久亚洲欧美| 国产精品有限公司| 亚洲国产视频直播| 久久精品女人| 欧美一级片在线播放| 欧美日本三区| 在线观看不卡| 欧美一区二区三区免费看| 亚洲一级网站| 欧美理论电影在线播放| 一区二区在线观看视频在线观看| 亚洲天堂久久| 亚洲最黄网站| 欧美成人精品激情在线观看| 国产午夜亚洲精品不卡| 亚洲一卡久久| 亚洲私拍自拍| 欧美极品一区| 亚洲国产1区| 久久国产视频网| 欧美在线黄色| 国产精品久久久久影院色老大| 亚洲精品美女久久7777777| 亚洲春色另类小说| 欧美综合第一页| 亚洲一区视频| 欧美精品情趣视频| 亚洲国产精品va在线看黑人| 久久成人资源| 久久国产精品99精品国产| 国产精品久久久久aaaa樱花| 亚洲精品视频免费观看| 亚洲精品在线一区二区| 欧美大片免费久久精品三p | 国内激情久久| 欧美在线国产| 久久高清福利视频| 国产欧美一区二区三区在线老狼| 亚洲一区高清| 亚洲欧美国产77777| 国产精品二区二区三区| 一本色道久久88精品综合| 亚洲免费av网站| 欧美日本一区| 日韩网站免费观看| 国产精品99久久99久久久二8| 欧美日韩亚洲高清| 一区二区av在线| 亚洲自拍偷拍色片视频| 国产精品电影在线观看| 亚洲一区欧美一区| 欧美在线免费观看视频| 国产欧美亚洲一区| 欧美综合77777色婷婷| 麻豆久久婷婷| 亚洲老板91色精品久久| 中文在线不卡视频| 国产精品一区二区三区四区五区| 午夜精品视频在线| 久久手机免费观看| 亚洲国产欧美一区二区三区久久 | 亚洲电影免费在线观看| 亚洲人成网在线播放| 欧美精品精品一区| 夜夜嗨av一区二区三区免费区| 亚洲一区二区伦理| 国产精品免费网站| 欧美亚洲三区| 免费的成人av| 一区二区日韩| 欧美一级片一区| 激情小说亚洲一区| 亚洲卡通欧美制服中文| 国产精品99一区二区| 亚欧美中日韩视频| 欧美成人精品福利| 在线视频免费在线观看一区二区| 欧美一区二区日韩一区二区| 国产综合香蕉五月婷在线| 亚洲精品美女久久7777777| 欧美日韩中文字幕| 欧美亚洲综合在线| 欧美国产日产韩国视频| 一区二区三区免费观看| 久久成人精品无人区| 亚洲激情不卡| 欧美一区二区三区视频在线| 在线高清一区| 亚洲欧美日韩另类| 亚洲电影第三页| 午夜视频一区| 亚洲风情亚aⅴ在线发布| 亚洲欧美乱综合| 在线日韩日本国产亚洲| 亚洲欧美日本在线| 在线成人欧美| 午夜久久黄色| 亚洲激情av| 久久精品99国产精品日本| 亚洲人体大胆视频| 久久精品在线免费观看| 亚洲精品一二| 久久久久久黄| 亚洲视频久久| 免费看的黄色欧美网站| 在线综合+亚洲+欧美中文字幕| 久久亚洲私人国产精品va| 9人人澡人人爽人人精品| 久久久五月婷婷| 亚洲一二三级电影| 欧美高清视频一二三区| 午夜久久久久久| 欧美日韩久久不卡| 亚洲国产精品尤物yw在线观看| 国产精品国产自产拍高清av王其| 亚洲福利视频专区| 国产毛片久久| 亚洲午夜免费福利视频| 在线观看一区二区精品视频| 亚欧成人在线| 夜夜嗨av色综合久久久综合网| 美女精品国产| 亚洲欧美视频在线观看视频| 欧美精品免费在线观看| 亚洲国产精品悠悠久久琪琪| 国产欧美成人| 午夜精品福利一区二区三区av|