基于Avalon总线的可配置LCD控制器IP核的设计
- UID
- 872339
|
基于Avalon总线的可配置LCD控制器IP核的设计
关键字:NiosII软核 SOPC Avalon总线 LCD控制器 IP核
基于NiosII 软核的SOPC(System On Programmable Chip)是Altera 公司提出的片上可编程系统解决方案,它将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 显示了流模式从端口写传输的模型。
除了基本从端口传输中使用的信号外,流模式外设的接口中又引入了readyfordata、dataavailable 和 endofpacket 三个信号。流模式从端口就是指使用了一个或多个上述信号的从端口。readyfordata 有效表示外设准备好接受 Avalon 总线模块的写传输;dataavailable 有效表示能够为来自 Avalon 总线模块的读传输提供数据。Avalon 总线模块只在 readyfordata或 dataavailable 有效时才会发起传输行为。endofpacket 信号的含义取决于用户设计。
流模式从端口写传输模型的时序如图2 所示。
图2 流模式从端口写传输时序 |
|
|
|
|
|