基于FPGA的M4K块配置ROM字符数据存储VGA显示

2016-11-10 05:18韩团军
关键词:字符时序模块

韩团军, 赵 峰

(陕西理工大学 物理与电信工程学院, 陕西 汉中 723000)



基于FPGA的M4K块配置ROM字符数据存储VGA显示

韩团军,赵峰

(陕西理工大学 物理与电信工程学院, 陕西 汉中 723000)

为了克服通用VGA控制系统核心体系结构不易修改的问题,设计并实现了一种基于FPGA显示控制系统。采用Altera的CycloneⅡEP2C5Q208C8为核心控制芯片,用VerilogHDL语言实现了各个模块,并利用FPGA内部的RAM实现了VGA对汉字的显示。设计结果表明,图像和彩带信号以及文字能由FPGA处理器控制、显示。

FPGA;集成芯片;控制系统;VGA显示

目前大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成显示图像信息,对于模拟显示设备,VGA液晶的驱动采用实时扫描,需要相对频率较高的场频和行频时序。普通的单片机时钟较低,响应中断的速度有限,无法满足系统的设计需要。驱动VGA显示器对控制器响应中断的速度有很高的要求,通用处理器管脚资源少,处理速度比较慢,而且通用的处理器其核心体系结构不易修改,且体积大,不利于电子设备小型化设计目的[1-3]。本系统对VGA的数据搬运和驱动是以FPGA作为控制核心,可以使系统在克服通用处理器的基础上快速实现。硬件实现采用Altera公司的低成本系列CycloneⅡ器件即可满足系统要求[4-5]。

本文实现了基于FPGA技术的VGA显示控制系统,通过Altera公司的DE2开发系统作为硬件平台,以可编程器件EP2C5Q208C8为核心控制器,设计了VGA接口的驱动电路,采用D/A转换器ADV7123把存储于SRAM存储器中的视频图像数据按照VGA设计的时序实时要求进行显示,最终系统达到了对文字和图像以及彩带信号的实时显示,达到了设计要求。

1 总体系统设计

基于FPGA显示控制系统的整体框图如图1所示,系统的硬件电路是在CycloneⅡ开发板下完成,由FPGA作为处理器来控制VGA的图像和文字以及彩带信号的显示,控制输出由一块核心芯片CycloneⅡEP2C5Q208C8和外部电路来完成;通过电脑写码把图像信号与时序信号同时下载到核心片上,图像信号根据时序存储在核心片上。输出端口通过AD电阻网络实现数字信号到模拟信号的转化,最后由接口电路输出,在LED上显示。

图1 系统整体框图

2 系统模块的划分及VerilogHDL语言实现

根据系统设计需求,系统主要由PLL复位控制器、ROM数据存储模块以及行、场扫描驱动模块组成,其中PLL复位控制为系统提供主时钟和稳定的复位信号,行、列信号及地址发生器驱动VGA显示器,ROM数据存储块主要负责字模数据的存储以及数据的读取,RGB控制色彩的显示。系统的组成如图2所示。

图2 系统组成图

2.1PLL及系统复位模块设计

2.1.1PLL IP核调用

EP2C5Q208C系列FPGA具有两个可编程PLL,QuartusⅡ中集成了成熟的PLL IP核,在MegaWizard plug_In Manager工具中通过对相关参数进行设置就可以使用PLL IP核,系统中采用65 MHz为主时钟,外部输入时钟为50 MHz[6-7]。其中C0为锁相环输出时钟,故倍频系数为13,分频系数为10,配置界面如图3所示。

图3 PLL配置界面

在配置中,可以对倍频系数和分频系数进行设置得到系统所需的时钟,同时可以设置输出时钟的相移和占空比。

2.1.2PLL系统复位设计

在含有PLL设计的系统中,由于PLL输出稳定频率之前系统不能稳定工作复位,因此将PLL锁定信号也作为系统复位信号,在系统的复位设计中应用两次异步复位,同步释放的方式加入PLL锁定信号作为系统的复位设计,这样能够提高系统的稳定性,如图4所示。

图4 PLL系统复位设计

2.2VGA的显示时序模块设计

根据显示的时序要求,VGA显示器分为行频和场频扫描信号,时序设计的关键在于规定场、行同步消隐以及行、场显示时间,设计中行信号每扫描一行后,场频计数器加一。具体的行、场频率程序流程图如图5、图6所示。

图5 行频率程序流程图          图6 场频率程序流程图

2.3字符显示模块设计

VGA显示原理与点阵相同,首先需要提取需要显示的字模数据。此处用字模数据提取软件PCtoLCD2002来提取[8-11]。在软件中模式设置阴码,为了寻址代码设计的方便性,取模方式为逐列式、顺向、C51格式。此处取字符“陕西理工学院”,设置完成之后点击生成字模,之后将字模数据保存。取字模界面见图7。

2.4ROM数据读取显示模块设计

FPGA器件中通常嵌入用户可以配置的存储块称为M4K块,M4K块独立于FPGA本身的逻辑门资源之外。用户可以灵活的使用这些存储块,可通过QuartusⅡ将M4K块配置为ROM和RAM,设计中位宽为64位,深度为512WORDS,clock为ROM工作时钟,address为地址信号,q为输出数据,ROM配置模块设计完成后就可以设计ROM的显示模块。

图7 取字模界面

2.4.1ROM数据显示地址定位

VGA显示模式为1024×768,行有效地址为0—1024,列有效地址为0—768,根据需要显示的字符划分地址,从设计过程可知,将VGA屏幕划分,由行地址和列地址共同确定字符显示的区域。

2.4.2ROM调用

在ROM调用中,一般用端口xpos[9∶1]作为地址信号,将地址信号放大一倍,行地址1024显示8个汉字。在取字符数据时采用逐列式方法,每一列对应一个数据,根据列变化输出数据有利于软件的设计。ROM字符显示,Verilog代码如下:

always @ *//LCD 1024*768 终端显示设置

if(EN_area)//显示“SHAANXI UNIVERSITY OF TECHNOLOGY”

if(char_data[ch_bit[5∶2]])VGA_data = BLUE;

elseVGA_data = YELLOW;

“我爷爷”是土匪也是英雄,他曾经杀人越货、落草为寇,也能以寡敌众将日本鬼子打得屁滚尿流,在莫言笔下他是抗日战争时期众多草莽英雄的化身。“我奶奶”一生追求自由,敢爱敢恨,她不顾封建礼教的束缚,是那个时代女性反抗封建制度的代表。莫言通过对这些形象的书写,以小见大,表现了那个年代中华民族顽强旺盛、不肯屈服的生命张力,并通过先辈与我辈的对比哀叹种的退化,从而深入反思了民族精神的何去何从,希望借此重建属于民族的精神家园。他巧妙地将中国这个大舞台浓缩为高密东北乡这个小舞台,成功地使乡土情结升华到了民族情结的高度。

else if(IE_area)//显示网址“www.snut.edu.cn”

if(char_data[ch_bit[5∶2]])VGA_data = BLACK;

elseVGA_data = YELLOW;

else if(CAN_area)//显示 “Evearthing is possible”

if(char_data[ch_bit[5∶2]])VGA_data = BLACK;

elseVGA_data = YELLOW;

else if(wireless_area)//“陕西理工学院”

if(School_data[63-ypos[6∶1]]) VGA_data = CYAN;

elseVGA_data = YELLOW;

else if(Teacher_area)//设计的要求

if(Teacher_data[63-ypos[6∶1]])VGA_data = RED;

elseVGA_data = YELLOW;

else if(HDU_area)//显示“明德励志博学笃行”

if(romdata[63-ypos[6∶1]])VGA_data = BLUE;

elseVGA_data = YELLOW;

elseVGA_data = YELLOW;

end

用ypos[6∶1]作为显示数据的偏移地址将行地址放大一倍,与列地址相对应,色彩信号由8位数字信号分别控制VGA显示终端R、G、B三基色信号,色彩信号定义如下:

parameterBLACK=8′b000_000_00;/* 黑*/

parameterBLUE=8′b000_000_11;/*蓝*/

parameterGREEN=8′b000_111_00;/* 绿*/

parameterROYAL=8′b000_111_11;/*品*/

parameterRED=8′b111_000_00;/*红*/

parameterCYAN=8′b111_000_11;/*青*/

parameterYELLOW=8′b111_111_00;/*黄*/

parameterWHITE=8′b111_111_11;/*白*/

高8~5位信号为R数字控制信号,4~2位信号为G数字控制信号,1~0信号为B数字控制信号。

3 结果显示

在板级调试前必须对代码进行模拟测试,用QuartusⅡ10.0内部仿真软件对系统进行仿真得到系统的整体时序仿真结果,如图8所示。

图8 系统仿真图

通过仿真和板级测试后,采用Altera的CycloneⅡEP2C5Q208C8为核心处理芯片,下载相应的设计程序。通过硬件测试平台进行验证,彩条图像和动态图像以及自定义图像能正确在VGA显示器上显示。硬件测试效果见图9。

图9 输出效果图

4 结 论

采用FPGA来实现 VGA接口,改变了传统的VGA图像和文字显示方法体积大,造成资源浪费的缺点。采用FPGA设计的VGA显示控制器可以显示自定义的文字和画面以及显示色彩可以改变的动态画面不受CPU控制,同时减少了系统的尺寸,节约了成本,增加了设计的灵活性和可移植性,解决了一般嵌入式系统实时图像处理问题,扩展了应用。

[1]刘敏,戴曙光,穆平安.采用SOPIP核技术实现液晶屏显示[J].液晶与显示,2011,26(5):665-672.

[2]郑争兵,赵峰.基于FPGA的LED显示屏控制系统的设计与实现[J].陕西理工学院学报:自然科学版,2015,31(2):25-29.

[3]朱奕丹,方怡冰.基于FPGA的图像采集与VGA显示系统[J].计算机应用,2011,31(5):1258-1261.

[4]王鸣浩,吴小霞.基于FPGA的通用液晶显示控制器的设计和实现[J].液晶与显示,2012,27(1):87-92.

[5]姜漫,吴志勇,曹腾.基于SOPC技术的VGA字符和图像显示系统[J].液晶与显示,2013,28(1):120-126.

[6]张传胜.基于SOPC的通用液晶屏人机交互系统GUI的设计[J].液晶与显示,2013,28(2):250-254.

[7]杨旭光,丁铁夫,刘维亚,等.基于FPGA的高速DSP与液晶模块接口的实现[J].液晶与显示,2007,22(3):342-345.

[8]杨钦,周云飞,胡永兵.基于FPGA的视频图像采集与显示系统设计[J].计算机工程与设计,2013,34(6):1988-1992.

[9]易凤忍,钱慧,林培杰,等.用于视频转换系统的VGA控制器设计与实现[J].电视技术,2013,37(23):69-72.

[10]刘鹏,胥效文,史忠科.基于FPGA的千兆以太网终端显示系统的设计[J].计算机技术与发展,2014,24(5):184-187.

[11]杜宗展,王振河,冯迎春.基于FPGA的VGA图像显示系统的设计[J].现代电子技术,2015,38(16):95-99.

[责任编辑:李 莉]

Stored character data of VGA display based on FPGA M4K block configuration ROM

HAN Tuan-jun,ZHAO Feng

(School of Physics and Telecommunication Engineering, Shaanxi Sci-Tech University,Hanzhong 723000, China)

To overcome the disadvantage that it is not easy to modify the core structure in traditional VGA control system, the study designed and implemented a FPGA display control system based on Altera chip. The CycloneⅡ EP2C5Q208C8 is used as the core control chip, and VerilogHDL language is used to work out each module. And RAM in FPGA is used to get VGA display of Chinese characters. The test results show that the image and text signals and ribbons can be controlled and displayed by FPGA processor.

FPGA;integrated chip;control system;VGA display

1673-2944(2016)05-0022-06

2016-06-14

2016-08-25

陕西省教育厅产业化培育项目(14JF004);陕西省教育厅科研基金资助项目(16JK1151);陕西理工学院科研基金资助项目(SLGKY15-25)

韩团军(1981—),男,陕西省乾县人,陕西理工大学讲师,硕士,主要研究方向为集成电路设计与分析;赵峰(1979—),男,陕西省安康市人,陕西理工大学教授,博士,主要研究方向为信号测量与控制。

TN141.9

A

猜你喜欢
字符时序模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
基于Sentinel-2时序NDVI的麦冬识别研究
字符代表几
一种USB接口字符液晶控制器设计
HBM电子称与西门子S7-200系列PLC自由口通讯
消失的殖民村庄和神秘字符
基于FPGA 的时序信号光纤传输系统
一种毫米波放大器时序直流电源的设计
DPBUS时序及其设定方法