手持系統(tǒng)是一種當(dāng)前頗為流行的便攜設(shè)備,,其具有體積小巧,,功能強大,操作簡便等特點,。常見的手持系統(tǒng)如PDA掌上電腦就是一種高級的設(shè)備,,現(xiàn)在的手持系統(tǒng)已經(jīng)成為眾多大公司追逐的新寵,未來的前景更是被廣泛看好,。隨著科技發(fā)展,,人們生活水平日益提高,新型的掌上手持系統(tǒng)越來越受到廣大消費者的喜愛,。原來的手持設(shè)備多以鍵盤作為輸入設(shè)備,,這樣限制了設(shè)備本身的體積大小與便攜性,。如今大多手持設(shè)備已經(jīng)采用LCD 液晶屏作為顯示屏,用觸摸屏代替原來的鍵盤,, 使在功能不變的情況下操作更簡便,。基于AT91X40 系列微控制器的手持系統(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 顯示芯片。整個硬件的選擇突出了主流性,、先進性,,保證研究成果擁有一定實際價值。
1 系統(tǒng)的核心控制芯片
AT91X40 系列微控制器集成了ARM7TDMI 核,、嵌入式ICE 接口,、存儲器以及外圍部件。系列結(jié)構(gòu)有兩條主要總線:
先進系統(tǒng)總線ASB (Advanced System Bus) 和先進外圍總線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 系列微控制器有多達256 kB 的片內(nèi)SRAM 和128 kB 的片內(nèi)ROM。內(nèi)部存儲器通過32 位數(shù)據(jù)總線與ARM核連接,,具有單周期訪問的特性,。當(dāng)使用ARM 指令集時可以達到0.9 MIPS/MHz 的性能,系統(tǒng)功耗最小,,性能優(yōu)于使用分開存儲器的方案,。該系列產(chǎn)品具有外部總線接口EBI,。通過它,ARM 核可以與外部存儲器及專用外設(shè)相連接[2],。EBI 支持8 位和16 位器件,, 并可以用兩個8 位器件來仿真一個16 位器件。EBI 還實現(xiàn)了早讀協(xié)議,,使用戶可以獲得比標準讀協(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ù)傳送多達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 之間,,基準電壓介于1 V~+Vcc。該電路基準電壓確定了轉(zhuǎn)換器輸入范圍,,輸出數(shù)據(jù)中每個數(shù)字位代表的模擬電壓等于基準電壓除以4 096,。平均基準輸入電流由ADS7843 轉(zhuǎn)換率來確定。
圖3 ADS7843 外部連接電路
3 液晶顯示芯片SED1335 的結(jié)構(gòu)和特點
液晶顯示器簡稱LCD,, 由于液晶顯示器具有低損耗,、低價格、壽命長,、接口方便等優(yōu)點,,被廣泛應(yīng)用于手機、照相機,、計算機,、智能儀器儀表等產(chǎn)品上。主要有兩種液晶顯示控制器,。一種是將控制器集成在CPU 中,,制成帶液晶顯示控制器的專用CPU。這種控制器的CPU 功能強大,,外電路簡單,,一般只適用于小規(guī)模LCD 模塊。另一種是專用控制器芯片,。這種芯片具有較強的指令功能,,與CPU 接口簡單,便于控制,,驅(qū)動能力可達640 ×256 點陣,。本系統(tǒng)液晶顯示控制芯片SED1335 具有功能較強的I/O 緩沖器和豐富的指令系統(tǒng),可以并行傳送4 位數(shù)據(jù),,最大驅(qū)動能力達640×256 點陣,,而且能夠?qū)崿F(xiàn)圖形和文本格式混合顯示。它的結(jié)構(gòu)包括接口部分,、管理控制部分和LCD 顯示驅(qū)動部分,。其電路原理如圖4所示。
圖4 電路原理圖
3.1 接口部分
SED1335 接口部分由指令輸入緩沖器,、數(shù)據(jù)輸入緩沖器,、數(shù)據(jù)輸出緩沖器和標志寄存器組成。常用接口引腳功能如表1 所示,。這些緩沖器通道的選擇由引腳A0 和讀/寫操作信號聯(lián)合控制,。“忙”標志寄存器是一位只讀寄存器。僅有一位“忙”標志位BF,。當(dāng)BF=1 時,,表示SED1335 正向液晶顯示模塊傳送有效顯示數(shù)據(jù)。在傳送完一行有效顯示數(shù)據(jù)起到下一行傳送開始之前的間歇內(nèi)BF=0,。當(dāng)大屏上大量顯示數(shù)據(jù)修改時,,若BF=0,傳送不影響大屏的顯示效果,。
表1 SED1335 常用引腳功能
SED1335 接口部分帶有功能較強的I/O 緩沖器,, 可隨時準備接收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 還有外擴字符發(fā)生器,,需要外擴字符發(fā)生器時,,既可以用RAM 區(qū)開辟的CGRAM,也可以用EPROM 固化字庫來實現(xiàn),。由SED1335 僅能處理8 位的字符代碼,,所以一次最多只能顯示及建立156 種字符。在SED1335 的字符表中給出了內(nèi)部字符發(fā)生器的全部內(nèi)容,。同時也給出了外擴字符發(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)在于坐標采集的正確,,以及中斷服務(wù)程序的編寫,。如果單純考慮控制芯片對中斷的響應(yīng),而加大延遲,勢必造成程序運行不流暢甚至死機的后果,??墒遣患哟笱舆t,就要通過長時間的觸摸一點來達到系統(tǒng)對中斷的充分響應(yīng),,這樣一來會使觸摸按鍵顯得過于遲鈍,。在觸摸點坐標采集的問題上,現(xiàn)在有幾種理論思想,。第一種,多次測量觸摸點坐標取平均值,,這樣采集到的坐標點很精確,,但是耗時較多;第二種,,通過查表的方式來確定坐標點,。其原理大概是,事先編好一個坐標的數(shù)據(jù)表,,當(dāng)觸摸點在一個區(qū)域內(nèi)時,,根據(jù)查表的結(jié)果判定觸摸的位置。這種方法適用于觸摸固定位置的屏,,因為要事先編數(shù)據(jù)表,,所以靈活性稍差。這里采用了第二種方法,,但是根據(jù)實際情況適當(dāng)?shù)剡M行了簡化,。具體的程序流程圖如圖5 所示。主要包括:AT91X40 系列控制芯片的初始化設(shè)置,,ADS7843 的初始化設(shè)置,,SED1335 的初始化設(shè)置,圖形顯示,,清屏功能,。
圖5 程序流程圖
5 結(jié)束語
基于AT91X40 系列的手持式觸摸屏,具有體積小巧,,功能強大,,操作簡便等特點。手持式觸摸屏的顯示和輸入設(shè)備,,采用了現(xiàn)在流行的觸摸屏,。觸摸屏技術(shù)發(fā)展速度快,前景廣闊,,目前已經(jīng)得到廣泛應(yīng)用,,具有極大的研究價值。這個系統(tǒng)中,選用了ADS7843 和SED1335 兩種主流觸摸和LCD 顯示芯片,。整個硬件的選擇突出了主流性,、先進性,保證研究成果擁有一定實際價值,。