10.8典型实例18:字符LCD接口的规划与完结
10.8.1实例的内容及方针
1.实例的首要内容
本节旨在规划完结FPGA与字符LCD的接口,协助读者进一步了解字符液晶的作业原理和规划办法。
2.实例方针
经过本实例,读者应到达以下方针。
·学习字符型液晶显现器的操控原理。
·把握运用FPGA规划驱动的基本思想和办法。
·熟练把握状态机的运用。
10.8.2字符LCD接口实例内容
赤色飓风开发板配套的字符液晶模块为2行,每行16个字符。本实要求显现功用如下:榜首行显现“WelcomeRedLogicWorld!”,第二行显现“RedLogicWorld!”,由于一行只能显现16个字符,因而要整屏左移显现。
10.8.3FPGA代码规划完结
本规划的程序首要包括两个模块,一个模块为char_ram,另一个模块为LCD的驱动模块lcd。
char_ram模块的首要功用是依据输入的地址,输出相应字符在CGRM(字符存储发生器)中的地址。由于在操控LCD显现时,只需用户供给相应字符的地址,就能够显现出该字符。
在char_ram中,先设置好一切字符对应的地址,然后给需求用到的字符界说新的地址用于挑选输出。
Lcd模块用于驱动lCD正常作业。LCD是一个慢显现器材,因而时钟一定要满意要求,在这里经过50MHz分频得到输入的时钟周期约为100µs(约10Hz),以满意慢显要求。LCD的驱动模块运用一个状态机来完结。具体程序参阅实例源代码。
10.8.4ModelSim仿真验证
经过AddSource的办法直接将测验代码参加到工程傍边。选中要参加的测验代码文件:led_behavor_test.v,弹出如图10.37所示的对话框,挑选“VerilogTextFixtureFile”。
用户也能够直接新建一个仿真文件,挑选“NewSource”,挑选“VerilogTestFixture”,输入测验文件名称,如图10.38所示,单击“Next”按钮。
挑选lcd模块(对哪个模块进行测验,就挑选哪个文件),如图10.39所示。
图10.37挑选源文件类型
图10.38新建仿真源文件
图10.39挑选被测验模块
新建测验文件后,ISE会主动生成一部分代码,其他内容可直接从源工程中供给的测验文件中仿制。
增加后选中测验文件能够看到如图10.40所示的信息。
图10.40仿真文件信息
在Processforsource下有4个M的图标,别离对应4个等级的仿真。从上至下,榜首个为行为仿真,第二个为翻译后仿真,第三个为映射后仿真,第四个为布局布线后仿真。在这里先做行为仿真,只需双击榜首个图标,就可发动ModelSim仿真,成果如图10.41所示。
图10.41行为仿真
默许情况下,ModelSim会弹出4个窗口,在这里首要调查Wave窗口,如图10.42所示。
图10.42行为仿真波形窗口
上面列出的许多信号是人为增加的,具体怎么增加以及具体Wave窗口下的许多用法在这里不做具体叙说。需求特别阐明的是,假如用户自己装的是ModelSimXE版别,是无法完结这个仿真的,由于这个工程代码是用VHDL写的,测验代码是用Verilog写的,ModelSimXE版别是不支撑混仿真的,主张装置ModelSimSE版别,SE下是支撑混合仿真的。
ModelSim仿真成果如图10.43和图10.44所示。
图10.43LCD写数据仿真成果
图10.44LCD写指令仿真成果
这两个波形别离为写数据和写指令的仿真成果。写数据即向DDRAM写入要显现的字符对应的地址,其间clk为体系的输入时钟50MHz,clk_int为分频后得到的约10Hz输入时钟,lcd_e为使能信号,写数据时RS=1,R/W=0,写指令时RS=0,R/W=0。
10.8.5小结
本节对运用FPGA来驱动字符型液晶模块的办法做了介绍,并经过编译下载在赤色飓风的开发板上完结了预订功用。