基于Nios II的非一般模式类设备设计与集成
液晶显示器按其功能可分为笔段式和点矩阵式液晶显示器,后者又可以分为字符点阵式和图形点阵式液晶显示器。图形点阵式液晶显示器不仅可显示数字、字符等内容,还能显示汉字和任意图形。但此类液晶显示屏属于非一般模式类设备,在NiosII中不能直接开发使用。
对于一个全新的外部设备,NiosII有更好的解决方案快速的掌握它的控制方法。按照设备的电器要求,使用NiosII的已有的基本控制设备(例如通用输入输出端口PIO)掌握新设备的控制特性与方法。当充分理解新设备的特性后就可以按照Nios II的硬件抽象层(HAL)的定义方法,编写新设备的驱动将其集成到Nios II中。这样在今后的开发中在SOPC Builder中就可以像其他设备一样增添这个新设备,Nios II软核生成后会自动加载此设备的设备驱动。这样提高了新设备的二次使用时的开发效率。
以下是液晶屏显示模块接口的设计与集成过程。
液晶显示模块的设计
液晶显示简介
GM12864A 是带显示存储器的图形液晶显示器。它的内部是由两块KS0108B作为列显示控制器和一片KS0107B作为行显示控制器组成。显示屏上各像素点的显示状态与显示存储器的各位相互对应,显示存储器的数据直接作为图形显示的驱动信号。显示数据为“1”,相应的像素点变亮。液晶屏结构如图1所示。
![液晶屏GM12864A的结构图](http://www.ednchina.com/images/article/2174d2bd-3020-45bb-aea3-8dc6cf82a269/1.jpg)
图1 液晶屏GM12864A的结构图
PIO类的介绍
设计初始阶段主要的目的在于充分了解新设备的特性与控制方法,为之后的设备集成打好基础。因此采用通用的输入输出控制接口(PIO)直接对液晶屏的引脚进行控制。
Nios II中PIO分为三大类:输入(I)、输出(O)和三态(Tri)。PIO通过Avalon总线与Nios II相连接。如图2所示。
![通用输入输出接口与Nios II的连接](http://www.ednchina.com/images/article/2174d2bd-3020-45bb-aea3-8dc6cf82a269/2.jpg)
图2 通用输入输出接口与Nios II的连接
接口的设计
在Quartus II中新建一个工程,芯片类型选择Cyclone 1C6Q240C8。设置画面如图3所示。
![芯片设置界面](http://www.ednchina.com/images/article/2174d2bd-3020-45bb-aea3-8dc6cf82a269/3.jpg)
图3 芯片设置界面
工程创建完成后在SOPC Builder中定制Nios II处理器。液晶屏显示器驱动接口在设计初步作为普通的外部设备,用PIO进行操作。所以为系统增添所需要的PIO接口。设计完成后如图4所示。
![定制的Nios II处理器结构](http://www.ednchina.com/images/article/2174d2bd-3020-45bb-aea3-8dc6cf82a269/4.jpg)
图4 定制的Nios II处理器结构
定制结束后生成Nios II处理器模块。生成后回到Quartus II中进行系统顶层结构的设计。通过SOPC Builder生成的Nios II模块需要一个时钟和一个复位输入端,输出与定制时所设计的一致。增添相应的输入输出引脚。顶层结构如图5所示。
![液晶屏控制系统顶层结构](http://www.ednchina.com/images/article/2174d2bd-3020-45bb-aea3-8dc6cf82a269/5.jpg)
图5 液晶屏控制系统顶层结构
将控制系统编译,液晶屏与芯片的接口连接电路如图6所示。
![液晶屏与FPGA的接口电路](http://www.ednchina.com/images/article/2174d2bd-3020-45bb-aea3-8dc6cf82a269/6.jpg)
图6 液晶屏与FPGA的接口电路
液晶屏显示模块的HAL集成
为了更好的对新外设进行高效二次开发,通过编写外设驱动并集成到HAL中是最好的方法。这样可以更加方便的再次构件系统,有效降低开发周期,提高开发效率,降低开发难度。
开发外设并集成的开发流程如图7所示。
![新设备集成HAL流程](http://www.ednchina.com/images/article/2174d2bd-3020-45bb-aea3-8dc6cf82a269/7.jpg)
图7 新设备集成HAL流程
对于新外部设备的HAL集成流程是从设备功能角度出发并划分控制单元模块,因此使控制程序代码对设备无关,即外部设备细节控制对开发者是透明的,从而使代码具有更好的规范性和可移植性。当此设备处于不同的硬件配置的Nios II系统时仍能正常工作。
结语
在Altera FPGA中使用软核处理器Nios II可以将外部存储器、液晶显示屏、以太网控制器等外部设备连接在一起,进行外设的协调工作和数据共享。从而具有较高灵活性并且能适应变化较多的技术领域。
一个新的外部设备只要根据Nios的内部规范编写驱动就可以集成到HAL中,加强新设备的运行稳定性和二次使用的效率。
另外,可以根据系统的需要添加多个Nios II处理器实现“多内核”系统或者在Nios II核中加入实时操作系统(RTOS),实现多任务的调度。运用 Altera的SOPC技术可以高效快速的开发一个用户定制的片上系统。并且具有外围电路少,控制灵活方便,研发周期短等特点。
p2p机相关文章:p2p原理
评论