新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 觸摸屏的基本原理及應用

        觸摸屏的基本原理及應用

        作者: 時間:2017-06-04 來源:網絡 收藏

        1 的基本原理

        本文引用地址:http://www.104case.com/article/201706/348358.htm

        典型的工作部分一般由三部分組成,如圖1所示:兩層透明的阻性導體層、兩層導體之間的隔離層、電極。阻性導體層選用阻性材料,如銦錫氧化物(ITO)涂在襯底上構成,上層襯底用塑料,下層襯底用玻璃。隔離層為粘性絕緣液體材料,如聚脂薄膜。電極選用導電性能極好的材料(如銀粉墨)構成,其導電性能大約為ITO的1000倍。

        工作時,上下導體層相當于電阻網絡,如圖2所示。當某一層電極加上電壓時,會在該網絡上形成電壓梯度。如有外力使得上下兩層在某一點接觸,則在電極未加電壓的另一層可以測得接觸點處的電壓,從而知道接觸點處的坐標。比如,在頂層的電極(X+,X-)上加上電壓,則在頂層導體層上形成電壓梯度,當有外力使得上下兩層在某一點接觸,在底層就可以測得接觸點處的電壓,再根據該電壓與電極(X+)之間的距離關系,知道該處的X坐標。然后,將電壓切換到底層電極(Y+,Y-)上,并在頂層測量接觸點處的電壓,從而知道Y坐標。

        2 觸摸屏的控制實現

        現在很多PDA應用中,將觸摸屏作為一個輸入設備,對觸摸屏的控制也有專門的芯片。很顯然,觸摸屏的控制芯片要完成兩件事情:其一,是完成電極電壓的切換;其二,是采集接觸點處的電壓值(即A/D)。本文以BB (Burr-Brown)公司生產的芯片為例,介紹觸摸屏控制的實現。

        2.1 的基本特性與典型應用

        是一個內置12位模數轉換、低導通電阻模擬開關的串行接口芯片。供電電壓2.7~5 V,VREF為1 V~+VCC,轉換電壓的輸入范圍為0~ VREF,最高轉換速率為125 kHz。ADS7843的引腳配置如圖3所示。表1為引腳功能說明,圖4為典型應用。


        2.2 ADS7843的內部結構及模式選擇

        ADS7843之所以能實現對觸摸屏的控制,是因為其內部結構很容易實現電極電壓的切換,并能進行快速A/D轉換。圖5所示為其內部結構,A2~A0和SER/為控制寄存器中的控制位,用來進行開關切換和的選擇。

        ADS7843支持兩種參考電壓輸入模式:一種是參考電壓固定為VREF,另一種采取差動模式,參考電壓來自驅動電極。這兩種模式分別如圖6(a)、(b)所示。采用圖6(b)的差動模式可以消除開關導通壓降帶來的影響。表2和表3為兩種參考電壓輸入模式所對應的內部開關狀況。


        2.3 ADS7843的控制字及數據傳輸格式

        ADS7843的控制字如表4所列,其中S為數據傳輸起始標志位,該位必為1。A2~A0進行通道選擇(見表2和3)。

        MODE用來選擇A/D轉換的精度,1選擇8位,0選擇12位。

        SER/選擇參考電壓的輸入模式(見表2和3)。PD1、PD0選擇省電模式:

        00省電模式允許,在兩次A/D轉換之間掉電,且中斷允許;

        01同00,只是不允許中斷;

        10保留;

        11禁止省電模式。

        為了完成一次電極電壓切換和A/D轉換,需要先通過串口往ADS7843發送控制字,轉換完成后再通過串口讀出電壓轉換值。標準的一次轉換需要24個時鐘周期,如圖7所示。由于串口支持雙向同時進行傳送,并且在一次讀數與下一次發控制字之間可以重疊,所以轉換速率可以提高到每次16個時鐘周期,如圖8所示。如果條件允許,CPU可以產生15個CLK的話(比如FPGAs和ASICs),轉換速率還可以提高到每次15個時鐘周期,如圖9所示。


        2.4 A/D轉換時序的程序設計

        ADS7843的典型應用如圖4所示。假設μP接口與51單片機的P1.3~P1.7相連,現以一次轉換需24個時鐘周期為例,介紹A/D轉換時序的程序設計。

        ; A/D 接口控制線

        DCLK BIT P1.3

        CS BIT P1.4

        DIN BIT P1.5

        BUSY BIT P1.6

        DOUT BIT P1.7

        ; A/D 通道選擇命令字和工作寄存器

        CHX EQU 094H ;通道X+的選擇控制字

        CHY EQU 0D4H;通道Y+的選擇控制字

        CH3 EQU 0A4H

        CH4 EQU 0E4H

        AD_CH EQU 35H ;通道選擇寄存器

        AD_RESULTH EQU 36H ;存放12 bit A/D值

        AD_RESULTL EQU 37H

        ; 存放通道CHX+的A/D值

        CHXAdResultH EQU 38H

        CHXAdResultL EQU 39H

        ; 存放通道CHY+的A/D值

        CHYAdResultH EQU 3AH

        CHYAdResultL EQU 3BH

        ; 采集通道CHX+的程序段(CHXAD)

        CHXAD: MOV AD_CH,#CHX

        LCALL AD_RUN

        MOV CHXAdResultH,AD_RESULTH

        MOV CHXAdResultL,AD_RESULTL

        RET

        ; 采集通道CHY+的程序段(CHYAD)

        CHYAD: MOV AD_CH,#CHY

        LCALL AD_RUN

        MOV CHYAdResultH,AD_RESULTH

        MOV CHYAdResultL,AD_RESULTL

        RET

        ; A/D轉換子程序(AD_RUN)

        ; 輸入: AD_CH-模式和通道選擇命令字

        ; 輸出: AD_RESULTH,L ;12 bit的A/D轉換值

        ; 使用: R2 ;輔助工作寄存器

        AD_RUN:

        CLR CS ; 芯片允許

        CLR DCLK

        MOV R2,#8 ;先寫8 bit命令字

        MOV A,AD_CH

        AD_LOOP:

        MOV C, ACC.7

        MOV DIN,C ;時鐘上升沿鎖存DIN

        SETB DCLK ;開始發送命令字

        CLR DCLK ;時鐘脈沖,一共24個

        RL A

        DJNZ R2,AD_LOOP

        NOP

        NOP

        NOP

        NOP

        ADW0: JNB BUSY,AD_WAIT ;等待轉換完成

        SJMP ADW1

        AD_WAIT:

        LCALL WATCHDOG

        NOP

        SJMP ADW0

        CLR DIN

        ADW1: MOV R2,#12 ;開始讀取12bit結果

        SETB DCLK

        CLR DCLK

        AD_READ:

        SETB DCLK

        CLR DCLK ;用時鐘的下降沿讀取

        MOV A,AD_RESULTL

        MOV C,DOUT

        RLC A

        MOV AD_RESULTL,A

        MOV A,AD_RESULTH

        RLC A

        MOV AD_RESULTH,A

        DJNZ R2,AD_READ

        MOV R2,#4 ;最后是沒用的4個時鐘

        IGNORE:

        SETB DCLK

        CLR DCLK

        DJNZ R2,IGNORE

        SETB CS ;禁止芯片

        ANL AD_RESULTH,#0FH ;屏蔽高4 bit

        RET

        2.5 A/D轉換結果的數據格式

        ADS7843轉換結果為二進制格式。需要說明的是,在進行公式計算時,參考電壓在兩種輸入模式中是不一樣的。而且,如果選取8位的轉換精度,1LSB=VREF/256,一次轉換完成時間可以提前4個時鐘周期,此時串口時鐘速率也可以提高一倍。

        結束語

        在許多嵌入式系統中,CPU提供專門的模塊來支持液晶顯示和觸摸屏的輸入,使得接口非常簡單。比如,MOTOROLA的MC68VZ328(稱為 Dragon Ball)就提供專門的引腳來支持8位和4位的液晶顯示,對觸摸屏的支持通過SPI2借助ADS7843也很容易完成。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 从化市| 建阳市| 井冈山市| 宜良县| 桂东县| 屏边| 东安县| 吉隆县| 昌平区| 洪湖市| 水城县| 屏边| 怀来县| 出国| 宜兰县| 丘北县| 白银市| 玛曲县| 绿春县| 即墨市| 南平市| 河东区| 田阳县| 南昌县| 海原县| 揭西县| 平泉县| 汝州市| 石家庄市| 华池县| 瑞昌市| 麻栗坡县| 夏津县| 屏东市| 五原县| 庆安县| 许昌市| 鹿邑县| 吉隆县| 元谋县| 六盘水市|