基于MicroBlaze软核的液晶驱动程序设计

发布者:化羽2015最新更新时间:2010-01-22 来源: 张开锋 肖山竹 陆静芳关键字:MicroBlaze  液晶驱动程序 手机看文章 扫描二维码
随时随地手机看文章

  1 MicroBlaze的体系结构

  MicroBlaze采用功能强大的32位流水线结构,包含32个32位通用寄存器和1个可选的32位移位器,时钟频率可达150 MHz;在Virrex一4 FPGA上运行速率高达120 DMIPS,仅占用Virtex—II Pro FPGA中的950个逻辑单元。MicroBlaze软核的结构框图如图1所示。它具有以下基本特征:

  ①32个32位通用寄存器和2个专用寄存器(程序计数器和状态标志寄存器)。

  ②32位指令系统,支持3个操作数和2种寻址方式。

  ③分离的32位指令和数据总线,符合IBM的OPB总线规范(与外设相连接的低速总线)。

  ④通过本地存储器总线(LMB,本地高速总线)直接访问片内块存储器(BRAM)。

  ⑤具有高速的指令和数据缓存(cache),三级流水线结构(取址、译码、执行)。

  ⑥具有硬件调试模块(MDM)。

  ⑦带8个输入和8个输出快速链路接口(FSL)。

MicroBlaze软核的结构框图 

  图中接口信号说明如下:

  ①DOPB,器件内部的外围设备数据接口总线,用于处理器与片内的设备进行数据交换。

  ②DLMB,实现数据交换的本地块存储器总线。该总线为处理器内核与块存储器(BRAM)之间提供专用的高速数据交换通道。

  ③IOPB,用于实现外部程序存储器的总线接口。当程序较大时,需要外接大容量的存储器。该总线提供读取指令的通道。

  ④ILMB,用于取指令的本地存储器总线。该总线与器件内部的块存储器(BRAM)相连,实现高速的指令读取。

  ⑤MFSLO~7,主设备数据接口,提供点对点的通信通道。

  ⑥SFSLO~7,从设备数据接口,提供点对点的通信通道。

  2 MicroBlaze嵌入式开发工具EDK

  Xilinx公司提供了完善的嵌入式开发工具EDK(Em—bedded Development Kit)。EDK是Xilinx公司于2003年推出的SOPC(System On Programmable Chip)系统开发套件。该套件集成了丰富的开发工具和大量的IP核资源,其中集成的工具包括硬件平台生成器(PlatGen)、硬件仿真模型生成器(SimGen)、硬件调试工具(XMD)、软件库生成器(LibGen)、应用软件编译工具(GNU Compilers)、软件调试工具(GNU Debuggers)等;IP核资源包括LMB和OPB总线接口、外部存储器控制器(EMC)、SDRAM控制器、UART接口、中断控制器、定时器等。所有这些工具和资源都由EDK中的一个叫平台工作室XPS(XilinxPlatform Studio)的集成开发环境统一管理。XPS提供一个友好的图形用户界面(GUI),使用非常方便。设计流程如图2所示。

设计流程[page] 

  3 液晶显示模块

  MPG240128液晶模块为图形点阵式液晶,不仅可以显示数字、字符等内容,还可以显示汉字和任意图形。该模块的控制芯片为T6963C,与外部的连接只有8位数据线和6条控制线及电源。液晶模块引脚说明如表1所列。MCtJ只要通过这些数据线和控制线,按照相应的时序进行读写,即可实现对模块的显示控制。

液晶模块引脚说明 

  4 MicrOBlaze与液晶显示模块的接口

  由于本文采用的液晶模块已经自带了显示控制芯片T6963C,因此液晶模块的外围电路相对来说就比较简单,只要考虑和MicroBlaze的接口电路即可。本设计采用GPIO模拟液晶模块的时序,实现对液晶模块的显示控制。MicroBlaze和液晶模块的接口电路如图3所示。

MicroBlaze和液晶模块的接口电路

  在EDK开发套件的XPS集成开发环境下进行系统硬件设计。在其界面环境下,添加所需IP核,进行系统连接和各项参数设置。利用平台产生器,根据硬件描述文件(.MHS文件),生成嵌入式系统子模块的网表文件(.NGC),然后调用Xilinx的综合工具XST进行综合,从而构成整个应用系统的硬件模型。[page]

  本设计中采用了GPIO对液晶模块进行控制。EDK提供了一系列API函数,通过这些函数可以很方便地对GPIO进行操作。下面先介绍2个函数:

程序 

  其中,InstancePtr是指针,指向要控制的GPIO的基地址;Channel为通道值,选0或1。这两个函数只对Mask中对应位为1的位有影响,比如,XGpio_DiscreteSet(&lcd240128,1,Ox00000001)将LCl3240128_pin置1,而不影响其他位;同理,XGpio_DiscteteClear(&1cd240128,1,0x00000001)将LCD240128_pin<0>置0,而不影响其他位。为了增强程序的可读性,增加了8个宏定义:#define wr_high()XGpio_DiscreteSet(&lcd240128,1,Ox00000800),#define wr_low()XGpio_DiscreteClear(&1cd240128,l,0x00000800),其他6个同理可推知。有了这2个函数,就可以很方便地编写出写命令和写数据函数了。下面对这2个函数作简要介绍:

程序 

程序[page] 

  液晶显示图形和字符都是由点阵组成的,因此,在液晶上显示一个像素点是显示图形和字符的基础。下面将单像素点显示函数介绍如下:

程序 

  有了单像素点显示函数,就可以很方便地编写出字符显示函数和图形显示函数了。限于篇幅,这里不作介绍。

  结 语

  本设计已在Xilinx Spatan3 Starter Board上进行了验证,取得了良好的效果。通过本设计的实现可以看出,MicroBlaze是一个功能强大、应用灵活的嵌入式软处理器,特别是其强大的用户自定义逻辑功能,极大地方便了系统设计。可以预见,基于嵌入式软处理器的SOPC开发方法,必将拥有广阔的应用前景。

关键字:MicroBlaze  液晶驱动程序 引用地址:基于MicroBlaze软核的液晶驱动程序设计

上一篇:ADI:DSP的未来将会朝集成化、多核化发展
下一篇:基于USB的ARINC429总线接口模块设计

推荐阅读最新更新时间:2024-05-02 20:59

STM32 控制lcm液晶ILI9341驱动的液晶驱动程序(续)
在做项目的过程中遇到了这个问题,感觉文章写得不错,共享给对FSMC的使用怀有疑惑的同伴们! LCD有如下控制线: CS:Chip Select片选,低电平有效 RS:Register Select寄存器选择 WR:Write写信号,低电平有效 RD:Read读信号,低电平有效 RESET:重启信号,低电平有效 DB0-DB15:数据线 假如这些线,全部用普通IO口控制。根据LCD控制芯片手册(大部分控制芯片时序差不多): 如果情况如下: DB0-DB15的IO全部为1(表示数据0xff),也可以为其他任意值,这里以0xff为例。 CS为0(表示选上芯片,CS拉低时,芯片对传入的数据才会有效) RS为1(表示DB0-15上传递的是
[单片机]
基于MicroBlaze的AXI总线实时时钟IP核设计
引言   MicroBlaze是可以嵌入到FPGA中的RISC处理器软核,具有运行速度快、占用资源少、可配置性强等优点,广泛应用于通信、军事、高端消费市场等领域。Xilinx公司的MicroBlaze 32位软处理器核是支持CoreConnect总线的标准外设集合。MicroBlaze处理器运行在150 MHz时钟下,适合设计针对网络、电信、数据通信和消费市场的复杂嵌入式系统。     AXI是ARM公司提出的AMBA3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。AXI 总线技术不但使片上系统面积更小功耗更低,同时还获得了更加优异的性能。AXI 能达到这样的技术指标的一个主要原因,就是它的单向通道体系
[嵌入式]
满足嵌入式系统应用的多核处理器SoC设计
  随着嵌入式处理需求的快速增长,系统架构正朝着多处理器设计的方向发展,以解决单处理器系统复杂度太高和计算能力不足的问题。凭借其高逻辑密度及高性能硬模块,新一代FPGA已经使功能强大的芯片多处理(CMP)解决方案成为现实。目前的挑战在于如何在该解决方案的范畴内快速完成设计的开发与创建。   赛灵思嵌入式开发套件(EDK)工具和IP具有很大的灵活性,用户可以利用它们以FPGA逻辑为基础设计出独具特色的定制多处理解决方案,从而同时满足价格和性能目标要求。本文将主要介绍以PowerPC和MicroBlaze嵌入式处理器为基础的赛灵思解决方案中的多处理概念。    应用领域   性能和功能划分是设计多处理器系统的主要动力。总的来说,
[嵌入式]
满足嵌入式系统应用的多核处理器SoC设计
基于microblaze的手持示波函数表
  一、项目概述   1.1 引言   示波器自1933年诞生至今已经有70多年的历史。它是电子电路设计人员用来观察波形的主要工具,它可以让设计人员直观的看到所要观测到的波形。因此,示波器在信号观测领域一直都扮演着非常重要的角色。传统的模拟示波器信号带宽频率受到阴极射线管的限制而不可能太高,难以测量慢速信号或单次瞬变信号,预触发功能难以实现和不便对波形数据进行数字处理分析等等,因而在许多应用领域中存在着局限性。随着科学技术的飞速发展,单次信号的捕捉,测量和研究越来越受到人们的关注和重视,在信息领域、高速计算机、高速数据通信和高速数字集成电路及其系统内,面临着硬件、软件、以及由软硬件共同作用而产生的偶发性故障,迫切需要更高速的示
[电源管理]
89c52单片机仿真ILI9341液晶驱动程序
ILI9341的单片机仿真原理图如下 给各位做了参考.ILI9341 8位模式,16位色 ILI9341单片机源程序如下: //#include REGX52.H #include REGX55.H #include intrins.h #include map.h //#define RED 0XF800 //红色 //#define GREEN 0X07E0 //绿色 //#define BLUE 0X001F //蓝色 //#define WHITE 0XF785 //白色 #define DATA_H P2 #define D
[单片机]
89c52单片机仿真ILI9341<font color='red'>液晶</font>屏<font color='red'>驱动程序</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved