APP下载

基于STM32的光伏显控触摸屏设计

2018-11-07张昱刘春莉谭港港杨晓娅

电脑知识与技术 2018年21期

张昱 刘春莉 谭港港 杨晓娅

摘要:为了满足光伏产品独特的显示效果,本文以STM32ZET6控制芯片为内核,应用FSMC驱动的TFTLCD触摸屏,移植了μC/OS-Ⅱ,完成了一种用于光伏产品的显控触摸屏的设计。本文介绍了光伏平台的软件和硬件结构,和各模块的运行方式,并通过自主编写程序调试,调试结果为该系统可以满足用户需求。

关键词:光伏;STM32;FSMC;TFTLCD

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)21-0289-02

1 引言

随着能源问题的日益突出,人们对太阳能的需求变得更加迫切,太阳能属于可再生能源,清洁环保。经济的快速發展迫切需求对新能源、可再生能源进行研究、开发和利用[1]。但是现有的光伏系统大多采用电脑来实现控制,这使得控制过程变得复杂,控制成本大大提高。

目前液晶产品在电子器件领域的应用范围越来越广泛,液晶产品可以用于图片和文字显示。TFTLCD在校准之后用作光伏系统的触摸屏。本设计以STM32为内核处理器,TFTLCD作为显示屏,并且移植了μC/OS-II操作体系,可以实现多任务的模式,可满足光伏系统采集数据多,信息量大的需求,实现采集电流、电压、频率、功率因数、输出功率等数据的功能,用户只需在触摸屏上简单地操作就可以完成对各种数据的采集和控制,实现人机交互。

2 总体方案

本文以STM32F103ZE芯片为控制核心,主要负责数据的运算,传输和对触摸屏反馈过来的信息进行处理。采用FMSC直接驱动TFTLCD,相比于用普通I/O口驱动TFTLCD显示屏效率更高。TFTLCD负责操作界面中菜单的显示,提供光伏信息采集的选项。本设计移植μC/OS-II操作系统,实现多任务的控制模式[2]。图片和汉字的呈现使用图片解码软件和汉字取模软件转换成各自对应的16进制数[3],然后由内部FLASH的读写显示出来。系统框架如图1所示。

3 TFTLCD设计

显示屏采取分辨率为320×240规格为2.8寸的液晶屏幕,由控制器ILI9320控制,该控制器自身带有显存,显存量为18位模式,相当于26万色下的显存量,显存以565的方式与模块的16位数据线相对应。

控制芯片上的GRAM的每个存储单元与显示屏上的像素点一一对应[4]。通过芯片内部的控制电路把GRAM中存储单元的内容转化为显示屏上的点的控制信号,使得每个像素点能显示各自的颜色,显示界面有这些点组合而成。液晶驱动芯片的硬件接口采取16位数据线,该模块的80并口信号线有片选信号线CS,命令/数据标志线RS,硬复位线RST,写入数据线WR,读入数据线RD,16位双向数据线D[15:0]。ILI9320主要负责控制信号线和配置引脚,常用的控制指令有读/写操作指令R0,入口模式命令R3,显示控制命令R7,读数据到GRAM命令R34。

3.1 FMSC简介

FSMC是静态存储控制器,STM32的FSMC可以支持PSRAM、NAND FLASH、SRAM、NOR FLASH等存储器芯片。TFTLCD的信号有D0~D15、WR、RS、CS、RD、BL、RST等,对TFTLCD的操作用到的只有D0~D15、WR、RS、CS、RD,而外部的SRAM控制的包含数据线、地址线、写信号、读信号、片选信号,因此SRAM的控制与TFTLCD操作时序很是相似。FSMC的存储快由4块大小为4×64MB的存储块组成,本设计用到其中一块支持NOR/PSRAM的存储器,其地址为60000000h~6FFFFFFFh。

3.2 内部FLASH使用

STM32的内部FLASH是一个用于存储代码的存储器,内部FLASH的代码首先要在电脑上完成编程,然后经由下载线下载到FLASH中,内部FLASH存储的信息掉电后不会丢失。本设计所使用的开发版的内部FLASH为大容量产品,容量为512K。STM32闪存模块的组成部分为主存储器、闪存存储器接口寄存器和信息块。本设计用到的汉字和图片需要用汉字取模软件和图片解码软件处理后生成对应的代码,然后添加到各自对应的头文件中,通过内部FLASH显示出来。

3.3 触摸屏设计

液晶产品所运用的触摸屏分为电阻屏和电容屏,本设计利用电阻屏作为触摸屏,优点有成本低,对外界彻底实现隔离,可以用任何物体对其触碰,触摸屏的精度由A/D转换的精度所决定,使用寿命比电容屏要长。电阻屏的控制方式是应用压力感应控制,其中第一层为底层,材料是玻璃或有机玻璃,第二层为隔层,第三层为多元树脂表层,表面涂有一层由透明金属氧化物组成的导电层,上面再盖有一层外表面平滑坚固的塑料层。在多元脂表层外面的传导层及玻璃层感应器是被大部分细小的透明隔离点所隔开,当表层被按下,底层被接触,手指的间隔由控制器从四个角读出的电流计算出来。当用户的手指接触电阻屏时,两个导电层在手指触屏的地方相互接触,内部的电阻值发生变化。触摸屏控制器接收来自X轴和Y轴方向上的信号,然后推算出触碰点的坐标,再根据计算出的坐标点模拟鼠标的工作方式[5]。

4 操作系统

4.1 μC/OS-II简介

μC/OS-II是一种抢占式的硬实时内核,可实现多任务机制,具备高度的可移植性。在μC/OS-II中,任务控制块控制每一个任务,控制块是一个庞大的数据结构。多任务管理模式用意是让处理器在同一时段处理多个事物,通过充分利用处理器资源,比传统的流水线式的每个时段只处理一个事物的工作模式节省了大量的时间,处理器的效率因此大大提高。

μC/OS-II最多可以挂载64个任务,保留了用于扩展应用的最高4个优先级和最低4个优先级的一共8个任务。如果一个任务在执行时CPU碰到了中断,先是实行保护现场,然后对中断服务程序进行执行,在执行完后对现场进行复原,在原来的中断处继续进行代码执行,这就是μC/OS-II执行的原理。

4.2 μC/OS-II移植

移植操作主要涉及两部分,第一部分是一些头文件的增减。首先要移植μC/OS-II的源文件,就是把Source文件夹添加我们自己所建的工程中,把存放在Ports文件夹中的文件os_cpu.h,os_cpu_a.asm,,os_dbj.c,os_cup_c.c也添加进来。本项目用的是ST的大容量芯片,在stm32f10x.h中对STM32F10X_MD的注释进行取消。系统滴答时钟的设置主要是中断的配置,然后需要配置头文件os_cfg.h来对系统进行剪裁。另外对os_cpu.h,os_cpu_a.asm,os_cup_c.c这三个文件进行修改,为了兼容ST库os_cpu_a.asm中的OS_CPU_PendSVHandler改成PendSV_Handler,os_cup_c.c中关于SysTick中的相关定义需要被屏蔽,os_cpu.h中必须屏蔽几个函数声明,最后对任务进行创建。

5 结语

本文对光伏显控触摸屏系统的设计进行了探讨,详细分析了μC/OS-II的移植过程,所有的程序都在MDK的编译环境下调试通过。经过系统调试,方案具有可行性,TFTLCD显示正常,能实现多任务的操作模式,使用内部FLASH节省了外部硬件资源,可以在光伏领域广泛的应用,触摸屏的应用使得该设计更智能化,能满足用户的实际需求。

参考文献:

[1] 丁明,王伟胜,王秀丽,等.大规模光伏发电对电力系统影响综述[J].中国电机工程学报,2014,34(1):2-14.

[2] 孙波.基于STM32和μC/OS2的工程车辆显示终端设计[J].电视技术,2014,38(9):100-102.

[3] 柯艳明.点阵字符型液晶显示模块与单片机的接口及编程[J].福建电脑,2007(l):188-189.

[4] 汤莉莉,王伟.基于STM32的FSMC接口驱动TFT彩屏设计[J].现代电子技术,2013,36(20):139-144.

[5] 解辉.基于stm32自动气象站控制模块设计[J].电子测量技术,2014,37(7):107-110.

【通联编辑:光文玲】