基于FPGA的彩屏控制器設計

將控制字以串行的方式寫(xiě)入到內部寄存器的Verilog HDL代碼如下所示:
if (dclk)
data_in = {data_in[6:0],1'b0};
第二、三次通信則是ADS7843 將觸摸后的X、Y的電壓值轉換為16 bit數據賦值給DOUT端口,然后芯片采集其高12 bit數據,低4 bit自動(dòng)補零。本設計將采集到的串行的12 bit數據轉化為并行的12 bit數據,其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 實(shí)驗結果
2.1 仿真驗證
整個(gè)控制器是在Quartus II 8.0中設計并仿真的。仿真分為兩個(gè)部分,包括TFT-LCD控制器的時(shí)序波形和ADS7843芯片控制器的時(shí)序波形。仿真結果分別如圖4、圖5所示。

由圖4可以得出,在一幀的數據(oVD的一個(gè)時(shí)鐘周期內的數據)中,前1/3幀顯示紅色(oLCD_R對應255),中間1/3幀顯示綠色(oLCD_G對應255),后1/3幀顯示藍色(oLCD_B對應255);則相應的屏幕上1~90行顯示為紅色、91~180行為綠色,180~272行為藍色,如圖6所示。

下面分析X坐標值。由圖5可以看到,當產(chǎn)生觸摸時(shí)筆中斷信號PENIRQ變?yōu)榈碗娖?,此時(shí)片選信號CS變?yōu)榈碗娖?,其低電平維持時(shí)間為24個(gè)DCLK時(shí)鐘周期,在前8個(gè)時(shí)鐘周期DIN端口寫(xiě)入控制字為10010010,在第10個(gè)時(shí)鐘DOUT端口開(kāi)始接收轉化的12 bit數據,其值為011110001000。同理可分析Y坐標值。在DOUT端口接收X、Y坐標值之后,通過(guò)串并轉換最終得到并行輸出的X、Y的坐標值,如圖5中的oX和oY端口所示。
2.2 最終顯示效果
FPGA采用Altera公司的EP2C70F896C6;彩色液晶觸摸屏采用臺灣東華公司的WXCAT43-TG3#001R。最終的顯示效果如圖6所示。
使用Verilog HDL編寫(xiě)觸摸界面過(guò)于復雜,通過(guò)軟件設計觸摸屏操作界面則需要編寫(xiě)彩色觸摸屏的IP核,本設計基于FPGA的彩色觸摸屏控制器能夠實(shí)現顏色深度為24 bit,分辨率為480×272的TFT-LCD控制和ADS7843芯片的時(shí)序控制,為后續IP核的編寫(xiě)工作打下了基礎。
評論