基于并行流水线结构的可重配FIR滤波器的FPGA实现》及本站其它信息均来自网络!
行业新闻技术文章解决方案电路图产品库厂商库供应信息求购信息外刊文摘
 技术文章 -> PCB电源单片机DSP设备与仪器EDA放大/转换存储器嵌入式接口与连接通讯与网络模拟技术其它技术文章
 解决方案 -> 汽车电子光电与显示测试测量计算机与外设仪器仪表通讯与网络视像设备消费电子工业控制其它解决方案
 产 品 库 -> 存储器嵌入式单片机电源通讯网络接口电路DSP视频音频EDA/PLD显示光电电测仪表传感与控制其它产品
 首页 -> 解决方案 -> 测试测量 -> 正文

基于并行流水线结构的可重配FIR滤波器的FPGA实现

来源:微计算机信息  作者:黄丽薇 喻强 王静


摘 要: 可编程逻辑器件CPLD体积小功能强大, Verilog HDL语言简练,设计思想、电路结构和逻辑关系清晰,本文着重介绍使用Verilog设计CPLD实现双屏显示液晶控制器的功能。


关键词: Verilog  CPLD  液晶控制器


1.引言


随着集成电路技术的发展, 在现代电子设计中,可编程逻辑器件的运用越来越多,原因在于其规模大,体积小,功能强,价格便宜。CPLD可擦写上万次,使得硬件设计像软件设计一样灵活方便。Verilog HDL语言作为硬件描述语言有其独特的优势:在门级描述的底层,描述的设计思想、电路结构和逻辑关系清晰明了,设计语言简练、易学易用,模块化分层结构在大规模设计时具有优势。如果使用Verilog把控制功能集成在一片CPLD芯片里,整个电路将会变得更简洁、实用。


2.液晶控制器原理


液晶控制器用于单片机和液晶屏的接口,一方面不断地把显存的数据刷新到液晶屏上,另一方面控制单片机对显存数据的更新。


双屏结构液晶控制器内部主要的计数器,分别是4bit时钟同步字符计数器、行计数器和帧计数器,它们在系统时钟FCLK的控制下同时计数,主要是用来产生行同步信号LP 和帧同步信号FP ,分别用来控制液晶屏换行和换页。液晶屏就是在这三个信号的控制下反复地把显存里的数据刷新到屏幕上。


本设计采用Altera 公司生产的EPM7128SCPLD芯片来实现LCD 控制器以及它的外围逻辑时序的全部功能,使用的液晶屏为640×480双屏显示结构,即上半屏和下半屏同时显示,RAM为一片SRM20512LLTM78(62512)。 


液晶屏刷新速度的计算公式为FFRP = FCLK/ ( Hn×Nx )


其中,FFRP为液晶屏显示帧扫描频率,一般要大于70 Hz ,Hn为一行显示的4bit同步字符数640/4=160,Nx为一屏帧扫描的行数480/2=240,FCLK为系统的工作时钟频率,采用晶振提供频率11.05926MHz,将其四分频得到2.764815MHz即可作为系统时钟FCLK。


系统构成如下图所示:




3.实现过程


1)  液晶刷新时序产生


此部分主要产生行同步和帧同步信号,完成行和帧同步。


由于双屏结构液晶屏以4bit为单位上下同时显示,可以在CPLD内定义两个寄存器,行含4bit字符寄存器scp_reg,值为640/4=160, 帧含行寄存器lp_reg,值为480/2=240。字符时钟同步计数器scp_count为4bit字符的计数器,在系统时钟scp_clk作用下计数加一,与行含字符寄存器内容比较,若等,表示一行结束,开始下一行,scp_count清零,行计数器lp_count加一,lp_flag置一,产生行同步信号LP。行计数器lp_count与帧含行寄存器内容比较,若等,表示一帧结束,开始下一帧,scp_count, lp_count 清零,fp_flag置一,产生帧同步信号FP。实现的程序如下:


always@(posedge scp_clk)


   begin


   scp_count=scp_count+1;


if(scp_count==scp_reg)


begin


   lp_count=lp_count+1;


lp_flag=1;


scp_count=0;


if(lp_count==lp_reg)


   begin


     fp_flag=1;


lp_count=0;


   scp_count=0;


   end


else fp_flag=0;


      end


   else lp_flag=0;


end


操作lcd时,scp_reg=160,lp_reg=240。仿真时取scp_reg=3,lp_reg=4,如下:




2)  单片机写数据至RAM


此部分为单片机通过CPLD更新RAM数据。


单片机写信号WR有效,CPLD判断数据线上内容为指令还是数据,若为指令,则将DB内容存入指令寄存器CMDREG,若为数据,判断指令寄存器CMDREG内容以指示状态。若CMDREG为8’h00或8’h02,表示DB为低或高八位地址,分别存入低高八位地址寄存器addl和addh,若为8’h04,表示DB为要写入RAM的数据,存入数据寄存器ioreg。
















 

()

CMDREG


DB内容


8’h00


低八位地址


8’h02


高八位地址


8’h04


数据

Google
 >> 最近更新
 • ECL电源开关在数字光发射机调制电路中的应用研究
 • 适合便携设备应用线性锂电池充电管理芯片
 • 基于TPS54350型DC/DC变换器的供电系统设计
 • 适用于全球交流电源锂离子电池充电器设计
 • LCD显示屏的器件选择和驱动电路设计
 • 试论多进制数字调制技术及其应用
 • 无信号源的自激式激磁电源的设计
 • 智能化数字电源系统的优化设计
 • 基于TOPSwitch-GX系列的多输出开关电源
 • 为电话设备而设的集成过电流/过电压保护解决方案
 • 1.3瓦音频功率放大器NCP2990应用指南
 • 面向手机应用的1.3瓦音频功率放大器应用指南
 • NCP1351可变关断时间PWM控制器应用指南
 • 低待机高性能PWM控制器NCP1381应用指南
 • 高效步降转换器NCP1526应用指南
 • CS6209建立Ethernet远程电源管理应用指南
 • 凌力尔特电源监视精品解析
 • 适合便携设备应用的线性锂电池充电管理芯片
 • 为你的DC/DC转换器选择最佳转换频率
 • 德州仪器高性能模拟电源控制产品系列介绍集锦
Copyright © 2005-2008 555DZ.com 联系站长:55dz@163.com