FPGA学习六之NIOS系统LCD1602核及自定义LCD液晶IP核

姓名:黄楠琳       学号:19020100011        学院:电子工程学院

转自:https://blog.csdn.net/sinat_41653350/article/details/106355562

【嵌牛导读】本文介绍了如何在NIOS系统创建LCD1602的IP核

【嵌牛鼻子】NIOS II、LCD1602

【嵌牛提问】如何在NIOS系统创建LCD1602的IP核?LCD1602控制核是如何进行工作的?

【嵌牛正文】

由于在Qsys中提供了Optrex 16207 LCD Controller Core(下文统称1602控制核),因此我们只需调用,然后集成到我们的NIOS系统中即可,而且属于字符型输出设备,支持printf(),即我们可以直接输出我们想要的内容。

那么LCD1602控制核是如何进行工作的呢?

当把LCD1602控制核加入系统编译成功时,文件夹下会出现LCD16207.V的文件,我们来分析官方提供的文件是怎样进行描述的?


由上图端口定义得出以下总体结构


由上图可以看出LCD1602外设连接到LCD1602控制核上有11个信号:(信号命名根据.v文件)

LCD_E------输出使能

LCD_RS------数据/命令选择(输出)

LCD_RW------读或写选择(输出)

LCD_data------8位数据总线(双向DB0~DB7)

第一步:

我们首先需要控制输出使能LCD_E信号,根据Avalon-mm总线规则,可以看出有读写使能信号,而对于LCD1602来说,只有当LCD_E为下降沿时,指令或数据才有效,不论是对总线是什么操作,因此可以将读写使能赋值给LCD_E输出使能。


第二步;

我们需要理解LCD_RS和LCD_RW对于外设来讲是两个寄存器,而这两个寄存器是需要地址来进行访问的,因此第二步需要将LCD_RS和LCD_RW赋一个地址。


第三步:

此时我们需要知道LCD1602外设数据如何去与CPU进行交互?因为数据总线是双向的,因此三态门必不可少,其中readdata其实是总线上的接口,LCD_data赋值即可,也可对外来数据LCD_data进行异步信号同步处理。


而且Altera为Nios II处理器提供了HAL系统库驱动程序,使你能够使用ANSIC标准库功能访问LCD控制器, Altera提供的驱动程序集成到了Nios II系统的HAL系统库中。

即LCD1602控制器附以下软件文件。 这些文件定义了与硬件的底层接口,并提供了HAL驱动程序。

•altera_avalon_lcd_16207_regs.h-该文件定义内核的寄存器映射,提供用于访问底层硬件的符号常量。

•altera_avalon_lcd_16207.h,altera_avalon_lcd_16207.c-这些文件实现了HAL系统库的LCD控制器设备驱动程序。

综上可知,其实LCD1602控制核是个很简单的IP核,那我们如何在最小系统中去设计其他液晶的IP核呢?

自定义LCD液晶IP核

由LCD1602控制核须知自定义IP的接口有哪些?

1.全局时钟(Clk)和复位(Rst_n)信号必不可少。

2.Avalon-mm slave总线接口(接口信号根据实际外设接口来选择)

1)地址总线(avs_address)

2)片选信号(avs_chipselect /avs_chipselect_n)

3)写请求(avs_write /avs_write_n)

4)写数据(avs_writedata(8/16/32位 位宽))

5)读请求(avs_read /avs_read_n)

6)读数据(avs_readdata(8/16/32位 位宽))

7)等待信号(avs_waitrequest / avs_waitrequest_n)

8)读数据有效信号(avs_data_valid)

3.导出信号

导出到NIOS 系统层,分配到IO,或者连接到Qsys系统以外的逻辑。

下图是接口8080时序控制的液晶IP核。


那这时我们发现液晶信号的busy忙信号及RST复位信号未在导出信号之列,因为这两个信号在最小NIOS系统中可以单独用PIO核来进行读取控制。

5.7寸液晶导出的信号控制逻辑与LCD1602控制核一致。

当我们将该5.7寸文件编译通过后,就开始对我们的IP核进行封装。

自定义IP核封装

步骤一:点击下图位置打开自定义IP封装向导。


步骤二:如下图所示填好基本信息,最好将该元件纳入分组中,以便后期管理。


步骤三:将我们写好的.v文件添加进来分析,这里注意,因为这个IP核只有一个文件,因此顶层文件就是LCD,如果自定义IP核涉及多个文件,那么一定要注意顶层文件是哪一个。



步骤四:这里就体现信号规范命名的好处,接口和信号类型就显示正确,如果不正确,我们手动改变接口类型,注意信号类型如片选有低有效和高有效,不能与设计文件相违背,再例如我们导出的信号类型是.export,因此选择new_conduit接口。


步骤五:先移除掉无信号接口,在对每个接口进行配置,注意总线上的读写时序与接口8080一致,保证无错误即可生成.hw.tcl文件



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容