李冰玉 孟慶鉑



摘要:本設(shè)計(jì)利用S3C2440 ADC的A[5]和A[7]這兩個(gè)輸入通道作為X軸和Y軸方向電壓的輸入,通過四個(gè)外部晶體管來控制觸摸屏兩個(gè)導(dǎo)電層的通斷,當(dāng)YMON、XMON、nYPON和nXPON處于“等待中斷”狀態(tài)的時(shí)候,中斷線路就會呈現(xiàn)出上拉狀態(tài);而當(dāng)觸摸筆碰撞觸摸屏?xí)r,AIN[7]會變成低電平,進(jìn)而引發(fā)中斷。
關(guān)鍵詞:S3C2440處理器;觸摸屏;控制器
中圖分類號:TP183 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2020)02-0146-02
1 基于S3C2440的觸摸屏控制器硬件改進(jìn)設(shè)計(jì)
1.1 S3C2440 ADC
ADC是模擬信號源與CPU之間相互聯(lián)系的控制接口,能把連續(xù)變化的模擬信號轉(zhuǎn)換成為數(shù)字信號[1],來使計(jì)算機(jī)、數(shù)字系統(tǒng)能夠更加方便的運(yùn)行。S3C2440的CMOS模數(shù)轉(zhuǎn)換器能夠輸入8個(gè)通道的模擬信號,在2.5MHz的A/D轉(zhuǎn)換時(shí)鐘下[2],最大的轉(zhuǎn)換速率可大于500kSPS。ADC具有采樣保持、低功耗等功能,接口方框圖如圖1所示。
1.2 S3C2440 ADC與觸摸屏的硬件連接
觸摸屏外接的電路其實(shí)主要是需要控制上和下這兩層導(dǎo)電層的通斷狀況與如何取得電壓,在取得電壓之后,還需把得到的這個(gè)模擬量轉(zhuǎn)換成為數(shù)字量,這就需要用到 S3C2440A芯片中的模數(shù)轉(zhuǎn)換器這一部分來得到實(shí)現(xiàn)[3]。也就是說,實(shí)現(xiàn)觸摸屏的功能實(shí)際上就是分成了兩個(gè)部分,一個(gè)部分是指觸摸屏外接的電路部分,另一部分是指S3C2440A芯片里面所自帶有的A/D轉(zhuǎn)換的部分。S3C2440A芯片中內(nèi)部自帶的A/D轉(zhuǎn)換器的輸入有8個(gè)通道,它的轉(zhuǎn)換功能是在芯片的內(nèi)部自動實(shí)現(xiàn)的,然后讀取結(jié)果,得到觸點(diǎn)的坐標(biāo)。S3C2440里面所內(nèi)置的ADC與觸摸屏的接口支持電阻式的觸摸屏,它和觸摸屏的硬件連接如圖2所示[3]。
觸摸屏的工作原理是:X坐標(biāo)的測量: X+端接收到由XP輸出的地電壓,而X-端同理接收到由XM輸出的地電位;按壓點(diǎn)電壓從YP輸入。Y坐標(biāo)的測量:Y+端接收到由YP輸出的地電壓,而Y-端同理接收到由YM輸出的地電位;按壓點(diǎn)電壓從XP輸入。
ADC控制器有8個(gè)通道,而觸摸屏的電路部分占據(jù)了其中的兩個(gè)通道,這兩個(gè)通道是用來作為X軸方向和Y軸方向電壓的輸入[4]。通過四個(gè)外部晶體管,觸摸屏通斷控制的兩個(gè)導(dǎo)電層才能得以順利實(shí)現(xiàn),而外部晶體管是由nYPON、nXPON、YMON和XMON來控制的,見表1。
X坐標(biāo)軸和Y坐標(biāo)軸的兩個(gè)方向上的電壓輸入分別用的是ADC的A[5]和A[7]這兩個(gè)輸入通道,即XP與S3C2440的A[7]口相連,YP與A[5]口相連。當(dāng)S3C2440的nYPON、nXPON、XMON輸出的是不一樣的電平的時(shí)候,外部晶體管的導(dǎo)通狀態(tài)如表2所示。
當(dāng)YMON、XMON、nYPON和nXPON在處于“等待中斷”狀態(tài)的時(shí)候,外部晶體管控制器輸出的就是低電平,那么和 VDDA_ADC連接的晶體管就會呈現(xiàn)導(dǎo)通狀態(tài),中斷線路就會呈現(xiàn)出上拉狀態(tài);而當(dāng)觸摸筆觸摸觸摸屏的時(shí)候,和AIN[7]連接的XP就會出現(xiàn)低電平,AIN[7]也會變成低電平,然后引發(fā)中斷。
從表3看出,X軸方向的坐標(biāo)轉(zhuǎn)換原理:由于XP外接參考電壓、XM接地,那么在軸X的方向的導(dǎo)電層順沿著軸的方向就會形成均勻電壓的趨勢。而YP接通道AIN[5],YM斷開,那么在軸Y方向的導(dǎo)電層就會有一個(gè)等勢體形成,由于此時(shí)兩導(dǎo)電層有接觸,故在接觸點(diǎn)處X軸方向的電壓會通過Y軸方向的等勢體傳到AIN[5]通道,把這個(gè)電壓取出來并且進(jìn)行轉(zhuǎn)換,最后X軸方向的坐標(biāo)就可以得到。Y軸方向坐標(biāo)轉(zhuǎn)換原理同上。
2 基于S3C2440的觸摸屏控制器軟件設(shè)計(jì)及實(shí)驗(yàn)仿真
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)境下的實(shí)驗(yàn)仿真
ADS環(huán)境下的程序運(yùn)行窗口,如圖3所示。
DNW上顯示出的被觸摸處的X軸和Y軸的坐標(biāo)數(shù)據(jù),如圖4所示。
參考文獻(xiàn)
[1] 李冰玉,王奉良.ARM嵌入式技術(shù)實(shí)驗(yàn)指導(dǎo)書(第四版)[Z].天津理工大學(xué)中環(huán)信息學(xué)院,2018.
[2] 俞建新,王健,宋健建.嵌入式系統(tǒng)基礎(chǔ)教程(第二版)[M].北京:機(jī)械工業(yè)出版社,2014.
[3] 陳渝,韓超,李明.嵌入式系統(tǒng)原理及應(yīng)用開發(fā)[M].北京:機(jī)械工業(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