李冰玉 孟慶鉑



摘要:本設(shè)計利用S3C2440 ADC的A[5]和A[7]這兩個輸入通道作為X軸和Y軸方向電壓的輸入,通過四個外部晶體管來控制觸摸屏兩個導(dǎo)電層的通斷,當YMON、XMON、nYPON和nXPON處于“等待中斷”狀態(tài)的時候,中斷線路就會呈現(xiàn)出上拉狀態(tài);而當觸摸筆碰撞觸摸屏?xí)r,AIN[7]會變成低電平,進而引發(fā)中斷。
關(guān)鍵詞:S3C2440處理器;觸摸屏;控制器
中圖分類號:TP183 文獻標識碼:A 文章編號:1007-9416(2020)02-0146-02
1 基于S3C2440的觸摸屏控制器硬件改進設(shè)計
1.1 S3C2440 ADC
ADC是模擬信號源與CPU之間相互聯(lián)系的控制接口,能把連續(xù)變化的模擬信號轉(zhuǎn)換成為數(shù)字信號[1],來使計算機、數(shù)字系統(tǒng)能夠更加方便的運行。S3C2440的CMOS模數(shù)轉(zhuǎn)換器能夠輸入8個通道的模擬信號,在2.5MHz的A/D轉(zhuǎn)換時鐘下[2],最大的轉(zhuǎn)換速率可大于500kSPS。ADC具有采樣保持、低功耗等功能,接口方框圖如圖1所示。
1.2 S3C2440 ADC與觸摸屏的硬件連接
觸摸屏外接的電路其實主要是需要控制上和下這兩層導(dǎo)電層的通斷狀況與如何取得電壓,在取得電壓之后,還需把得到的這個模擬量轉(zhuǎn)換成為數(shù)字量,這就需要用到 S3C2440A芯片中的模數(shù)轉(zhuǎn)換器這一部分來得到實現(xiàn)[3]。也就是說,實現(xiàn)觸摸屏的功能實際上就是分成了兩個部分,一個部分是指觸摸屏外接的電路部分,另一部分是指S3C2440A芯片里面所自帶有的A/D轉(zhuǎn)換的部分。S3C2440A芯片中內(nèi)部自帶的A/D轉(zhuǎn)換器的輸入有8個通道,它的轉(zhuǎn)換功能是在芯片的內(nèi)部自動實現(xiàn)的,然后讀取結(jié)果,得到觸點的坐標。S3C2440里面所內(nèi)置的ADC與觸摸屏的接口支持電阻式的觸摸屏,它和觸摸屏的硬件連接如圖2所示[3]。
觸摸屏的工作原理是:X坐標的測量: X+端接收到由XP輸出的地電壓,而X-端同理接收到由XM輸出的地電位;按壓點電壓從YP輸入。Y坐標的測量:Y+端接收到由YP輸出的地電壓,而Y-端同理接收到由YM輸出的地電位;按壓點電壓從XP輸入。
ADC控制器有8個通道,而觸摸屏的電路部分占據(jù)了其中的兩個通道,這兩個通道是用來作為X軸方向和Y軸方向電壓的輸入[4]。通過四個外部晶體管,觸摸屏通斷控制的兩個導(dǎo)電層才能得以順利實現(xiàn),而外部晶體管是由nYPON、nXPON、YMON和XMON來控制的,見表1。
X坐標軸和Y坐標軸的兩個方向上的電壓輸入分別用的是ADC的A[5]和A[7]這兩個輸入通道,即XP與S3C2440的A[7]口相連,YP與A[5]口相連。當S3C2440的nYPON、nXPON、XMON輸出的是不一樣的電平的時候,外部晶體管的導(dǎo)通狀態(tài)如表2所示。
當YMON、XMON、nYPON和nXPON在處于“等待中斷”狀態(tài)的時候,外部晶體管控制器輸出的就是低電平,那么和 VDDA_ADC連接的晶體管就會呈現(xiàn)導(dǎo)通狀態(tài),中斷線路就會呈現(xiàn)出上拉狀態(tài);而當觸摸筆觸摸觸摸屏的時候,和AIN[7]連接的XP就會出現(xiàn)低電平,AIN[7]也會變成低電平,然后引發(fā)中斷。
從表3看出,X軸方向的坐標轉(zhuǎn)換原理:由于XP外接參考電壓、XM接地,那么在軸X的方向的導(dǎo)電層順沿著軸的方向就會形成均勻電壓的趨勢。而YP接通道AIN[5],YM斷開,那么在軸Y方向的導(dǎo)電層就會有一個等勢體形成,由于此時兩導(dǎo)電層有接觸,故在接觸點處X軸方向的電壓會通過Y軸方向的等勢體傳到AIN[5]通道,把這個電壓取出來并且進行轉(zhuǎn)換,最后X軸方向的坐標就可以得到。Y軸方向坐標轉(zhuǎn)換原理同上。
2 基于S3C2440的觸摸屏控制器軟件設(shè)計及實驗仿真
2.1 主程序
void Main()
{
char temp;
Port_Init();
Isr_Init();
ChangeClockDivider(16,12);
ChangeMPllValue(92, 1, 1);
ChangeUPllValue(56,2,2);
CalCPUBusClk();
Uart_Init( 0,115200 );
Uart_Select( 0 );
MMU_Init();
LcdInit();
DrawLogo();
TestTouchPanel();
while(1)
{
temp = Uart_GetKey();
if(temp)
{
Uart_SendByte(temp);
}
}
}
2.2 ADS開發(fā)環(huán)境下的實驗仿真
ADS環(huán)境下的程序運行窗口,如圖3所示。
DNW上顯示出的被觸摸處的X軸和Y軸的坐標數(shù)據(jù),如圖4所示。
參考文獻
[1] 李冰玉,王奉良.ARM嵌入式技術(shù)實驗指導(dǎo)書(第四版)[Z].天津理工大學(xué)中環(huán)信息學(xué)院,2018.
[2] 俞建新,王健,宋健建.嵌入式系統(tǒng)基礎(chǔ)教程(第二版)[M].北京:機械工業(yè)出版社,2014.
[3] 陳渝,韓超,李明.嵌入式系統(tǒng)原理及應(yīng)用開發(fā)[M].北京:機械工業(yè)出版社,2014.
[4] 趙茂泰.智能儀器原理及應(yīng)用[M].北京:電子工業(yè)出版社,2012.
The Improving Design of? Touch Screen Controller Based on S3C2440
LI Bing-yu,MENG Qing-bo
(Zhonghuan Information College Tianjin University of? Technology, Tianjin? 300380)
Abstract:The design uses the A[5] and A[7] input channels of the S3C2440 ADC as the input voltage in the X and y directions. Four external transistors are used to control the on-off of the two conductive layers of the touch screen. when YMON, XMON, nYPON and nXPON are in a "wait interrupt" state, the interrupt line appears to be pulled up. when the stylus touches the touch screen, AIN[7] becomes low, triggering the interrupt.
Key words:S3C2440 processor;touch screen;controller