基于AT91X40系列的手持式觸摸屏
摘要: 基于當(dāng)前手持式觸摸屏穩(wěn)定性不高,性能不可靠的狀況,采用AT91X40 系列微控制器作為控制芯片,由于該芯片功能強(qiáng)大,集成度高,處理數(shù)據(jù)能力強(qiáng),穩(wěn)定性高,所以基于AT91X40 系列的手持式觸摸屏具有體積小巧,功能強(qiáng)大,操作簡便等特點。手持式觸摸屏的顯示和輸入設(shè)備選用了ADS7843 和SED1335 兩種主流觸摸和LCD 顯示芯片。通過現(xiàn)場的實驗驗證,基于AT91X40 系列的手持式觸摸屏穩(wěn)定性高,工作可靠,具有實際應(yīng)用價值。
手持系統(tǒng)是一種當(dāng)前頗為流行的便攜設(shè)備,其具有體積小巧,功能強(qiáng)大,操作簡便等特點。常見的手持系統(tǒng)如PDA掌上電腦就是一種高級的設(shè)備,現(xiàn)在的手持系統(tǒng)已經(jīng)成為眾多大公司追逐的新寵,未來的前景更是被廣泛看好。隨著科技發(fā)展,人們生活水平日益提高,新型的掌上手持系統(tǒng)越來越受到廣大消費者的喜愛。原來的手持設(shè)備多以鍵盤作為輸入設(shè)備,這樣限制了設(shè)備本身的體積大小與便攜性。如今大多手持設(shè)備已經(jīng)采用LCD 液晶屏作為顯示屏,用觸摸屏代替原來的鍵盤, 使在功能不變的情況下操作更簡便?;贏T91X40 系列微控制器的手持系統(tǒng),突出體現(xiàn)了電子產(chǎn)品的性價比較高的優(yōu)勢。目前,AT91X40 系列微控制器應(yīng)用廣泛,材料易于購買, 與速度較高的其他芯片相比價格也相對低廉,適用于大眾化的中低端產(chǎn)品。手持系統(tǒng)的顯示和輸入設(shè)備,采用了現(xiàn)在流行的觸摸屏。觸摸屏技術(shù)發(fā)展速度快,前景廣闊,目前已經(jīng)得到廣泛應(yīng)用,具有極大的研究價值。這個系統(tǒng)中,選用了ADS7843 和SED1335 兩種主流觸摸和LCD 顯示芯片。整個硬件的選擇突出了主流性、先進(jìn)性,保證研究成果擁有一定實際價值。
1 系統(tǒng)的核心控制芯片
AT91X40 系列微控制器集成了ARM7TDMI 核、嵌入式ICE 接口、存儲器以及外圍部件。系列結(jié)構(gòu)有兩條主要總線:
先進(jìn)系統(tǒng)總線ASB (Advanced System Bus) 和先進(jìn)外圍總線APB(Advanced Peripheral Bus)。ARM7TDMI 通過ASB 接口實現(xiàn)與片內(nèi)32 位存儲器、外部總線接口EBI 以及AMBA 橋的互連。AMBA 橋用來驅(qū)動APB;APB 用來訪問片內(nèi)外圍,優(yōu)化系統(tǒng)功耗。AT91X40 系列方框圖如圖1 所示。
圖1 AT91X40 系列方框圖
1.1 存儲器
AT91X40 系列微控制器有多達(dá)256 kB 的片內(nèi)SRAM 和128 kB 的片內(nèi)ROM。內(nèi)部存儲器通過32 位數(shù)據(jù)總線與ARM核連接,具有單周期訪問的特性。當(dāng)使用ARM 指令集時可以達(dá)到0.9 MIPS/MHz 的性能,系統(tǒng)功耗最小,性能優(yōu)于使用分開存儲器的方案。該系列產(chǎn)品具有外部總線接口EBI。通過它,ARM 核可以與外部存儲器及專用外設(shè)相連接[2]。EBI 支持8 位和16 位器件, 并可以用兩個8 位器件來仿真一個16 位器件。EBI 還實現(xiàn)了早讀協(xié)議,使用戶可以獲得比標(biāo)準(zhǔn)讀協(xié)議更快的存儲器訪問速度。
1.2 片內(nèi)外圍
AT91X40 系列產(chǎn)品集成有片內(nèi)外圍,分為系統(tǒng)外圍和用戶外圍。ARM 核可以通過AMBA 橋以32 位的總線寬度訪問,用最少的指令編程所有的片內(nèi)外圍。外圍寄存器集包括控制寄存器、模式寄存器、數(shù)據(jù)寄存器、狀態(tài)寄存器以及使能/禁止/狀態(tài)寄存器。片內(nèi)外圍數(shù)據(jù)控制器PDC (PeripheralData Controller) 用來在USART 和片內(nèi)/外存儲器之間傳送數(shù)據(jù)而無需處理器的干預(yù)。最重要的是,PDC 省去了處理器中斷處理的開銷,使得系統(tǒng)無需重新編程起始地址就可以連續(xù)傳送多達(dá)64 kB 的數(shù)據(jù),從而提高了微控制器的性能,降低了功耗。
2 觸摸屏的結(jié)構(gòu)及功能特性
2.1 觸摸屏的結(jié)構(gòu)
典型觸摸屏的工作部分一般由3 部分組成, 如圖2 所示:兩層透明的阻性導(dǎo)體層、兩層導(dǎo)體之間的隔離層、電極。
阻性導(dǎo)體層選用阻性材料,如銦錫氧化物(ITO)涂在襯底上構(gòu)成,上層襯底用塑料,下層襯底用玻璃。隔離層為粘性絕緣液體材料,如聚脂薄膜。電極選用導(dǎo)電性能極好的材料(如銀粉墨)構(gòu)成,其導(dǎo)電性能大約為ITO 的1 000 倍。
圖2 觸摸屏結(jié)構(gòu) 2.2 觸摸控制芯片ADS7843 的功能特性 ADS7843 是4 線電阻觸摸屏轉(zhuǎn)換接口芯片。它是一款具有同步串行接口的12 位取樣模數(shù)轉(zhuǎn)換器。在125 kHz 吞吐速率和2.7 V 電壓下的功耗為750 μW,而在關(guān)閉模式下的功耗僅為0.5 μW。因此,ADS7843 以其低功耗和高速率等特性,被廣泛應(yīng)用在采用電池供電的小型手持設(shè)備上。ADS7843 采用SSOP-16 引腳封裝形式,溫度范圍是-40~+85 ℃。ADS7843具有兩個輔助輸入(IN3、IN4),可設(shè)為8 位或12 位模式。其外部連接電路如圖3 所示, 該電路的工作電壓Vcc 在2.7~5.25 V 之間,基準(zhǔn)電壓介于1 V~+Vcc。該電路基準(zhǔn)電壓確定了轉(zhuǎn)換器輸入范圍,輸出數(shù)據(jù)中每個數(shù)字位代表的模擬電壓等于基準(zhǔn)電壓除以4 096。平均基準(zhǔn)輸入電流由ADS7843 轉(zhuǎn)換率來確定。 圖3 ADS7843 外部連接電路 3 液晶顯示芯片SED1335 的結(jié)構(gòu)和特點 液晶顯示器簡稱LCD, 由于液晶顯示器具有低損耗、低價格、壽命長、接口方便等優(yōu)點,被廣泛應(yīng)用于手機(jī)、照相機(jī)、計算機(jī)、智能儀器儀表等產(chǎn)品上。主要有兩種液晶顯示控制器。一種是將控制器集成在CPU 中,制成帶液晶顯示控制器的專用CPU。這種控制器的CPU 功能強(qiáng)大,外電路簡單,一般只適用于小規(guī)模LCD 模塊。另一種是專用控制器芯片。這種芯片具有較強(qiáng)的指令功能,與CPU 接口簡單,便于控制,驅(qū)動能力可達(dá)640 ×256 點陣。本系統(tǒng)液晶顯示控制芯片SED1335 具有功能較強(qiáng)的I/O 緩沖器和豐富的指令系統(tǒng),可以并行傳送4 位數(shù)據(jù),最大驅(qū)動能力達(dá)640×256 點陣,而且能夠?qū)崿F(xiàn)圖形和文本格式混合顯示。它的結(jié)構(gòu)包括接口部分、管理控制部分和LCD 顯示驅(qū)動部分。其電路原理如圖4所示。 圖4 電路原理圖 3.1 接口部分 SED1335 接口部分由指令輸入緩沖器、數(shù)據(jù)輸入緩沖器、數(shù)據(jù)輸出緩沖器和標(biāo)志寄存器組成。常用接口引腳功能如表1 所示。這些緩沖器通道的選擇由引腳A0 和讀/寫操作信號聯(lián)合控制。“忙”標(biāo)志寄存器是一位只讀寄存器。僅有一位“忙”標(biāo)志位BF。當(dāng)BF=1 時,表示SED1335 正向液晶顯示模塊傳送有效顯示數(shù)據(jù)。在傳送完一行有效顯示數(shù)據(jù)起到下一行傳送開始之前的間歇內(nèi)BF=0。當(dāng)大屏上大量顯示數(shù)據(jù)修改時,若BF=0,傳送不影響大屏的顯示效果。 表1 SED1335 常用引腳功能
SED1335 接口部分帶有功能較強(qiáng)的I/O 緩沖器, 可隨時準(zhǔn)備接收MPU 的訪問,并按內(nèi)部時序,及時把MPU 發(fā)來的指令和數(shù)據(jù)傳輸就位。SED1335 在接口部分設(shè)置了適配8080系列和M6800 系列MPU 的兩種操作時序電路, 通過設(shè)置引腳電平來選擇操作時序。
3.2 控制部分
SED1335 的控制部分由振蕩器、功能邏輯電路、顯示RAM 管理電路、字符庫管理電路以及產(chǎn)生驅(qū)動時序的時序發(fā)生器等組成。振蕩器的工作頻率范圍為1 ~10 MHz。
SED1335 能在很高的工作頻率下迅速地編譯MPU 發(fā)來的指令代碼。將參數(shù)置入相應(yīng)寄存器內(nèi),并觸發(fā)相應(yīng)的邏輯功能電路。顯示RAM 管理電路用以管理64 k 顯示RAM 及內(nèi)藏的字符發(fā)生器CGRAM 或EXCGROM。
1)文本顯示特性具有文本顯示特性的顯示RAM 區(qū)用于文本顯示,在該顯示RAM 區(qū)中,每個字節(jié)的數(shù)據(jù)都是字符代碼。SED1335 利用這些字符代碼來確定字符庫中字符的首地址,然后將相應(yīng)數(shù)據(jù)傳送到液晶顯示模塊上,在液晶屏上以8×8 點陣塊顯示該字符。SED1335 中專門有一組寄存器來管理這兩種特性的顯示區(qū), 使其既可以單獨顯示一個特性,也可按某種邏輯關(guān)系顯示兩個特性。顯示方式的設(shè)置可以通過軟件指令來完成。
2)圖形顯示特性具有圖形顯示特性的顯示RAM 區(qū)用于圖形顯示。在該顯示RAM 區(qū)中,每一個字節(jié)的數(shù)據(jù)都直接送到液晶顯示模塊上,每一位的電平?jīng)Q定上一個點的顯示狀態(tài)。“1”為顯示,“0”為不顯示。所以,圖形顯示RAM 的一個字節(jié)對應(yīng)顯示屏上的8×1 點陣。SED1335 中專門有一組寄存器來管理這兩種特性的顯示區(qū), 使其既可以單獨顯示一個特性,也可按某種邏輯關(guān)系顯示兩個特性。顯示方式的設(shè)置可以通過軟件指令來完成。
3)字符發(fā)生器CGROM SED1335 管理內(nèi)藏字符發(fā)生器CGROM, 在字符發(fā)生器內(nèi)固化了160 種5×7 點陣字符的字模。SED1335 還有外擴(kuò)字符發(fā)生器,需要外擴(kuò)字符發(fā)生器時,既可以用RAM 區(qū)開辟的CGRAM,也可以用EPROM 固化字庫來實現(xiàn)。由SED1335 僅能處理8 位的字符代碼,所以一次最多只能顯示及建立156 種字符。在SED1335 的字符表中給出了內(nèi)部字符發(fā)生器的全部內(nèi)容。同時也給出了外擴(kuò)字符發(fā)生器的字符代碼范圍:80H-9FH 和E0H-FFH 共64 種。
4 系統(tǒng)功能的實現(xiàn)要點及程序流程
在調(diào)試核心控制芯片AT91X40 系列微控制器時, 根據(jù)觸摸屏的參數(shù)要求,要設(shè)置了一些基本參數(shù)。例如:系統(tǒng)時鐘、中斷類型、I/O 口選用方式。因為沒有大功率的外部設(shè)備需要驅(qū)動,把各個管腳統(tǒng)一設(shè)置為漏極模式。因為只用到了0中斷這個特殊功能,所以把其他功能關(guān)閉。SED1335 的設(shè)置很繁瑣,關(guān)鍵之處在于初始化的設(shè)置,把握住幾個關(guān)鍵性參數(shù)的設(shè)置即可,比如:屏幕顯示大小、顯示頻率、開關(guān)屏指令。
觸摸功能的實現(xiàn)在于坐標(biāo)采集的正確,以及中斷服務(wù)程序的編寫。如果單純考慮控制芯片對中斷的響應(yīng),而加大延遲,勢必造成程序運行不流暢甚至死機(jī)的后果??墒遣患哟笱舆t,就要通過長時間的觸摸一點來達(dá)到系統(tǒng)對中斷的充分響應(yīng),這樣一來會使觸摸按鍵顯得過于遲鈍。在觸摸點坐標(biāo)采集的問題上,現(xiàn)在有幾種理論思想。第一種,多次測量觸摸點坐標(biāo)取平均值,這樣采集到的坐標(biāo)點很精確,但是耗時較多;第二種,通過查表的方式來確定坐標(biāo)點。其原理大概是,事先編好一個坐標(biāo)的數(shù)據(jù)表,當(dāng)觸摸點在一個區(qū)域內(nèi)時,根據(jù)查表的結(jié)果判定觸摸的位置。這種方法適用于觸摸固定位置的屏,因為要事先編數(shù)據(jù)表,所以靈活性稍差。這里采用了第二種方法,但是根據(jù)實際情況適當(dāng)?shù)剡M(jìn)行了簡化。具體的程序流程圖如圖5 所示。主要包括:AT91X40 系列控制芯片的初始化設(shè)置,ADS7843 的初始化設(shè)置,SED1335 的初始化設(shè)置,圖形顯示,清屏功能。
圖5 程序流程圖
5 結(jié)束語
基于AT91X40 系列的手持式觸摸屏,具有體積小巧,功能強(qiáng)大,操作簡便等特點。手持式觸摸屏的顯示和輸入設(shè)備,采用了現(xiàn)在流行的觸摸屏。觸摸屏技術(shù)發(fā)展速度快,前景廣闊,目前已經(jīng)得到廣泛應(yīng)用,具有極大的研究價值。這個系統(tǒng)中,選用了ADS7843 和SED1335 兩種主流觸摸和LCD 顯示芯片。整個硬件的選擇突出了主流性、先進(jìn)性,保證研究成果擁有一定實際價值。