基于 Avalon 总线的可配置 LCD 控制器 IP 核的设计
作者:李顺方 周卫星 白洁
摘要:本文讨论了基于 Avalon 总线流传输的配置 LCD 显示控制器 IP 核的设计,根据自顶
向下的设计思想,将 IP 核进行层次功能划分设计,并对 IP 核的仿真验证,最后加入到 Nios
II 系统中。该 IP 核经测试效果良好。由于本 IP 核是可配置的,具有很好的移植性,可以
方便的应用以 Nios II 为核心的各种需要图形显示的嵌入式系统中。
关键词:IP 核,Avalon 总线,LCD,显示控制器
基于 NiosII 软核的 SOPC(System On Programmable Chip)是 Altera 公司提出的片上可编
程系统解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,它将 CPU、存储器、I/O接口、DSP 模块以及锁相环(PLL)的系统设计
所必须的模块集成到一片 FPGA 上,构成一个可编程的片上系统,使所设计的电路在其规
模、可靠性、体积、功耗、功能、上市周期、开发成本、产品维护以及硬件升级等多方面实
现最优化。
目前在 Altera SOPC Builder 下集成了包括 UART、SPI、Ethernet、SDRAM、Flash、DMA
等控制器的 IP 核。此外,用户也可以根据系统的需要自己设计或者购买第三方厂商的 IP 核
通过 Avalon 总线像搭积木一样方便地将这些 IP 捆绑的系统上。但是在显示接口上,Altera
公司只提供了一个 16*2 的字符型 LCD 控制器的 IP 核,只能用来显示数字和英文字母。
如用户需要图形显示(如MP4 和 PDA)则需要外接专用控制芯片或自己设计 IP 核,使用
起来很不方便。因此我们设计一个基于 Nios II 系统的可配置 LCD 控制器的 IP 核,本 IP 核
可以方便的通过 Avalon 挂接到 Nios II 的系统上。考虑到目前 LCD 显示屏的实际需要,我
们设计的 LCD 显示控制 IP 核具有以下主要功能:
以 Avalon 总线流传输模式提供接口;
为 LCD 屏提供扫描时序信号和显示数据;
提供可以选择的分辨率,最大可以支持 1024*768;
可以通过软件配置显存的基地址和大小;
1. Avalon 总线规范
1.1 总线概述
Avalon 总线是 Altera 公司为 SOPC 系统开发的一种专用的内部连线技术,是一种理想的用
于系统处理器和外设之间的内联总线。它是构建在 Nios II 软核的基础上,由 Altera 公司提
供 SOPC Builder 系统设计工具自动生成。
Avalon 总线支持多个主外设,任何一个主外设都可以直接进行存储器访问(DMA),而无
须 Nios II 处理器的干预。一般的系统总线(如 AMBA 总线)都是采用主端总裁机制,而
Avalon 采用 DMA 从端仲裁机制,能够实现真正意义上的多模块 DMA 并行传输,而不相
互影响。
Avalon 总线允许多个主端口连接到总线模块,实现总线的的并发多主端口传输的功能,而
总线模块不需要额外的特殊信号;当有多个主外设试图同时访问同一外设时,由 Avalon 总
线模块内部的从端口仲裁逻辑来处理冲突,对于主端口来说,它并不会感到有另一个主端口
也在争用该外设,而是简单的发现它的等待请求信号一直有效,直到目标外设从端口准备好
来处理自己的请求。因此,多个主外设只要不是同时访问同一个从外设,即可同时进行总线
传输。仲裁的详细信息被封装在总线内部,主外设和从外设的接口是一致的,与外设的数量
无关。
1.2 Avalon 总线流传输模式
Avalon 规定了各种传输模式,这里只介绍本 IP 核所使用的流传输模式。关于其他的总线模
式读者可以 Avalon 的总线规范。
流传输模式是在流模式主外设和流模式从外设之间建立一个开放的信道以供连续的数据传
输。该信道使得只要存在有效数据,数据便能在主从端口对之间流动,主外设不必为了确定
从端口是否可用而不断地访问从外设的寄存器。流传输模式使得主从端口之间的数据吞吐量
达到最大,同时避免了从外设数据溢出。流传输模式最适合 DMA 传输。一个只包含简单的
流控制信号和一个计数器的 DMA 控制器就可以用来在一个从外设和一个存储器之间连续
地传输数据。
由于数据流是从 Avalon 总线流向 LCD 控制器,所以是流模式的从端口写传输。图 1 显示
了流模式从端口写传输的模型。
图 1 流模式从端口写传输模型
除了基本从端口传输中使用的信号外,流模式外设的接口中又引入了 readyfordata、
dataavailable 和 endofpacket 三个信号。流模式从端口就是指使用了一个或多个上述信号的
从端口。readyfordata 有效表示外设准备好接受 Avalon 总线模块的写传输;dataavailable 有
效表示能够为来自 Avalon 总线模块的读传输提供数据。Avalon 总线模块只在 readyfordata
或 dataavailable 有效时才会发起传输行为。endofpacket 信号的含义取决于用户设计。
流模式从端口写传输模型的时序如图 2 所示。
图 2 流模式从端口写传输时序
2. Avalone 流模式 LCD 控制器 IP 核设计
LCD 控制器按功能可划分为三个模块:接口模块,数据处理模块和时序产生模块。接口模
块主要用来对系统进行配置,获取系统状态信息以及从内存读出将要显示的数据信息;数据
处理模块根据系统的配置信息,对读入控制器的内存数据进行相应的处理,以符合用户设置
的显示要求;时序产生模块产生显示时序信号,使得系统在不同的配置下都能产生与之相应
的精确时序,以保证图象的正确显示。
在具体实现时,这三个部分又可以划分为不同的功能模块来完成系统的总体功能。整个模块
包括配置寄存器接口模块、DMA 接口模块组成和异步 FIFO 模块,时序产生部分由时序产
生模块构成。图 3 为我们所设计的 LCD 控制器 IP 核的系统结构框图。
2.1 DMA 接口模块
一般情况下,LCD 显示需要进行大批量的数据传送。在
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
VGA(640×480 60Hz)模式
下,每个像素点的扫描周期只有 40ns。如此高速的数据传输,如果直接通过 CPU 来操作,
将会消耗大量的 CPU 时间。为了提高 CPU 的工作效率,我们在 Nios II 下利用 DMA(Direct
Memory Access,直接存储器访问)来完成。利用 DMA 控制器在 LCD 控制器和显示存储器
SDRAM 之间建立一条专用的 DMA 传输通道,通过 DMA 控制器自动的读去图象数据,
不需要 CPU 干预。NiosII 中 DMA 控制器如图 4 所示:
在 DMA 传输时,首先需要由 CPU 对 DMA 进行初始化,设置显示存储器的基地址和长度
以及 LCD 控制器输入寄存器的地址,然后打开 DMA 传输通道,使 DMA 在没有 CPU 干
预的情况下直接从显示存储器读取显示数据传送到 LCD 控制的 FIFO 中。Nios II 可以在
DMA暂停传输的期间操作 SDRAM 中的显存,完成 LCD 显示图像的更新。
DMA 接口采用 Avalon 主设备端口来实现。
2.2 配置积存器接口模块
系统可以通过配置寄存器接口模块对 LCD 显示控制器进行各种功能配置;LCD 控制器也可
以通过接口模块向系统反馈所需的状态信息,从而实现对系统状态的检测和控制。通过针对
不同种类的 LCD 屏幕和不同的显示模式提供相应寄存器,可以保证对于各种 LCD 显示屏
的兼容。
下图 5 为配置积存器接口模块与 Avalon 总线和 LCD 时序发生器接口的示意图
配置寄存器接口所采用的是 Avalon 的从设备端口来实现。
2.3 异步 FIFO 模块
由于总线接口模块和 LCD 控制器工作在不同的时钟域,如果直接传送数据将会使电路进入
亚稳态,无法正常工作。所以使用异步 FIFO 做为接口在两个时钟之间传递数据。典型的异
步 FIFO 由异步双端口 RAM 和控制逻辑构成。图 6 为典型异步 FIFO 的系统框图
图 6 异步 FIFO的系统框图
2.4 LCD 时序产生模块
通过读取配置寄存器获得像素时钟,行周期,帧周期,同步头宽度以及时钟分频系数等信息
后,LCD 时序产生模块产生 LCD 显示需要的行同步信号、帧同步信号以及复合消隐信号。
图 7 描述了 LCD 接口时序发生模块的接口信号
3. LCD 控制器 IP 核的仿真调试与安装
3.1 LCD 控制器 IP 核的仿真调试
本 IP 核使用 Verilog HDL 来编写,首先在 Modelsim6.1 下先进行 RTL 级的功能仿真,当
所有功能都满足要求时,就可以使用综合工具综合后加入延时信息进行进行时序仿真。如果
时序仿真也满足电路的设计要求,就可以当做一个 NiosII 系统自定义的组件加到 Nios II 系
统中去。
3.2 LCD 控制器 IP 核的安装
Avalon 流模式的 LCD 控制器需要安装到 SOPC Builder 中,以便将其加入到 NiosII 系统
中。
这里的 LCD 控制器是一个典型的流模式自定义外设。启动 DMA 传输后,DMA 控制器将
批量数据送往 LCD 控制器,因此也可将 LCD 控制器看成 FIFO 类型的存储器外设。选择
Avalon Components->Legacy Components->Interface to User Logic,加入 LCD 控制器的 IP
核。
图 8 DMA、LCD 控制器模块连接图
3.3 实际测试效果图
实际测试是在 Altera的 DE2开发板上进行的。使用的 LCD屏是夏普公司的 800*600型号为
LQ080V3DG01的 TFT LCD屏,实际的显示效果图如图 9所示
4.
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
本文讨论了基于 Avalon 总线流传输的配置 LCD 显示控制器 IP 核的设计,根据自顶向下的
设计思想,将 IP 核进行层次功能划分设计,并对 IP 核的仿真验证,最后加入到 Nios II系
统中。该 IP 核经测试效果良好。由于本 IP 核是可配置的,具有很好的移植性,可以方便
的应用以 Nios II 为核心的各种需要图形显示的嵌入式系统中。
来源:电子开发网