基于STM32F429的嵌入式显示控制系统设计

2016-06-01 16:56胡泽华
无线互联科技 2016年8期
关键词:航电串口应用程序

胡泽华

摘 要:为满足航电产品对显示控制系统的个性需求,本项目以STM32F4微控制器为核心,搭载了实时要求高、启动速度快、内核精简的UC/OS操作系统,集成了通用性、可移植性强的UC/GUI图形系统,完成了一种专用显示控制系统方案设计。文章阐述了系统平台的软硬件架构,介绍了各模块接口的特点,并通过自主编写的某航电设备应用程序,验证了系统平台的可行性,测试结果表明,该系统启动速度快,显示稳定,性能可靠,实用性强。

关键词:显示控制系统;STM32;Cortex-M4;UC/OS;UC/GUI.

高性能TFT液晶显示控制系统方案作为电子产品设计开发的重要组成部分,在航电、机载舰载等国防设备上的应用也越加广泛。启动快、稳定、可靠、方便移植的显示控制系统方案,对国防产品的总体水平有较大推进作用。意法半导体STM32F429系列微处理器集成ARM Cortex-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、串口、按键等外设模块;操作系统集成方便多任务管理,有利于硬件平台升级;图形系统的集成为应用程序图形界面开发提供标准接口,在应用程序移植方面的帮助较大;APP设计是根据用户具体需求,编制信息显示和参数管理界面,为用户提供清晰的数据信息和便捷的控制方式。

3 BSP设计

显控系统BSP外设驱动设计主要包括LCM、SDRAM、串口、按键KEY等模块,除了外设驱动,为提升图形显示效果,开启了DMA2D图形加速模块功能;同时,为实现电台等设备的参数存储功能,本方案预留了内部FLASH最后一个扇区(第23区)128KB空间用于保存参数,并为应用程序提供读写接口函数,主要接口特性如下。

3.1 LCM液晶模块设计

本方案选用LCM液晶模块型号LCM050VA07,液晶显示模块分辨率为640×480,采用RGB666并行18bit接口,该模块符合GJB150-1986军用设备环境试验要求,满足低温贮存、低温工作、高温贮存、高温工作、温度冲击、温度-高度、加速度、冲击、振动、霉菌、盐雾等环境要求,符合航电产品要求。

LTDC模块支持24bit RGB控制模式,本方案LCM接口为18bit。因此,引脚只需要高6位即可,图层支持2个,LTDC控制模块可以满足LCM模块驱动要求。本方案采用的LCM模块,除了LCD-RGB图形数据接口外,还提供了自检、加热、亮度设置、昼夜模式等可控功能,遵循标准的RS232通信方式,按照LCM通信协议,驱动模块需要为上层提供封装好的功能函数API接口。视频信号驱动原理类似常用的C51 8080总线,点时钟驱动,在控制信号的相互配合下,按顺序把数据写入液晶屏。不同型号LCM模块,其时序控制和时钟等参数是不同的,因此,对LCD-TFT控制器HSYNC and VSYNC width,HBP,HFP,VBP,VFP等时序参数及时钟配置,需要根据具体的LCM设备要求来设置。

3.2 SDRAM模块设计

使用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 串口模块设计

STM32F429主芯片提供了8个同步异步串口,串口的调用,首先是串口初始化,包括硬件、引脚参数配置、中断配置等。初始化完成后,串口通过读写功能函数交互信息,读写可通过中断方式触发,写串口时,通过调用发送接口函数,将待传信息打包到指定结构体,使能中断,当发送条件满足时,触发中断函数执行信息的发送。同理,需要接受串口信息时,先调用读函数入口,准备缓存空间和SIZE,调用接收接口函数,打包信息,使能中断,当底层检测到有信息被接受时,会触发接收中断函数,进行信息的接收;接收完成后,可以根据用户的需要,对接重写的回调函数,对接收的信息进行处理。

3.5 键盘模块设计

当目标设备按键数量不多时,可以考虑用中断的方法来实现按键设计。由于本案需要用到12个按键,并且有多个旋钮开关,因此,键盘模块使用行列扫描的方法来实现,3×4的矩阵键盘,可以满足本案需求;在uC/OS的任务管理器调度基础上,为矩阵键盘单独开启一个任务,每200ms扫描一次键盘即可,经实际验证,效果理想。

4 系统软件移植

UC/OS系统是基于优先级的可抢占式硬实时内核,包括任务调度、任务管理、时间管理、内存管理和任务间通信与同步等基本功能。UC/OS-III移植需要重点检查Ports的3个文件:os_cpu.h,os_cpu_c.c,os_cpu_a.asm,这3个文件中,os_ cpu.h文件是与处理器和编译相关的代码,os_cpu_c.c是用C语言编写的与操作系统相关的函数,os_cpu_a.asm是用汇编语言编写的与处理器相关的函数。

UC/GUI图形系统的集成是为了给应用程序提供友好和标准的接口,方便应用程序图形界面的开发和移植。该系统具有开源、占用资源少、高性能、高可靠性、可移植、可配置等特点。该系统移植主要针对CONFIG文件进行配置,主要涉及系统接口和驱动配置文件,为适应个性化的LCD硬件,主要修改GUIConf.h和LCDConf.h文件,如果是触摸屏,需要修改GUITouchConf.h文件。另外,显示器需要支持中文输出,需要集成中文字库。

5 应用软件设计及测试效果

显控系统拟用于航电设备的显示控制器,操作系统和图形系统集成到系统平台后,结合驱动部分提供的按键和LCM控制功能接口,可以非常方便的实现人机交互控制程序,开发出满足用户需求的应用程序。本显控系统方案已在航电设备项目上初步验证,程序内核精简,编译总大小可控制在1.2MB以内,系统启动速度快,整个启动过程在1秒内完成,性能稳定,各项环境测试符合要求;开发初期的试验效果理想,实际测试效果如图3所示。

6 结语

本设计实现了一种基于STM32F429平台的显示控制系统,利用串口实现与主控板的信息交互,监控各设备的状态信息,与常见的Linux,VxWorks系统相比,本方案具有启动时间快、内核精简、性能稳定、移植方便等优点;系统移植了UC/GUI图形系统,标准图形接口的使用,有利于硬件平台的更新升级。本方案适用于环境要求比较高的专业平台,拟用于航电设备,为航电设备的显示控制提供个性支持。同时,本文对应用STM32F4系列平台搭建嵌入式显示控制系统具有一定的参考价值。

[参考文献]

[1]邵青.基于STM32F4x9的LCD显示设计方案[J].单片机与嵌入式系统应用,2014(6):82-83.

[2]廖义奎.ARM Cortex-M4嵌入式实战开发精解[M].北京:北京航空航天大学出版社,2013.

Design of Embedded Display Control System Based on STM32F429

Hu Zehua

(Guangzhou Haige Communications Group Incorprated Company, Guangzhou 510000, China)

Abstract: In order to meet the individual needs of display control system in the avionics products, we designed a special platform which use the stm32f4 micro controller as the core, equipped with UC/OS operating system that is high real-time, fast boot, streamline kernel, integrated the universal and transplantable UC/GUI graphics system. This paper introduced the software and hardware architecture, and the characteristics of each module interface. Through the special application of avionics equipment, the feasibility of the system be verified. The test results show that the system has fast starting speed, stable and reliable performance and strong practicability.

Key words: display control system; STM32; Cortex-M4; UC/OS; UC/GUI

猜你喜欢
航电串口应用程序
浅谈AB PLC串口跟RFID传感器的通讯应用
删除Win10中自带的应用程序
民用飞机航电系统虚拟教学资源建设
谷歌禁止加密货币应用程序
某型无人直升机航电舱热设计优化
航电枢纽清污系统改造
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
基于并行控制的FPGA多串口拓展实现
株洲航电枢纽增效扩容浅析