基于STM32F407的TFT液晶控制器设计论文_邓焯伟

(广东美的制冷设备有限公司 广东佛山 528311)

摘要:为了解决工业机械控制现场TFT液晶显示的需求,利用32位单片机STM32F407作为主控芯片,同时结合RGB接口的显示控制器芯片,并配置有SPI 接口Flash存储,利用轻量型嵌入式操作系统,实现了一款TFT液晶控制器。

关键词:单片机;STM32F407;TFT液晶;嵌入式操作系统

在工业领域中,各种控制、显示、采集、通信需求都有。尤其在显示方面,因为TFT液晶屏能显示更多的内容,所以采用TFT液晶显示屏替代传统的字符显示或段码显示,使满足工业控制系统下的各种信息输出。但由于工业控制系统的工作环境比较复杂,在多种设备同时运行的环境下,充斥着各种电磁干扰,所以应用的液晶控制器必须可靠性高。而对于液晶控制器的设计,方案有两大类,一类是利用单片机内部的LCD控制器直接驱动液晶,另一类是单片机通过外部的液晶控制器驱动液晶。本文采用第二类方案,利用STM32F407作为主要微控制器,结合晶门公司的SSD1963显示控制芯片,主控芯片搭载2MB的SPI Flash用于数据储存,软件设计方面利用轻量型的操作系统uC/OS-II实现多任务处理,方便控制器功能的添加,成功地设计出一款TFT液晶控制器。

1 硬件设计

TFT液晶控制器的实现离不开MCU的选型,而ST公司的产品在市场上应用很广,技术文档完整,开发资源丰富,在开发周期上大大缩减了时间成本,旗下有STM8和STM32系列,考虑到后续的功能扩展问题,本文选用STM32F407进行设计。在液晶方面,液晶接口有RGB,LVDS,MIPI,eDP等多种接口,但是RGB是最常用的,LVDS和MIPI等接口多用于移动设备,所以本文选择RGB接口的4.3寸TFT-LCD。由于本文选择的STM32F407内部不具备液晶控制器,所以在微控制器和TFT液晶之间还需要搭载一款显示控制芯片,用于信号转换和数据传输。

本文采用ST公司STM32系列的STM32F407作为主要微控制器,通过IO口连接SSD1963显示控制芯片,并通过STM32F407的SPI总线外接SPI Flash,通过IIC外接TP屏。其中STM32F407以ARMCortex-M4内核为基础,工作频率最高达168MHz,片内资源非常丰富,具备两路USB,拥有IIS接口,可以实现音频功能,其中通信接口多达15个,可以满足工业现场的控制和数据存储等多种用途,本文只讨论实现液晶控制方面的功能;SSD1963是一款拥有1215k字节帧缓冲的显示控制器,最高支持864×480×24位图形内容,在不同总线宽度下,通过并行接口接收来自单片机的图形数据和命令,并能通过PWM信号控制液晶背光亮度,单片机可对其配置为6800模式或8080模式,适用于驱动4.3寸RGB接口的液晶屏;SPI 接口Flash用于存储工业现场的采集数据、控制器的运行参数;STM32F407通过IIC接口外接一块自带触摸驱动的TP,既简化了设计,也利于在工业环境等多干扰的环境下工作,避免误触发,可替代弹簧按键,方便用户与控制器进行人机交互。另外,保留Jtag接口,可以连接JLink等类型的调试器,用于调试和修改控制器程序,DB9接口利用max232芯片,使ttl信号转换成232信号,用于与上位机通信,输出调试信息等。系统设计框图如图1所示:

图1 液晶控制器系统框图

液晶控制电路部分细分成三部分,分别是RGB数据接口、背光驱动、液晶供电电路。其中为了提高可靠性和抗干扰性,这里不使用SSD1963中PWM控制液晶背光,把背光驱动独立出来。

STM32F407通过并行接口方式访问显示控制器SSD1963,并行模式的接口包含:DATA[0:23]、WR、RD、CS、CONF等管脚。其中CONF引脚接到电源3.3V是配置为8080模式,CONF引脚接GND则工作在6800模式,该接口使用了24位的数据总线DATA[0:23]。SSD1963需外接10M晶振,可通过软件配置PLL使工作时钟达到100MHz。

4.3寸液晶显示屏的背光驱动电路如图2,利用了ETA1617升压芯片是5v电压上升,达到液晶背光需要的电压,具体的升压电压值需要结合液晶的数据手册进行设计,此电路通过MCU的IO进行PWM控制,实现液晶背光调节。

液晶需要正常显示,除收到正确的数据外,还必须保证液晶本身供电正常,此处提供了另一个升压电路,具体电压值需根据液晶手册设计合理的VGH和VGL电压,本文选用的液晶VGH=+15V,VGL=-7V

软件设计方面的难点在于SSD1963驱动的编写和uC/OS-II的移植使用。SSD1963的驱动包括写命令和写数据两部分,所以必须通过IO时序的方式实现写命令函数WrCmd()和写数据函数WrData()。初始化SSD1963的步骤包括配置PLL时钟(命令0xE2)、液晶扫描周期(命令0xB4和0xB6)、液晶显示区域 (命令0xD4)

uC/OS-II由Micrium公司提供,是一个可移植、可固化的、可裁剪的、抢占式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片。本液晶控制器主要用到以下服务:任务管理、时间管理、信号量,消息队列。其中任务管理用于创建液晶显示、TP读写、UART通信、数据存储四个任务;而信号量用于任务间的消息传递,如液晶控制器通过UART通信任务与上位机通信中发生了数据交换,需要把新数据保存下来,则利用信号量触发数据存储的执行;时间管理用于任务的挂起时间设定,如液晶显示挂起时间为50ms,TP读写为100ms;消息队列用于处理UART的数据。

对于液晶控制器而言,液晶显示的任务是主要任务,为了画面刷新及时,此任务优先级设置为最高等级,且挂起时间较短。在任务创建前,执行SSD1963初始化函数,使SSD1963准备工作,待执行任务调度后,在定时周期内,定时执行液晶显示任务,在液晶显示任务中,不断的对SSD1963写入新的数据,达到刷新画面的效果。

3 结论

本TFT液晶控制器,基于STM32F407平台进行设计,利用SSD1963显示控制芯片,加上独立的液晶供电和背光驱动电路,增强了抗干扰和兼容性,并同时利用了uC/OS-II操作系统,方便应用的扩展和维护,能很好的用于工业控制环境。

参考文献:

[1]李殿勋.基于工业用途的单片机多功能实验系统设计与分析.2013.

[2]刘红波.单片机与液晶控制器的接口设计.2016.

[3]梁军龙.基于STM32F407的永磁同步电机伺服控制器设计.2014.

论文作者:邓焯伟

论文发表刊物:《电力设备》2018年第12期

论文发表时间:2018/8/9

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于STM32F407的TFT液晶控制器设计论文_邓焯伟
下载Doc文档

猜你喜欢