FPGA的LCD显示菜单
0赞硬件结构:FPGA (Altera EP4CE10)+字库芯片(GT21)+LCD显示芯片(st7565,128X32)
输入端口:按键(4个)+ SPI接口(与DSP通信)
LE资源:总共10000 逻辑单元(LE),其他功能模块占去4500 LE,剩余皆用于LCD显示
LCD基本驱动参考《Verilog_HDL_那些事儿》,较为详细,可读性好。
在此基础之上,需要实现一个伺服驱动器的三级菜单,
显示内容包括:I P 地址,子网掩码,网关,MAC地址,运行状态,运行时间,错误警告代码等;
显示特性:当显示内容较长时动态显示,可对参数进行修改,并发送给DSP
以11X12点阵字符显示单元,将128X32共分为20个字符,上下两行,每行10个字符
对驱动进行修改可定位显示字符(第1行第2个、第2行第3个...)
将需显示字符编码初始化放入RAM,
基本驱动流程:RAM地址->汉子编码(GB2312)->计算字符芯片地址->读取点阵->发送显示;
刚开始没有没有对整个菜单进行模块划分,将菜单以case切换:
case(MenuID)
10'd0: 显示Menu0
10'd1:显示Menu1
...
default: 显示Default_Menu;
endcase
这个是以前写的仅显示菜单栏程序,并未考虑修改,存储等等。。。
同时耗费3500LEs
现在需要添加更多功能,发现可扩展性几乎为ZERO
怪我当时急于求成,恶果啊
近期进行了修改,虽然在后续的学习中明白,尽可能将大结构化解成多个小的状态机,
但是考虑一天之后发现仍无法脱离整个大case结构
今天先介绍基本情况,后续慢慢详细介绍
各位有什么看法尽可提出~非常欢迎~
PS:对于FPGA驱动显示LCD,是不是用NIOS更普遍,更方便?
你填写的信息有误,请根据红色文字检查一下!怎么回事,发不了