《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的彩色觸摸屏控制器的設(shè)計
基于FPGA的彩色觸摸屏控制器的設(shè)計
來源:微型機與應(yīng)用2012年第12期
劉少鵬,, 郭寶增, 趙麗娜,, 馬 韜
(河北大學(xué) 電子信息工程學(xué)院,,河北 保定 071000)
摘要: 介紹了一種基于FPGA的彩色觸摸屏控制器的設(shè)計方法,,根據(jù)彩色液晶屏TFT-LCD與芯片ADS7843的接口方式,使用FPGA設(shè)計了TFT-LCD控制器和ADS7843芯片的控制器,,并實現(xiàn)了在TFT-LCD上的觸摸功能,。該控制器顯示效果好,觸摸響應(yīng)速度快,,為后續(xù)彩色觸摸屏的IP核設(shè)計打下了基礎(chǔ),。
Abstract:
Key words :

摘  要: 介紹了一種基于FPGA彩色觸摸屏控制器的設(shè)計方法,根據(jù)彩色液晶屏TFT-LCD與芯片ADS7843的接口方式,,使用FPGA設(shè)計了TFT-LCD控制器和ADS7843芯片的控制器,,并實現(xiàn)了在TFT-LCD上的觸摸功能。該控制器顯示效果好,,觸摸響應(yīng)速度快,,為后續(xù)彩色觸摸屏的IP核設(shè)計打下了基礎(chǔ)。
關(guān)鍵詞: FPGA; ADS7843; 彩色觸摸屏

    觸摸屏技術(shù)方便了人們對計算機的操作使用,,是一種極具發(fā)展前途的交互式輸入技術(shù),,受到各國的普遍重視,并投入大量的人力,、物力對其進(jìn)行研發(fā),,使得新型觸摸屏不斷涌現(xiàn)[1]。特別是四線電阻式觸摸屏具有制造工藝簡單,、成本低廉,、使用方便等特點,已經(jīng)被廣泛應(yīng)用于不同的電子設(shè)備[2],。
    隨著嵌入式技術(shù)的高速發(fā)展,,尤其是CPLD/FPGA的出現(xiàn),其基于SoPC技術(shù)的IP核的使用給開發(fā)人員帶來了諸多方便,。但在SoPC中并沒有彩色觸摸屏的IP核,,因此需要自己編寫硬件的時序控制[3],。本文提出一種基于FPGA的彩色觸摸屏控制器的設(shè)計方案,通過單片F(xiàn)PGA芯片可以實現(xiàn)彩色觸摸屏的驅(qū)動邏輯,,從而實現(xiàn)硬件上時序控制,,在此控制器的基礎(chǔ)上可以進(jìn)一步開發(fā)彩色觸摸屏的IP核。
1 彩色觸摸屏控制器的設(shè)計
1.1 總體結(jié)構(gòu)及其工作原理

    彩色觸摸屏控制器的總體結(jié)構(gòu)如圖1所示,。

    該彩色觸摸屏的控制器主要由TFT-LCD控制器和ADS7843芯片控制器兩部分組成,。由圖1可以看出,TFT-LCD控制器的作用是將圖像數(shù)據(jù)采集后,,通過SDRAM進(jìn)行緩沖,,然后將圖像數(shù)據(jù)輸出給TFT-LCD。它的主要功能是完成圖像數(shù)據(jù)的采集和緩沖,、TFT-LCD的時序控制及最終數(shù)據(jù)在TFT-LCD上的顯示,。
1.2 TFT-LCD控制器的設(shè)計
   圖像數(shù)據(jù)經(jīng)采集和緩沖之后,通過TFT-LCD的時序控制可以將數(shù)據(jù)按如圖2所示時序圖進(jìn)行輸出,。本設(shè)計中采用的TFT-LCD的分辨率為480×272,,其RGB數(shù)據(jù)位均為8 bit,,可以顯示16 777 216種顏色,。其中,PCLK為LCD像素時鐘信號,,HSYNC為行同步信號,VSYNC為幀同步信號,,VDEN為數(shù)據(jù)使能信號,VD[23:0]為LCD像素數(shù)據(jù)輸出端口,,tvpw,、tvp、tvbp,、tvfp分別為垂直同步脈沖,、垂直掃描時間、垂直后回歸,、垂直前回歸,,thpw、thp,、thbp,、thfp分別為水平同步脈沖、水平掃描時間,、水平后回歸,、水平前回歸[4]。

    從圖2所示的時序圖可以看出,,當(dāng)HSYNC電平由低變高,,再經(jīng)過水平回歸時間之后,,開始進(jìn)行水平掃描。在水平掃描中,,像素的顯示受PCLK控制,,一個PCLK周期決定了一個像素點的顯示。在HSYNC的高電平的驅(qū)動下,,PCLK將產(chǎn)生480個時鐘周期,,使圖像的像素點在屏幕上從左向右依次逐點輸出,完成一行共480個像素點的顯示,。用Verilog HDL編寫的水平同步掃描的時序程序如下:
always@(posedge CLK or negedge RST_n) begin
      if (RST_n) begin
            x_cnt <= 11'd0;
            hd  <= 1'd0;
      end
      else if (x_cnt ==479) begin
            x_cnt <= 11'd0;
            hd <= 1'd0;
      end
      else begin
            x_cnt <= x_cnt + 11'd1;
            hd <= 1'd1;
    end
end
    同理,,當(dāng)VSYNC電平由低變高,再經(jīng)過垂直回歸時間之后,,進(jìn)入垂直掃描,。在VSYNC的高電平驅(qū)動下,HSYNC將產(chǎn)生272個時鐘周期,,像素點在屏幕上從上到下依次逐行輸出,,完成整個圖像數(shù)據(jù)在彩色顯示器上的顯示。用Verilog HDL編寫的同步掃描的時序程序如下:
always@(posedge CLK or negedge RST_n) begin
    if (iRST_n)
           y_cnt <= 10'd0;
    else if (x_cnt == 479) begin
         if (y_cnt == 271)
                  y_cnt <= 10'd0;
            else
            y_cnt <= y_cnt + 10'd1;
    end
end

 


    將控制字以串行的方式寫入到內(nèi)部寄存器的Verilog HDL代碼如下所示:
        if (dclk)
    data_in <= {data_in[6:0],1'b0};
       第二,、三次通信則是ADS7843 將觸摸后的X,、Y的電壓值轉(zhuǎn)換為16 bit數(shù)據(jù)賦值給DOUT端口,然后芯片采集其高12 bit數(shù)據(jù),,低4 bit自動補零,。本設(shè)計將采集到的串行的12 bit數(shù)據(jù)轉(zhuǎn)化為并行的12 bit數(shù)據(jù),其Verilog HDL代碼如下:
if (!dclk)    
     begin
           if(rd_cd_strob)
          begin
    if(y_cde_config)
           y_cde<={y_cde[10:0],adc_out};
    else
            x_cde<={x_cde[10:0],adc_out};
    end
end
2 實驗結(jié)果
2.1 仿真驗證

    整個控制器是在Quartus II 8.0中設(shè)計并仿真的,。仿真分為兩個部分,包括TFT-LCD控制器的時序波形和ADS7843芯片控制器的時序波形,。仿真結(jié)果分別如圖4、圖5所示,。

    由圖4可以得出,,在一幀的數(shù)據(jù)(oVD的一個時鐘周期內(nèi)的數(shù)據(jù))中,前1/3幀顯示紅色(oLCD_R對應(yīng)255),,中間1/3幀顯示綠色(oLCD_G對應(yīng)255),,后1/3幀顯示藍(lán)色(oLCD_B對應(yīng)255);則相應(yīng)的屏幕上1~90行顯示為紅色,、91~180行為綠色,180~272行為藍(lán)色,如圖6所示,。
    下面分析X坐標(biāo)值。由圖5可以看到,,當(dāng)產(chǎn)生觸摸時筆中斷信號PENIRQ變?yōu)榈碗娖?,此時片選信號CS變?yōu)榈碗娖剑涞碗娖骄S持時間為24個DCLK時鐘周期,在前8個時鐘周期DIN端口寫入控制字為10010010,,在第10個時鐘DOUT端口開始接收轉(zhuǎn)化的12 bit數(shù)據(jù),其值為011110001000,。同理可分析Y坐標(biāo)值。在DOUT端口接收X,、Y坐標(biāo)值之后,,通過串并轉(zhuǎn)換最終得到并行輸出的X、Y的坐標(biāo)值,,如圖5中的oX和oY端口所示,。

2.2 最終顯示效果
    FPGA采用Altera公司的EP2C70F896C6;彩色液晶觸摸屏采用臺灣東華公司的WXCAT43-TG3#001R,。最終的顯示效果如圖6所示,。

    使用Verilog HDL編寫觸摸界面過于復(fù)雜,通過軟件設(shè)計觸摸屏操作界面則需要編寫彩色觸摸屏的IP核,,本設(shè)計基于FPGA的彩色觸摸屏控制器能夠?qū)崿F(xiàn)顏色深度為24 bit,分辨率為480×272的TFT-LCD控制和ADS7843芯片的時序控制,,為后續(xù)IP核的編寫工作打下了基礎(chǔ)。
參考文獻(xiàn)
[1] 武德勝.基于S3C44B0的觸摸屏技術(shù)的研究與設(shè)計[J].信息技術(shù),2009(5):242-244.
[2] 梁紅飛.四線電阻式觸摸屏測試系統(tǒng)的研究[D].長沙:中南大學(xué),2009.
[3] 胡健生,羅衛(wèi)兵,錢淵.嵌入式TFT-LCD控制器的設(shè)計[J].計算機工程,2010,36(5): 237-239.
[4] 白宗元,胡寶霞.基于Nios II的SOPC中TFT-LCD控制器核的設(shè)計[J]. 自動化技術(shù)與應(yīng)用, 2008,27(2):161-
163.
[5] 溫景陽,于同,付夢印.嵌入式系統(tǒng)中的觸摸屏及其控制[J].電腦開發(fā)與應(yīng)用,,2007,20(1):39-41.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。