APP下载

基于STM32F407的液晶控制器设计

2015-09-21黄杰勇何冬电子科技大学中山学院电子信息学院中山5840广东长宝信息科技股份有限公司中山58400

现代计算机 2015年10期
关键词:液晶屏原理图液晶

黄杰勇,何冬(.电子科技大学中山学院电子信息学院,中山 5840;.广东长宝信息科技股份有限公司,中山 58400)

基于STM32F407的液晶控制器设计

黄杰勇1,何冬2
(1.电子科技大学中山学院电子信息学院,中山 528402;2.广东长宝信息科技股份有限公司,中山 528400)

0 引言

现阶段,很多工业机械控制都使用彩色液晶屏(TFT-LCD)作为显示器,它具有重量轻、体积小、色彩度高等优点,本文介绍以STM32F407为主控核心,配以显示控制器芯片的一款4.3寸液晶控制器设计。

1 系统设计

1.1方案对比

现在液晶控制器主要有两种设计方案:单片机+ FPGA/CPLD和单片机+显示控制芯片。

第一种方案的特点在于控制器完全由FPGA/ CPLD构造逻辑,无须额外的硬件资源,采用FPGA实现,优点在于FPGA片内集成了PLL,能解决在控制逻辑上时序问题。因为液晶屏控制逻辑实现需要读写各3个状态,即6个状态,假设刷新率定为60Hz时,则一个时钟信号需要30ns,那么外部时钟需要选择200MHz的晶振才能实现显示功能。FPGA片内的PLL可以解决此问题。CPLD不集成片内PLL,所以需要片外很高的时钟才能解决高刷新率。在工业环境下,CPLD高时钟输入容易受到外部环境的电磁干扰,FPGA程序储存在片外ROM,保密性不强。

第二种方案的特点是控制器逻辑由独立控制芯片实现,需要根据芯片提供的访问模式进行操作,软件开发难度不大。抗干扰性和保密性优于第一种方案,但灵活性不如第一种方案。

由于工业环境复杂,一般情况下都存在自然因素或者人为因素产生的电磁干扰。对比以上两种方案,本文设计的液晶控制器选择第二种方案:单片机+显示控制芯片。该方案另外一个优势在于方便移植嵌入式操作系统或者图形支持系统。

1.2系统设计框图

本方案采用 STM32F407作为主控芯片,配以SSD1963显示控制芯片,用于驱动4.3寸液晶屏,系统设计框图如图1所示。STM32F407微控制器以ARM Cortex-M4内核为基础,在现有STM32微控制器产品组合中新增了讯号处理功能,并提高了执行速度,工作频率为120/168MHz。SSD1963是1215k字节帧缓冲显示控制器,支持864×4480×424位图形内容,配有不同宽度并行接口总线来接收图形数据和命令从单片机。它的显示界面支持常见的内存更少的液晶驱动器,每一像素的颜色深度可达24比特,单片机接口可配置为6800模式或8080模式。本控制器配有片外NAND Flash(128M×48bit),用于图片存放。配有触摸屏接口,用于用户外部数据输入。

图1 液晶控制器系统框图

1.3硬件设计

硬件原理图主要由STM32F407通过FSMC总线连接片外 NAND Flash和 8080接口方式访问SSD1963,SSD1963显示控制接口原理图如图2所示。本控制器8080型的接口包含:DATA[0:23]、S_WR、S_RD、S_RS、S_CS。其中conf引脚接到3.3V是配置SSD1963为8080模式,该接口使用了24位的数据总线,S_WR定义一个写周期和S_RD定义一个读周期,如果S_WR变低时,S_CS信号为低,在S_WR上升边缘数据或命令将被锁入系统,同样读周期将开始在S_RD变低和S_RD上升沿结束。

4.3寸屏的背景灯光由LED升压型DC/DC转换器PT4101以恒流方式驱动,PT4101的开关频率典型为1.25MHz,104mV反馈电压可降低能量损耗,还包含限流功能和输出断路保护,可防止因输出过载或断路而导致的损坏。触摸屏控制采用ADS7843芯片,该芯片是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。

STM32F407与上位机通信接口原理图如图3所示。R5、R6的作用用于选择串口通信或者是74HC86异或门。串口通信是与上位机常用的通信方式,主要由发送和接收信号组成。74HC86异或门在本通信接口里实现信号选择,相对串口通信,增加了两个信号:I/O检测和BUSY检测。本控制器增加异或门作为另一种通信方式的主要作用在于多种协议选择,增加控制协议的保密性。

图2 SSD1963显示控制接口原理图

图3 上位机通信接口原理图

2 软件实现

本液晶控制器软件架构如图4所示。硬件驱动层主要实现STM32F407的I/O配置和NAND Flash、液晶屏、触摸屏、RTC、串口、LED等驱动。在硬件驱动层上移植了μC/OS-II嵌入式操作系统,应用层则实现与上位机的通信协议、控制LCD协议以及绘图、点击动作的解释。

图4 液晶控制器软件架构框图

2.1μC/OS-II移植

μC/OS-II是一款可移植,可植入ROM,可裁剪,抢占式的实时多任务操作系统内核,广泛应用于微控制器、微处理器和数字信号处理器。

本控制器的μC/OS-II主要用到以下4个功能:任务配置、任务调度,任务同步,消息循环。任务配置的方法如下:

·定义任务优先级;

·定义任务堆栈大小;

·外部任务主函数定义;

·任务堆栈定义;

·在任务列表中添加任务项。

具体任务块定义如下:

typedef struct_RTOS_TaskBlock_{

unsigned short ID;

unsigned charPrio;

OS_STK*TaskStk;

unsigned intTaskStkSize;

void(*TaskFunc)(void*);

void*StartParam;

}RTOS_TaskBlock,*RTOS_TaskBlockPtr;

主函数,主要用于创建任务,没有逻辑操作,例如创建一个任务,这个任务专门用来更新界面,另一个任务专门用来处理触屏。每个任务,看成是一个独立的循环,就像多个main函数在独自工作一样,因为它们都彼此相对独立,一旦有些情况需要选择协同操作时,就需要用到消息系统,互相通知来实现任务同步。本系统嵌入了μC/OS-II,使得调试程序变得简单。

2.2操作液晶屏协议

本控制器的操作液晶屏的协议在应用层实现。协议格式如表1所示。

表1 操作液晶屏协议

协议中帧头、握手帧、数据帧定义如下:

//帧头部分

Typedef struct_BS_LCDX_PROTOCOL_DW_BASEFRAMEHEAD_{unsigned char CmdType;//指令类型

}BS_LCDX_Protocol_DW_BaseFrameHead, *BS_LCDX_ Protocol_DW_BaseFrameHeadPtr;

//握手帧

typedef struct_BS_LCDX_PROTOCOL_DW_HANDSHAKE_FRAME_{BS_LCDX_Protocol_DW_BaseFrameHead FrameHead;

}BS_LCDX_Protocol_DW_HandShake_Frame,*BS_LCDX _Protocol_DW_HandShake_FramePtr;

//数据帧

typedefstruct_BS_LCDX_PROTOCOL_DW_SETDISPMEN_FRAME_{BS_LCDX_Protocol_DW_BaseFrameHeadFrameHead;

int Address;

int DataLength;

unsigned char Data[512];

}BS_LCDX_Protocol_DW_SetDispMem_Frame,*BS_LCDX _Protocol_DW_SetDispMem_FramePtr;

3 结语

本液晶控制器主要用于工业控制器的人机交互系统,硬件调试效果图如图5所示。控制器采用单片机+显示控制芯片实现,同时嵌入了μC/OS-II操作系统,非常适合于工业环境。

图5 硬件调试效果图

[1]张小平,宁跃,周明辉,胡升平.基于FPGA的液晶控制器设计[J].计算机测量与控制,2005

[2]李彤,刘艳萍,王铁宏.基于FPGA的液晶控制器研究 [J].北京航天工业学院学报,2009

[3]刘波.单片机与液晶控制器的接口设计[J].机械工程与自动化,2006.8

[4]刘繁明,王振鹏,张孟禹.SSD1963驱动RGB接口LCD的设计与实现[J].应用科技,2014

[5]任哲,房红征.嵌入式实时操作系统μC/OS-II原理及应用(第3版)[M].北京航空航天大学出版,2014

STM32F407;Controller;Display Control;Embedded Operating System

Design of Liquid Crystal Device Controller Based on STM32F407

HUANG Jie-yong1,HE Dong2
(1.Institute of Electronic Information,Zhongshan College,University of Electronic Science and Technology,Zhongshan 528402 2.Guangdong Chanbo Information Technology Co.,Ltd.,Zhongshan 52840)

1007-1423(2015)10-0066-04

10.3969/j.issn.1007-1423.2015.10.019

黄杰勇(1983-),男,广东中山人,硕士,实验师,研究方向为嵌入式系统的应用研究

2015-03-05

2015-03-13

液晶显示屏在工业领域应用广泛,工业控制系统的工作环境比较复杂,一般情况下都存在自然因素或者人为因素产生的电磁干扰。对目前常用液晶控制器设计的方案进行对比分析,提出基于STM32的液晶控制器设计,采用单片机+显示控制芯片的设计方法。单片机采用STM32F407作为主控芯片,配以SSD1963显示控制芯片,并配置128M*8bit的片外Flash用于图片储存。软件系统设计移植嵌入式操作系统μC/OS-II,进行多任务处理,成功设计一款液晶控制器。

STM32F407;控制器;显示控制;嵌入式操作系统

电子科技大学中山学院教学质量工程建设项目(No.JY201410)

何冬(1985-),男,广东广州人,学士,工程师,研究方向为嵌入式软件系统应用、大数据分析处理

Liquid crystal display is widely used in the industrial field since the working environment,the industrial control system is complex with electromagnetic interference generated by natural or human factors in general.Based on comparative analysis of the current commonly used liquid crystal controller design scheme,puts forward the design of LCD controller based on STM32,uses SCM+display control chip design method.MCU STM32F407 is used as main control chip,with SSD1963 display control chip,and the configuration of the 128M*8bit chip Flash is used for image storage.The design of software system transplants the embedded operating system μC/OS-II for multitasking to make a LCD controller successfully design.

猜你喜欢

液晶屏原理图液晶
不可压液晶方程组的Serrin解
基于STM32F4的多通道串口驱动TFT液晶屏显示系统设计
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
废旧液晶六屏显示改造项目的设计与实现
一种消除液晶屏高温MURA的工艺研究
基于单片机的点餐系统硬件设计
基于机器视觉的液晶屏字符缺陷检测系统设计
维修电工线路板的接线技巧分析