×
嵌入式 > 技术百科 > 详情

基于NiosII的非一般模式类设备设计与集成

发布时间:2023-04-28 发布时间:
|

液晶显示器按其功能可分为笔段式和点矩阵式液晶显示器,后者又可以分为字符点阵式和图形点阵式液晶显示器。图形点阵式液晶显示器不仅可显示数字、字符等内容,还能显示汉字和任意图形。但此类液晶显示屏属于非一般模式类设备,在niosii中不能直接开发使用。 对于一个全新的外部设备,niosii有更好的解决方案快速的掌握它的控制方法。按照设备的电器要求,使用niosii的已有的基本控制设备(例如通用输入输出端口pio)掌握新设备的控制特性与方法。当充分理解新设备的特性后就可以按照niosii的硬件抽象层(hal)的定义方法,编写新设备的驱动将其集成到niosii中。这样在今后的开发中在sopcbuilder中就可以像其他设备一样增添这个新设备,niosii软核生成后会自动加载此设备的设备驱动。这样提高了新设备的二次使用时的开发效率。 以下是液晶屏显示模块接口的设计与集成过程。 液晶显示模块的设计 液晶显示简介 gm12864a 是带显示存储器的图形液晶显示器。它的内部是由两块ks0108b作为列显示控制器和一片ks0107b作为行显示控制器组成。显示屏上各像素点的显示状态与显示存储器的各位相互对应,显示存储器的数据直接作为图形显示的驱动信号。显示数据为“1”,相应的像素点变亮。液晶屏结构如图1所示。

图1液晶屏gm12864a的结构图pio类的介绍 设计初始阶段主要的目的在于充分了解新设备的特性与控制方法,为之后的设备集成打好基础。因此采用通用的输入输出控制接口(pio)直接对液晶屏的引脚进行控制。niosii中pio分为三大类:输入(i)、输出(o)和三态(tri)。pio通过avalon总线与niosii相连接。如图2所示。

图2通用输入输出接口与niosii的连接接口的设计 在quartusii中新建一个工程,芯片类型选择cyclone1c6q240c8。设置画面如图3所示。

图3 芯片设置界面工程创建完成后在sopcbuilder中定制niosii处理器。液晶屏显示器驱动接口在设计初步作为普通的外部设备,用pio进行操作。所以为系统增添所需要的pio接口。设计完成后如图4所示。

图4 定制的niosii处理器结构定制结束后生成niosii处理器模块。生成后回到quartusii中进行系统顶层结构的设计。通过sopcbuilder生成的niosii模块需要一个时钟和一个复位输入端,输出与定制时所设计的一致。增添相应的输入输出引脚。顶层结构如图5所示。

图5液晶屏控制系统顶层结构将控制系统编译,液晶屏与芯片的接口连接电路如图6所示。

图6 液晶屏与fpga的接口电路液晶屏显示模块的hal集成 为了更好的对新外设进行高效二次开发,通过编写外设驱动并集成到hal中是最好的方法。这样可以更加方便的再次构件系统,有效降低开发周期,提高开发效率,降低开发难度。 开发外设并集成的开发流程如图7所示。

图7新设备集成hal流程对于新外部设备的hal集成流程是从设备功能角度出发并划分控制单元模块,因此使控制程序代码对设备无关,即外部设备细节控制对开发者是透明的,从而使代码具有更好的规范性和可移植性。当此设备处于不同的硬件配置的niosii系统时仍能正常工作。 结语 在alterafpga中使用软核处理器niosii可以将外部存储器、液晶显示屏、以太网控制器等外部设备连接在一起,进行外设的协调工作和数据共享。从而具有较高灵活性并且能适应变化较多的技术领域。 一个新的外部设备只要根据nios的内部规范编写驱动就可以集成到hal中,加强新设备的运行稳定性和二次使用的效率。另外,可以根据系统的需要添加多个niosii处理器实现“多内核”系统或者在niosii核中加入实时操作系统(rtos),实现多任务的调度。运用 altera的sopc技术可以高效快速的开发一个用户定制的片上系统。并且具有外围电路少,控制灵活方便,研发周期短等特点。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
NTMD6N03R2G的技术参数