基于Xilinx Spatan3 Starter Board实现液晶驱动程序的设计

时间:2025-04-26  作者:Diven  阅读:0

作者:张开锋,肖山竹,陆静芳

基于Xilinx Spatan3 Starter Board实现液晶驱动程序的设计

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)。

图中接口信号说明如下:

①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所示。

3 液晶显示模块

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

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

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

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

本设计中采用了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个函数作简要介绍:

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

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

结 语

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

猜您喜欢

在现代工业和建筑领域,测堵仪作为重要的检测工具,应用于管道、排水系统等场所。测堵仪的种类繁多,主要可以分为机械式和电子式两大类。机械式测堵仪通常通过物理原理进行...
2020-06-23 00:00:00

现代科技日益发展的今天,各种配件的需求也越来越高。其中,"Accessories_12.3X5.05MM_SM"作为特定规格的配件,受到了关...
2025-04-20 20:01:45

专用电缆组件是指为特定应用或环境设计和制造的电缆系统,通常包括电缆、连接器、保护装置和其附件。这些组件经过精心选择和组合,以确保在特定条件下的最佳性能和安全性。...
2013-04-27 00:00:00

您是否还在为电动自行车半路没电而烦恼?是否担心原装充电器损坏后难以找到合适的替代品?一款高效稳定的DC转换器,将彻底解决您的后顾之忧,让您尽享骑行乐趣。这款DC...
2023-12-20 00:00:00

激光驱动是利用激光技术来实现特定功能或效果的方式。其基本定义是通过激光的高能量密度和精准的光束特性,来激发、控制或改变物质的状态。激光驱动应用于科学研究、医疗、...
2023-01-08 00:00:00

金属管件接头在管道工程中是非常重要的配件,不同类型的接头具有各自的特点和适用场景。焊接接头是通过焊接工艺将管件连接在一起,具有良好的强度和密封性,适合高压和高温...
2025-06-11 00:00:00

音频变压器作为音频设备中的重要组成部分,其参数直接影响音质和性能。变压器的输入阻抗和输出阻抗是关键参数,决定了信号的匹配程度。通常,输入阻抗应与音源的输出阻抗相...
2010-02-22 00:00:00

贴片电阻上标注「1•0」代表其阻值为1欧姆。这个小圆点「•」其实是欧姆的符号「Ω」的简化版,在小型贴片电阻上很常见,用来节省空间。 所以,您不必担心,这并不是什...
2024-11-26 11:29:43

测电笔是常用的电气工具,主要用于检测电压的存在与否。外形通常为细长的笔状,便于携带和操作。测电笔的工作原理是通过感应电场来判断电源的状态。当测电笔的尖端接触到带...
2025-08-27 00:00:00

LED驱动器是LED照明系统中非常重要的组成部分,其主要功能是为LED提供稳定的电流和电压,以确保其正常工作和延长使用寿命。根据不同的应用需求,LED驱动器可以...
2013-10-10 00:00:00