李建海,劉 迪,孫艷麗
(1.海軍航空工程學院 基礎實驗部,山東 煙臺 264001;2.海軍航空工程學院 控制工程系,山東 煙臺 264001;)
手持系統是一種當前頗為流行的便攜設備,其具有體積小巧,功能強大,操作簡便等特點。常見的手持系統如PDA掌上電腦就是一種高級的設備,現在的手持系統已經成為眾多大公司追逐的新寵,未來的前景更是被廣泛看好。隨著科技發展,人們生活水平日益提高,新型的掌上手持系統越來越受到廣大消費者的喜愛。原來的手持設備多以鍵盤作為輸入設備,這樣限制了設備本身的體積大小與便攜性[1]。如今大多手持設備已經采用LCD液晶屏作為顯示屏,用觸摸屏代替原來的鍵盤,使在功能不變的情況下操作更簡便。基于AT91X40系列微控制器的手持系統,突出體現了電子產品的性價比較高的優勢。目前,AT91X40系列微控制器應用廣泛,材料易于購買,與速度較高的其他芯片相比價格也相對低廉,適用于大眾化的中低端產品[2]。手持系統的顯示和輸入設備,采用了現在流行的觸摸屏。觸摸屏技術發展速度快,前景廣闊,目前已經得到廣泛應用,具有極大的研究價值。這個系統中,選用了ADS7843和SED1335兩種主流觸摸和LCD顯示芯片。整個硬件的選擇突出了主流性、先進性,保證研究成果擁有一定實際價值。
AT91X40系列微控制器集成了ARM7TDMI核、嵌入式ICE接口、存儲器以及外圍部件。系列結構有兩條主要總線:先進系統總線ASB(Advanced System Bus)和先進外圍總線APB(Advanced Peripheral Bus)。ARM7TDMI通過 ASB 接口實現與片內32位存儲器、外部總線接口EBI以及AMBA橋的互連。AMBA橋用來驅動APB;APB用來訪問片內外圍,優化系統功耗。AT91X40系列方框圖如圖1所示。
AT91X40系列微控制器有多達256 kB的片內SRAM和128 kB的片內ROM。內部存儲器通過32位數據總線與ARM核連接,具有單周期訪問的特性。當使用ARM指令集時可以達到0.9 MIPS/MHz的性能,系統功耗最小,性能優于使用分開存儲器的方案。該系列產品具有外部總線接口EBI。通過它,ARM核可以與外部存儲器及專用外設相連接[2]。EBI支持8位和16位器件,并可以用兩個8位器件來仿真一個16位器件。EBI還實現了早讀協議,使用戶可以獲得比標準讀協議更快的存儲器訪問速度。

圖1 AT91X40系列方框圖Fig.1 Block diagram of AT91X40 series
AT91X40系列產品集成有片內外圍,分為系統外圍和用戶外圍。ARM核可以通過AMBA橋以32位的總線寬度訪問,用最少的指令編程所有的片內外圍。外圍寄存器集包括控制寄存器、模式寄存器、數據寄存器、狀態寄存器以及使能/禁止/狀態寄存器。片內外圍數據控制器 PDC(Peripheral Data Controller)用來在USART和片內/外存儲器之間傳送數據而無需處理器的干預。最重要的是,PDC省去了處理器中斷處理的開銷,使得系統無需重新編程起始地址就可以連續傳送多達64 kB的數據,從而提高了微控制器的性能,降低了功耗。
典型觸摸屏的工作部分一般由3部分組成,如圖2所示:兩層透明的阻性導體層、兩層導體之間的隔離層、電極。阻性導體層選用阻性材料,如銦錫氧化物(ITO)涂在襯底上構成,上層襯底用塑料,下層襯底用玻璃。隔離層為粘性絕緣液體材料,如聚脂薄膜。電極選用導電性能極好的材料(如銀粉墨)構成,其導電性能大約為ITO的1 000倍[3]。

圖2 觸摸屏結構Fig.2 The structure of touch screen
ADS7843是4線電阻觸摸屏轉換接口芯片。它是一款具有同步串行接口的12位取樣模數轉換器。在125 kHz吞吐速率和2.7 V電壓下的功耗為750 μW,而在關閉模式下的功耗僅為0.5 μW。因此,ADS7843以其低功耗和高速率等特性,被廣泛應用在采用電池供電的小型手持設備上。ADS7843采用SSOP-16引腳封裝形式,溫度范圍是-40~+85℃。ADS7843具有兩個輔助輸入(IN3、IN4),可設為8位或12位模式。其外部連接電路如圖3所示,該電路的工作電壓Vcc在2.7~5.25 V之間,基準電壓介于1 V~+Vcc。該電路基準電壓確定了轉換器輸入范圍,輸出數據中每個數字位代表的模擬電壓等于基準電壓除以4 096。平均基準輸入電流由ADS7843轉換率來確定[4]。

圖3 ADS7843外部連接電路Fig.3 External connection circuit of ADS7843
液晶顯示器簡稱LCD,由于液晶顯示器具有低損耗、低價格、壽命長、接口方便等優點,被廣泛應用于手機、照相機、計算機、智能儀器儀表等產品上。主要有兩種液晶顯示控制器。一種是將控制器集成在CPU中,制成帶液晶顯示控制器的專用CPU。這種控制器的CPU功能強大,外電路簡單,一般只適用于小規模LCD模塊[5]。另一種是專用控制器芯片。這種芯片具有較強的指令功能,與CPU接口簡單,便于控制,驅動能力可達640×256點陣。本系統液晶顯示控制芯片SED1335具有功能較強的I/O緩沖器和豐富的指令系統,可以并行傳送4位數據,最大驅動能力達640×256點陣,而且能夠實現圖形和文本格式混合顯示。它的結構包括接口部分、管理控制部分和LCD顯示驅動部分[6]。其電路原理如圖4所示。

圖4 電路原理圖Fig.4 Schematic diagram of circuit
SED1335接口部分由指令輸入緩沖器、數據輸入緩沖器、數據輸出緩沖器和標志寄存器組成。常用接口引腳功能如表1所示。這些緩沖器通道的選擇由引腳A0和讀/寫操作信號聯合控制。“忙”標志寄存器是一位只讀寄存器。僅有一位“忙”標志位BF。當BF=1時,表示SED1335正向液晶顯示模塊傳送有效顯示數據。在傳送完一行有效顯示數據起到下一行傳送開始之前的間歇內BF=0。當大屏上大量顯示數據修改時,若BF=0,傳送不影響大屏的顯示效果。
SED1335接口部分帶有功能較強的I/O緩沖器,可隨時準備接收MPU的訪問,并按內部時序,及時把MPU發來的指令和數據傳輸就位。SED1335在接口部分設置了適配8080系列和M6800系列MPU的兩種操作時序電路,通過設置引腳電平來選擇操作時序。
SED1335的控制部分由振蕩器、功能邏輯電路、顯示RAM管理電路、字符庫管理電路以及產生驅動時序的時序發生器等組成。振蕩器的工作頻率范圍為 1~10 MHz。SED1335能在很高的工作頻率下迅速地編譯MPU發來的指令代碼。將參數置入相應寄存器內,并觸發相應的邏輯功能電路。顯示RAM管理電路用以管理64 k顯示RAM及內藏的字符發生器CGRAM或EXCGROM。

表1 SED1335常用引腳功能Tab.1 Used SED1335 pin function
1)文本顯示特性 具有文本顯示特性的顯示RAM區用于文本顯示,在該顯示RAM區中,每個字節的數據都是字符代碼。SED1335利用這些字符代碼來確定字符庫中字符的首地址,然后將相應數據傳送到液晶顯示模塊上,在液晶屏上以8×8點陣塊顯示該字符。SED1335中專門有一組寄存器來管理這兩種特性的顯示區,使其既可以單獨顯示一個特性,也可按某種邏輯關系顯示兩個特性。顯示方式的設置可以通過軟件指令來完成。
2)圖形顯示特性 具有圖形顯示特性的顯示RAM區用于圖形顯示。在該顯示RAM區中,每一個字節的數據都直接送到液晶顯示模塊上,每一位的電平決定上一個點的顯示狀態。“1”為顯示,“0”為不顯示。所以,圖形顯示RAM的一個字節對應顯示屏上的8×1點陣。SED1335中專門有一組寄存器來管理這兩種特性的顯示區,使其既可以單獨顯示一個特性,也可按某種邏輯關系顯示兩個特性。顯示方式的設置可以通過軟件指令來完成。
3)字符發生器CGROM SED1335管理內藏字符發生器CGROM,在字符發生器內固化了160種5×7點陣字符的字模。SED1335還有外擴字符發生器,需要外擴字符發生器時,既可以用RAM區開辟的CGRAM,也可以用EPROM固化字庫來實現。由SED1335僅能處理8位的字符代碼,所以一次最多只能顯示及建立156種字符。在SED1335的字符表中給出了內部字符發生器的全部內容。同時也給出了外擴字符發生器的字符代碼范圍:80H-9FH和E0H-FFH共64種。
在調試核心控制芯片AT91X40系列微控制器時,根據觸摸屏的參數要求,要設置了一些基本參數。例如:系統時鐘、中斷類型、I/O口選用方式。因為沒有大功率的外部設備需要驅動,把各個管腳統一設置為漏極模式。因為只用到了0中斷這個特殊功能,所以把其他功能關閉[2]。SED1335的設置很繁瑣,關鍵之處在于初始化的設置,把握住幾個關鍵性參數的設置即可,比如:屏幕顯示大小、顯示頻率、開關屏指令。觸摸功能的實現在于坐標采集的正確,以及中斷服務程序的編寫。如果單純考慮控制芯片對中斷的響應,而加大延遲,勢必造成程序運行不流暢甚至死機的后果。可是不加大延遲,就要通過長時間的觸摸一點來達到系統對中斷的充分響應,這樣一來會使觸摸按鍵顯得過于遲鈍。 在觸摸點坐標采集的問題上,現在有幾種理論思想。第一種,多次測量觸摸點坐標取平均值,這樣采集到的坐標點很精確,但是耗時較多;第二種,通過查表的方式來確定坐標點。其原理大概是,事先編好一個坐標的數據表,當觸摸點在一個區域內時,根據查表的結果判定觸摸的位置。這種方法適用于觸摸固定位置的屏,因為要事先編數據表,所以靈活性稍差[7]。這里采用了第二種方法,但是根據實際情況適當地進行了簡化。具體的程序流程圖如圖5所示。主要包括:AT91X40系列控制芯片的初始化設置,ADS7843的初始化設置,SED1335的初始化設置,圖形顯示,清屏功能。

圖5 程序流程圖Fig.5 Flow chart of program
基于AT91X40系列的手持式觸摸屏,具有體積小巧,功能強大,操作簡便等特點。手持式觸摸屏的顯示和輸入設備,采用了現在流行的觸摸屏。觸摸屏技術發展速度快,前景廣闊,目前已經得到廣泛應用,具有極大的研究價值。這個系統中,選用了ADS7843和SED1335兩種主流觸摸和LCD顯示芯片。整個硬件的選擇突出了主流性、先進性,保證研究成果擁有一定實際價值。
[1]吳命暉.嵌入式系統開發與應用[M].北京:人民郵電出版社,2004:70-81.
[2]馬忠梅,徐英慧,葉勇建,等.AT91系列ARM核微控制器結構與開發 [M].北京:北京航空航天大學出版社,2003:125-140.
[3]帥千鈞,楊剛.基于液晶觸摸屏的數字信號源的人機接口[J].北京廣播學院學報:自然科學版,2003,9(3):60-85.SHUAI Qian-jun,YANG Gang.Digital signal source manmachine interface based on LCD touch screen[J].Beijing Broadcasting Institute:Natural Science,2003,9(3):60-85.
[4]胡冰,吳升艷,岳春生.ADS7843觸摸屏接口[J].應用與設計,2008(4):20-25.HU Bing,WU Sheng-yan,YUE Chun-sheng.ADS7843 touch screen interface[J].Application and Design,2008(4):20-25.
[5]郭強.液晶顯示應用技術 [M].北京:電子工業出版社,2001:120-132.
[6]劉冬生.液晶顯示控制器SED1330/SED1335/SED1336/E1330的應用[J].電子技術應用,2004,8(4):50-65.LIU Dong-sheng.Application of liquid crystal display controller SED1330/SED1335/SED1336/E1330[J].Electronic Technology Applications,2004,8(4):50-65.
[7]陳世利.觸摸屏的工作原理及典型應用[J].單片機與嵌入式系統應用,2002,2(3):30-45.CHEN Shi-li.The working principle and the typical application of the touch screen[J].Microcontrollers& Embedded Systems,2002,2(3):30-45.