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

时间:2015-01-09来源:网络

  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个函数作简要介绍:

  

 

  

 

  function ImgZoom(Id)//重新设置图片大小 防止撑破表格 { var w = $(Id).width; var m = 650; if(w

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

  

 

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

  结 语

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

1 2

关键词: MicroBlaze GPIO FPGA

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版