<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的彩屏控制器設(shè)計

          基于FPGA的彩屏控制器設(shè)計

          作者: 時間:2013-03-05 來源:網(wǎng)絡(luò) 收藏

          將控制字以串行的方式寫入到內(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自動補(bǔ)零。本設(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)榈碗娖剑藭r片選信號CS變?yōu)榈碗娖?,其低電平維持時間為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 最終顯示效果

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

          使用Verilog HDL編寫觸摸界面過于復(fù)雜,通過軟件設(shè)計觸摸屏操作界面則需要編寫彩色觸摸屏的IP核,本設(shè)計基于的彩色觸摸屏控制器能夠?qū)崿F(xiàn)顏色深度為24 bit,分辨率為480×272的TFT-LCD控制和ADS7843芯片的時序控制,為后續(xù)IP核的編寫工作打下了基礎(chǔ)。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA 彩屏 控制器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();