深圳市航顺芯片技术研发有限公司
直播中

万物死

8年用户 1277经验值
擅长:MEMS/传感技术
私信 关注
[问答]

如何去实现一种基于DE2的LCD图形显示设计呢

DE2是什么?
如何去实现一种基于DE2的LCD图形显示设计呢?

回帖(1)

李子邯

2021-11-9 11:33:41
  DE2是Altera公司针对大学教学及研究机构推出的FPGA多媒体开发平台。DE2开发平台选用的FPGA是CycloneII系列FPGA中的EP2C35F672C6,通过对DE2的学习,我们能够迅速理解和掌握实时多媒体工业产品设计的技巧,并进行系统设计的验证。DE2平台的设计和制造完全按照工业产品标准进行,可靠性很高。本文利用处理器FPGA与液晶显示模块的图形显示的编程技术,并以点阵为320×RGB×240的TFT LCD模块D036THEA1为例,研究了FPGA与液晶显示模块的图形显示技术。其关键是对驱动芯片D036THEA1的各引脚和时序进行控制。在电路控制部分中,使用QUARTUS II 6.0开发工具来完成软件设计、仿真。所有功能全部用硬件描述语言Verilog HDL编程实现,并下载到DE2实验开发板上CycloneII系列EP2C35F672C6目标芯片上,使用40脚扁平电缆直接把DE2和TFT LCD模块D036THEA1连接起来。运行验证满足TFT LCD模块D036THEA1的图形显示。图形数据可以从外接摄像头获取或者从FPGA芯片内产生图形数据,本设计采用FPGA作为TFT LCD的控制,性能稳定,也可以灵活显示参数以适应各种不同TFT LCD的控制。
  目前,电子产品的生命周期越来越短,许多消费类电子产品的生命周期只有一年左右的时间,因而必须缩短产品的开发周期。可编程逻辑器件与固定逻辑器件相比,可大大缩短开发周期。而随着集成电路制造工艺的进步,可编程逻辑器件的设计水平不断提高,其成本已经降低到可以在消费类电子产品中大量使用的程度。从当前技术发展的趋势来看,可编程逻辑器件将逐渐代替大部分的固定逻辑器件。因此可编程逻辑器件应用是值得我们掌握的一门技术。
  1.2 目的和意义
  软核处理器的出现以及可编程逻辑器件的片上存储器容量的增大,使的可编程逻辑器件可以覆盖数字电子领域中的所有应用。Altera公司推出的可编程芯片系统以及NiosII软核处理器进一步明确了这个概念。DE2开发平台是Altera公司针对大学及研究机构推出的一款多媒体开发平台。通过使用DE2开发板可以做FPGA的开发设计及验证。
  本课题来源是科研与教学。是用于工业电子。国防。科研领域和日常生活中不可缺少的一部分。通过对其的了解而进一步认识现代社会人们所需要具备的技能。深入学习努力钻研从而更好地运用到社会上去。
  1.3 国内外研究现状及发展趋势
  嵌入式系统的将先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结合后的产物,这一点就决定了他并然是一个技术密集、资金密集、高度分散和不断创新的知识集成系统。
  FPGA并非是近年来才有的,FPGA—词于1984年就已经出现,至今已经超过20年以上时间,不过过去十年时间内FPGA都未受到太多的重视,原因是FPGA的功耗用电、电路密度、频率效能、电路成本都不如ASIC,在这十多年时间内,FPGA多半只用在一些特殊领域,例如芯片业者针对新产品测试市场反应,即便初期产品未达量产规模,业能先以FPGA制成产品测试。或者有些芯片设计公司承接了小型的设计项目,在量产规模不足下业一样使用FPGA,或如***、军方的特殊要求,不期望使用开放、标准性的芯片与电路,业会倾向使用FPGA。
  不过如前所述的,在愈来愈多芯片无法用开设掩膜模式投产后,这些芯片一样要上市,就只好以FPGA模式来生产。所幸FPGA也受益于摩尔定律,在工艺技术不断提升下,晶体管愈来愈缩密化,原来相较ASIC逊色的电路密度过低、频率效能过低、电路成本过高等问题,在新一代FPGA上,早已拉近与ASIC间的表现差距。
  液晶显示模块(LCM)采用的是Toppoly公司的TFTLCD模D036THEA1,可以接受RGB格式或YUV格式的8位串行数据,支持NTSC时序或PAL时序,点阵为320×240,有效显示面积为72.96×54.72mm,通过3线串行接口与LCM内部的寄存器交换数据来实现显示控制和功能选择。下图7所示为TRDB_LCM彩色液晶显示开发板。
  
  TRDB_LCM可以用40脚电缆直接与DE2相连,
  TRDB_LCM的3线串行接口时序图如图8所示。SCEN为低电平时,3线串行接口有效,完成一次读/写寄存器的地址,第7位确定是读还是写,SDA为高电平则为读,SDA为低电平则为写,第8个时钟周期SDA变为高阻状态,最后8位为读或者写的数据。
  场序彩色显示的原理如图1所示,主要是将一场的时间分成3个子场,在每个子场的时间内分别把图像的R、G、B信号写入显示屏,并依次点亮红绿蓝三色光源,利用人眼的视觉暂留特性实现彩色图像的显示。在R、G、B各子场时间内显示屏显示的都是单色图像信息,而在一场时间当中R、G、B信息分别显示一次,所以我们看到的仍是一幅全彩色图像。
  module I2S_Controller( // Host Side
  iCLK,
  iRST,
  iDATA,
  iSTR,
  oACK,
  oRDY,
  oCLK,
  // Serial Side
  I2S_EN,
  I2S_DATA,
  I2S_CLK );
  // Host Side
  input iCLK;
  input iRST;
  input iSTR;
  input [15:0] iDATA;
  output oACK;
  output oRDY;
  output oCLK;
  // Serial Side
  output I2S_EN;
  inout I2S_DATA;
  output I2S_CLK;
  // Internal Register and Wire
  reg mI2S_CLK;
  reg [15:0] mI2S_CLK_DIV;
  reg mSEN;
  reg mSDATA;
  reg mSCLK;
  reg mACK;
  reg [4:0] mST;
  parameter CLK_Freq = 50000000; // 50 MHz
  parameter I2S_Freq = 20000; // 20 KHz
  // Serial Clock Generator
  always@(posedge iCLK or negedge iRST)
  begin
  if(!iRST)
  begin
  mI2S_CLK 《= 0;
  mI2S_CLK_DIV 《= 0;
  end
  else
  begin
  if( mI2S_CLK_DIV 《 (CLK_Freq/I2S_Freq) )
  mI2S_CLK_DIV 《= mI2S_CLK_DIV+1;
  else
  begin
  mI2S_CLK_DIV 《= 0;
  mI2S_CLK 《= ~mI2S_CLK;
  end
  end
  end
  // Parallel to Serial
  always@(negedge mI2S_CLK or negedge iRST)
  begin
  if(!iRST)
  begin
  mSEN 《= 1‘b1;
  mSCLK 《= 1’b0;
  mSDATA 《= 1‘bz;
  mACK 《= 1’b0;
  mST 《= 4‘h00;
  end
  else
  begin
  if(iSTR)
  begin
  if(mST《17)
  mST 《= mST+1’b1;
  if(mST==0)
  begin
  mSEN 《= 1‘b0;
  mSCLK 《= 1’b1;
  end
  else if(mST==8)
  mACK 《= I2S_DATA;
  else if(mST==16 && mSCLK)
  begin
  mSEN 《= 1‘b1;
  mSCLK 《= 1’b0;
  end
  if(mST《16)
  mSDATA 《= iDATA[15-mST];
  end
  else
  begin
  mSEN 《= 1‘b1;
  mSCLK 《= 1’b0;
  mSDATA 《= 1‘bz;
  mACK 《= 1’b0;
  mST 《= 4‘h00;
  end
  end
  end
  assign oACK = mACK;
  assign oRDY = (mST==17) ? 1’b1 : 1‘b0;
  assign I2S_EN = mSEN;
  assign I2S_CLK = mSCLK & mI2S_CLK;
  assign I2S_DATA = (mST==8) ? 1’bz :
  (mST==17) ? 1‘bz :
  mSDATA ;
  assign oCLK = mI2S_CLK;
  endmodule
举报

更多回帖

发帖
×
20
完善资料,
赚取积分