关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > SOPC中NiosII的LCD显示驱动IP设计

SOPC中NiosII的LCD显示驱动IP设计

作者:时间:2010-08-09来源:网络收藏

如图3所示,读写状态机给出读或者写信号,并在读写控制状态机的控制下,完成写命令、写数据和读数据之间的状态转移。在每一个状态下给出显示数据及控制信号,如片选、所写数据/指令等。

本文引用地址:http://www.eepw.com.cn/article/202523.htm


如图4所示,读写时序状态机用于控制读或者写外设的时刻,当读写完成时给出读写完成信号。其中,读写信号由图2中的读写操作给出。根据CBGl28064读写时序要求,当R/W为高电平时,读取显示RAM中的数据;当R/W为低电平且在E的下降沿时,向显示RAM中写入数据。读写时序状态机的读写信号由读写控制状态机给定,其中,E为模块使能信号。


3.2 寄存器组
寄存器组由一系列寄存器组成,为软件提供了访问硬件的通道。寄存器组中的寄存器是根据任务逻辑中需要实现的特定逻辑功能来设定的,任务逻辑中的数据通过这些寄存器传输。本设计中,寄存器组设定了8位页地址寄存器、8位列地址寄存器,以及32位数据寄存器等。
3.3 Ayalon总线接口
的Avalon总线接口需要一个简单的Slave端口。该端口使用较少的Avalon信号来处理简单的寄存器读/写传输。该模块是与Avalon总线接口的一个顶层模块,主要功能是对任务逻辑模块和寄存器模块进行例化和封装,使其信号类型符合Avalon总线信号规范和外接模块的信号规范。顶层接口定义如下:

3.4 封装及软件设计
直接在 Builder中添加设计好的IP Core和Verilog HDL语言描述的文件,并根据Avalon总线传输规范设置好相关的信号线及传输参数。由于是在 IDE环境下直接编写用户程序,可以不用编写驱动程序。完成后,将显示驱动IP Core添加至工程,并编译、下载到FPGA器件中。
IDE环境下,使用自己添加的模块编写程序,可直接调用甬数IOWR(BASE,OFFSET,DATA)和IORD(BASE,OFFSET)对内部寄存器进行读写。本文使用结构体定义了一个指向模块的结构体指针,对寄存器进行读写操作。



CBGl28064本身不带字库,可以通过2种方式添加字库:一种是把所需字库做到硬件ROM中,增加了硬件资源成本,且缺乏灵活性;另一种是在软件中定义字库,通过写数据寄存器进行显示。本设计采用第2种方式,在软件中定义字库,并编写了简单的显示测试程序,在液晶屏上显示“ZHONG GUO”字样。测试结果表明,该设计是正确可行的。此外,利用字模软件生成的图形数据,也可进行图形显示。

结语
本文采用有限状态机设计了CBGl28064液晶模块驱动硬件逻辑,并将显示驱动IP核进行封装构成了一个模块化的独立元件,使其能够在其他的工程中复用;在此基础上,基于嵌入式处理器构建了一个用户定制的片上系统。经过在Cyclone系列FPGA上测试,该驱动能够在C-BGl28064液晶模块上显示字符、图形。整个系统体现了嵌入式系统的灵活性和扩展性。

红外热像仪相关文章:红外热像仪原理

上一页 1 2 下一页

关键词: NiosII SOPC LCD 显示驱动

评论


相关推荐

技术专区

关闭