基于LPC2478與ADS7843的工業(yè)觸摸屏設計
觸摸屏具有堅固耐用、反應速度快、節(jié)省空間、易于交流等許多優(yōu)點,相比鍵盤輸入,觸摸屏技術更簡單、直觀、快捷,且具有豐富多彩的表現能力。設計觸摸屏時,最重要的問題是準確定位觸摸點的坐標位置,本文詳細介紹了利用工業(yè)級芯片LPC2478與ADS7843設計四線電阻觸摸屏的實際方案。
1 硬件設計
1.1 硬件選擇
LPC2478芯片內部集成了LCD接口,它的工作范圍為-40~+80℃,其寬溫的特點特別適合工業(yè)領域。ADS7843芯片是一款專為觸摸采樣設計的芯片,12位可編程精度。外部參考電壓范圍從1 V~Vcc均可,Vcc最高電壓為5 V,高速低功耗使得ADS7843非常適用于電阻觸摸屏的手持設備。
1.2 硬件電路
筆者設計了ADS7843的硬件接口電路(如圖1所示)。該電路中采取了利用LPC2478的GPIO管腳模擬SPI時序的方式,將DCLK,CS,DIN,BUS-Y,DOUT接到LPC2478的5個GPIO引腳上。將ADS7843的引腳接到LPC2478的中斷1上的方式。采用的四線電阻觸摸屏,分別接到ADS7843的X+,Y+,X-,Y-引腳上。
1.3 采集方式
ADS7843有2種參考電壓模式:單端模式和差分模式。在單端模式中,參考輸入電壓選取的是Vcc和GND。由于內部的開關電阻壓降影響轉換結果帶來誤差,所以轉換器內部的低阻開關對轉換精度有一定影響。差分模式參考輸入由未選中的輸入通道Y+,Y-,X+,X-提供參考電源和地。不管內部開關電阻如何變化,其轉換結果總與觸摸屏的電阻成比例,克服了內部開關電阻的影響,但當轉換頻率很高時則增加了功耗,需要考慮低功耗設計。筆者基于采樣精度的原因在程序中采用了差分方式。
ADS7843的引腳是一個PIN中斷引腳,在觸摸顯示屏時可產生一個低電平,觸發(fā)LPC2478的中斷,采用下降沿觸發(fā)的方式。一次點擊觸摸屏的過程捕獲圖2的電平變化過程。對于采用中斷方式采集電平變化不是很適合,同時無法捕獲觸摸屏上的滑動過程,所以筆者使用了循環(huán)采集方式。
循環(huán)采集方式:主要是通過LPC2478定時采集ADS7843的方式,在筆者的程序中定時器的時間間隔設置為50 ms。該方式由于加大了CPU的負荷,所以不太適合速度較慢的MCS51單片機,但比較適合LPC2478的處理器。每次采集的數據要與上次數據進行對比,以判斷是否為新的數據。
研究中主要利用LPC2478與ADS7843進行顯示和外部輸入,無其他大量計算,也不對設備進行實時控制。所以比較中斷方式與循環(huán)方式的優(yōu)缺點,主要為了對一些屏幕上滑動動作可以較好進行響應,最后采用了循環(huán)采集方式。
1.4 ADS7843采集流程
采用12位差分模式的采集方式,程序中的控制字分別為0xg0(x坐標)和0xD0(y坐標)。根據ADS7843的時序圖,筆者采集程序的工作流程:經過8個時鐘周期發(fā)送完畢控制字后,在DCLK的下降沿連續(xù)讀取12次,從而讀取觸摸屏上的AD采樣數值。由于筆者采用的循環(huán)采集方式,采集進來的數據不一定是經過人對屏的觸摸產生的數據。在筆者使用系統中,LPC2478液晶屏采用的是夏普LQ043T3DX02 LCD屏,采集到數據如果x軸數據為4 095(y軸數據采集到數據多數為O,但有的時間可能不為0)。說明采集到數據時并沒有人觸摸屏幕,該數據可以直接丟棄。
在實際中不僅僅關心ADS7843對當前觸摸點電壓值A/D轉換值,更關心觸摸點與LCD坐標的關系。可通過下列轉換公式進行轉換:
式中:x,y為LCD坐標中的坐標;xAD,yAD為ADS7843采集到AD值;Tchscr_XMax,Tchscr_XMin,Tchscr_YMax,TchScr_YMin為觸摸屏返回x,y坐標的范圍。
2 結語
本文介紹的利用芯片LPC2478與ADS7843設計四線電阻觸摸屏的實際方案實現了具體功能。實際應用表明,采用LPC2478設計的觸摸屏具有較強的可靠性以及環(huán)境適應性。