基于μClinux的觸摸屏軟硬件關鍵技術分析
摘要:本文介紹了當前比較流行的開放源代碼的嵌入式操作系統(tǒng)μClinux下驅動程序的一般結構,以及觸摸屏控制器和Motorola DragonBallMCVZ328 CPU的連接。在此基礎上,詳細講述了觸摸屏驅動程序設計的一些關鍵技術,如阻塞型I/O操作、任務隊列以及系統(tǒng)定時器的應用等,解決了采樣數(shù)量控制問題,具有較好的移植性。
關鍵詞:嵌入式操作系統(tǒng);μClinux;觸摸屏;驅動程序
引言
背景介紹
隨著信息技術的發(fā)展,嵌入式系統(tǒng)越來越廣泛地應用到航空航天、通訊設備、工業(yè)控制等領域。由于尺寸的限制,觸摸屏代替鍵盤和鼠標成為嵌入式系統(tǒng)首選的輸入工具。同時嵌入式系統(tǒng)也逐漸摒棄了傳統(tǒng)的循環(huán)控制模式,而是引入操作系統(tǒng)完成進程間切換和任務調度。μClinux就是一種優(yōu)秀的開放源代碼的嵌入式操作系統(tǒng)。它經(jīng)過各方面的小型化改造,形成了一個高度優(yōu)化的、代碼緊湊的嵌入式Linux,雖然它的體積很小,μClinux仍然保留了Linux的大多數(shù)優(yōu)點:穩(wěn)定良好的移植性、優(yōu)秀的網(wǎng)絡功能、完備的對各種文件系統(tǒng)的支持以及標準豐富的API。比較起其它幾種應用較多的嵌入式操作系統(tǒng),像vxworks、winCE等,它較為低廉的價格以及方便的用戶程序開發(fā),無疑是其巨大的優(yōu)勢。用戶可以方便地從互聯(lián)網(wǎng)上找到最新內核版本、編譯器以及其它必需的軟件環(huán)境,這也促使眾多愛好者加盟。
研究現(xiàn)狀
由于觸摸屏使用得越來越廣泛,所以相應的研究與工程實踐比較多。在現(xiàn)有的工作中,已有很多工程師對觸摸屏控制器ADS7846與StrongARM平臺的硬件連接以及在WinCE操作系統(tǒng)中軟件驅動程序開發(fā)進行了研究,并對改進觸摸屏控制器硬件精度上做了一定探索。而本文的主要貢獻在于詳細描述了在μClinux這一嵌入式操作系統(tǒng)中觸摸屏驅動程序硬件及軟件設計。實踐證明,這一設計具有比較高的精度、穩(wěn)定性和開放性,而且跨平臺性也較好,因此必將給嵌入式設備提供更多選擇。
硬件設計
本設計中硬件平臺微處理器選用Motorola公司的MC68VZ328,它是一款M68k體系的32位低功耗微處理器,采用SoC技術設計,具有典型的嵌入式微處理器的特征;觸摸屏選用TI(原為Burr-Brown公司的產(chǎn)品,由于該公司已被TI公司收購,所以下文均用TI公司)公司的ADS7843。在本設計中,CPU與觸摸屏以主從方式工作,觸摸屏工作于從設備(slave)狀態(tài)。本設計中硬件電路不同于傳統(tǒng)設計,而是充分利用了ADS7843中的BUSY信號線,如圖1所示。
評論