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