首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于Altera FPGA的彩屏控制器的设计和实现(2)

基于Altera FPGA的彩屏控制器的设计和实现(2)

从图2所示的时序图可以看出,当HSYNC电平由低变高,再经过水平回归时间之后,开始进行水平扫描。在水平扫描中,像素的显示受PCLK控制,一个PCLK周期决定了一个像素点的显示。在HSYNC的高电平的驱动下,PCLK将产生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
          同理,当VSYNC电平由低变高,再经过垂直回归时间之后,进入垂直扫描。在VSYNC的高电平驱动下,HSYNC将产生272个时钟周期,像素点在屏幕上从上到下依次逐行输出,完成整个图像数据在彩色显示器上的显示。用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
          1.3 ADS7843 芯片控制器的设计
          ADS7843 芯片控制器用于将触摸的位置进行数据转换。ADS7843 的时序图如图3 所示。其中,CS 为片选信号, 低电平有效;BUSY 为忙指示信号, 同样低电平有效。

          


          由图3 可看出,ADS7843 标准的一次数据转换需要24 个时钟周期, 每次的数据转换以8 个时钟周期为一次通信, 需要与控制器进行3 次通信。第一次通信是触摸控制模块的DIN 端口通过串口向ADS7843 发送控制字, 同时对X、Y 的电压值进行采集。控制字如表1 所示, 其中,S 为数据传输起始标志位;A2~A0 为通道选择;MODE 为A/D 转换精度控制位;SER/DFR 为参考电压的输入模式[5]。
          
继承事业,薪火相传
返回列表