基于STM32F429的嵌入式显示控制系统设计.doc
基于STM32F429的嵌入式显示控制系统设计
基于STM32F429的嵌入式显示控制系统设计
摘要:为满足航电产品对显示控制系统的个性需求,本项目以STM32F4微控制器为核心,搭载了实时要求高、启动速度快、内核精简的UC/OS操作系统,集成了通用性、可移植性强的UC/GUI图形系统,完成了一种专用显示控制系统方案设计。文章阐述了系统平台的软硬件架构,介绍了各模块接口的特点,并通过自主编写的某航电设备应用程序,验证了系统平台的可行性,测试结果表明,该系统启动速度快,显示稳定,性能可靠,实用性强。
关键词:显示控制系统;STM32;Cortex-M4;UC/OS;UC/GUI.
高性能TFT液晶显示控制系统方案作为电子产品设计开发的重要组成部分,在航电、机载舰载等国防设备上的应用也越加广泛。启动快、稳定、可靠、方便移植的显示控制系统方案,对国防产品的总体水平有较大推进作用。意法半导体STM32F429系列微处理器集成ARMCortex-M4内核,带FPU功能,主频180MHZ,片内Flash大小为2MB,片内SRAM大小为256+4KB,内置的LCD-TFT显示控制器和DMA-2D图形加速器,使高品质的图形显示界面成为可能。本文基于STM32F429处理器,完成了显示控制系统的软硬件架构设计,为增强系统移植和升级可操作性,系统软件集成了UC/OS-III操作系统,UC/GUI图形系统,目前已在航电产品上初步验证了本平台方案的可行性,显示效果理想。本文主要介绍系统平台的软硬件架构和各模块特点,系统移植要点,并通过自主编写的某航电设备应用程序,验证系统平台的可行性。
1系统硬件结构
显控平台嵌入式系统拟用于航电设备显示控制器,实现设备信息的人机交互。系统架构如图1所示,主芯片型号STM32F429,用USART2作为调试串口与PC通信;通过USART1串口与主控系统通讯,完成电台、罗盘、高度表等接口设备的信息收集;主芯片通过UART接口与LCM交互控制信息,通过RGB接口传输LTDC控制器图形数据,显示相应状态到液晶显示(LCM)控制面板;通过按键输入实现接口设备工作模式和参数配置;使用FMC接口管理SDRAM,为DMA2D图形加速模块提供内存需求。
2系统软件结构
系统软件结构如图2所示,软件设计包括驱动BSP设计、UC/OS-III操作系统集成、UC/GUI图形系统集成、APP设计4个部分。驱动部分主要包括LCM、SDRAM、串口、按键等外设模块;操作系统集成方便多任务管理,有利于硬件平台升级;图形系统的集成为应用程序图形界面开发提供标准接
式,按照LCM通信协议,驱动模块需要为上层提供封装好的功能函数API接口。视频信号驱动原理类似常用的C518080总线,点时钟驱动,在控制信号的相互配合下,按顺序把数据写入液晶屏。不同型号LCM模块,其时序控制和时钟等参数是不同的,因此,对LCD-TFT控制器HSYNCandVSYNCwidth,HBP,HFP,VBP,VFP等时序参数及时钟配置,需要根据具体的LCM设备要求来设置。
3.2SDRAM模块设计
使用UC/GUI和DMA2D加速控制器模块后,需要为LTDC模块分配图形缓存空间,LTDC入口如果采用ARGB8888模式,每Pixel需要占用4字节内存,最小存储空间需要640×480×4=1,228,800Byte。如果采用2个图层,需要占用存储2.5MB左右,因此,使用内部RAM的方法不可取,必须扩张外部SDRAM。存储接口建立后,用户对图形的操作,相当于写相应的SDRAM存储。LTDC控制模块通过读取映射的SDRAM地址,实现对LCD图形接口的控制。
本方案选用SDRAM芯片型号为MT48LC8M16A2P-75。存储大小为8M×16bit=128Mbit,12位地址线,16位数据线,控制线有CLK,CKE,CS,WE,CAS,RAS,BA0,BA1。主芯片STM32F4x9支持2片SDRAM,分别是NE1和NE2,本方案选用SDNE1接口。
3.3内部FLASH模块设计
主芯片内部FLASH大小为2MB,UC/OS和UC/GUI系统集成后,程序烧写约占用0.5MB空间,在控制中文字库大小的基础上,内部FLASH有足够空间用于存储平台参数,因此,外部扩展FLASH的方案可以暂时保留。为实现内部FLASH保存参数的功能,底层需要为应用层提供读写接口。内部FLASH共24个扇区,为防止用户参数功能和主程序存储使用的冲突,如果该功能被使能,必须保证BIN文件烧写占用的空间小于1920KB(2MB~128KB),否则需要考虑扩展外部FLASH的方案。3.4串口模块设计