基于STM32的EMS液晶显示触摸屏设计方案

发布者:真瓷堂最新更新时间:2021-06-28 来源: eefocus关键字:STM32  EMS  液晶显示  触摸屏 手机看文章 扫描二维码
随时随地手机看文章

0 引 言


电动车一直以清洁环保而备受关注,加上能源危机加剧、油价不断上涨,电动车也越来越受到用户的青睐。电动车一般采用锂电池供电,由多个单体电池串联成电池组作为动力电源。但由于各个串联单体电池特性不能保证完全一致,因此相同的电流下充电放电速度也会不同,如果不进行均衡干预,电池寿命会大大缩短,因此需要实时监控各个单体电池的状态、总电压、总电流,根据状态适时进行电池充放电均衡,并且充放电均衡时,均衡状态也要实时进行检测,所以就有了电动车电池能量管理系统(EMS)。实践证明EMS可以有效延长电动车电池使用寿命,是电动车中十分重要的管理系统。


EMS主要包括:信息采集模块、充放电均衡模块、信息集中处理模块以及显示模块。图1为自主研发的电动车电池能量管理系统(EMS)的结构图,其中信息采集模块主要完成实时采集电池组以及单体电池的电压、温度、电流等状态,对电池进行实时监控的同时也为均衡模块的开启与关闭提供依据。均衡模块主要完成对电池特性差异进行补偿,根据采集模块采集来的信息判断电池状态,对单节电池进行充放电均衡,来实现状态特性一致。信息集中处理模块负责将采集得到的数据进行处理、分析、计算(如SOC等),并监控均衡模块的工作,对其进行控制,同时与显示模块通信,在整个系统中起着承上启下的作用。显示模块作为唯一的人机交互接口,不仅承担着将所有数据、以及设备状态实时地显示给用户,让用户能够直观地看到电池状态和EMS工作效果,而且还为用户与EMS的控制交流提供接口,可以让用户设置参数,更改EMS工作状态,达到实时监管和控制的目的。如果没有显示模块人们就无法看到电池和EMS的信息,EMS的报警或提示信息无法通知到客户,一些报警状态得不到及时处理轻则造成电池损坏,重则会导致电动车工作失控,酿成严重事故。同样客户也无法根据情况来调整和控制EMS,也不能完全发挥EMS的作用。可见显示模块的人机交互功能是EMS中不可或缺的组成部分,从显示模块所需的功能看触摸屏是不错的选择。但如果购买市面上的触摸屏,不仅显示内容会受触摸屏本身显示功能固定的限制而降低显示设计的灵活度、影响显示质量,并且市面上触摸屏的价格也普遍较高,给产品增加了很大一部分成本,这无疑会大大降低产品的市场竞争力。基于这种情况本文提出一种以STM32F103单片机为控制核心的比较通用的液晶触摸屏的设计方案。


图1 EMS结构框图


图1 EMS结构框图


1 触摸屏的种类及工作原理


触摸屏种类众多,可以分为电阻式、电容式、红外线式、声表面波式、矢量压力传感器等,其中电阻触摸屏使用最为普遍。触摸屏系统一般包括触摸屏控制器和触摸检测装置两个部分。其中,触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给微控制器,它同时能接收微控制器发来的命令并加以执行,触摸检测装置一般安装在显示器的前端,主要作用是检测用户的触摸位置,并传送给触摸屏控制器。触摸屏的基本原理是,用手指或其他物体触摸安装在显示器前端的触摸屏时,所触摸的位置(以坐标形式)由触摸屏控制器检测,并通过接口送到微控制器,从而确定输入的信息。其中触点坐标的求取方法是:如图2所示,给触摸屏的X+加正电压V,X-接地时,在X+,X-方向上会形成均匀的电压梯度,当屏幕有触摸时,可以通过读取Y+的电压,经过A/D转换后计算求得触摸点X坐标。同理,在Y+,Y-方向上加电压,可以通过X+上的值计算出触摸点Y坐标。计算坐标的公式如下:



式中,W 为触摸屏的宽度;H 为触摸屏的高度。


本方案采用的是四线电阻式触摸屏并且不使用专用的触摸屏控制器,直接由STM32F103控制以降低成本,如图2所示。


图2 四线电阻触摸屏示意图


图2 四线电阻触摸屏示意图




,很好地达到降低EMS成本的目标。


2.2 TFT液晶屏模块


本方案选用的是3.5寸的TFT液晶屏模块,工作电压3.3 V,最大工作电流70 mA.支持320×240分辨率,内置230K内存显示可到256K色,可显示文字和图形,采用LED背光设计,使用软件即可对背光亮度进行调节,内置简体中文字库,支持2D的BTE引擎,同时建几何图形加速引擎,可以对显示对象进行复杂的操作如画面旋转功能、卷动功能、图形Pattern、双层混合显示和文字放大等等。这些功能将可节省用户在TFT屏应用的开发时间,提升MCU软件的执行效率并且使画面更加绚丽,显示功能更加丰富,使显示屏显示能力大大增强。提供8位或16位总线接口,方便与MCU的连线,适应性强,连接设计灵活。


3 硬件连接设计方案


3.1 总体构架


液晶触摸显示屏系统主要由微控制器STM32F103F103、TFT液晶屏模块、四线电阻触摸屏以及与外界通信的CAN总线接口组成。硬件模块连接如图3所示,其中四线电阻触摸屏的触摸检测装置安装在TFT液晶屏前面用于检测用户触摸的位置,本方案利用STM32F103 自带A/D 转换功能,由STM32F103实现触摸屏控制器的功能来直接控制四线电阻触摸屏,检测触摸信息并计算出触点坐标。然后STM32F103通过I/O接口与TFT液晶屏模块通信,将处理好的有效信息通过TFT 液晶屏显示出来。由于STM32F103内置CAN 总线控制器所以CAN总线接口可以直接从STM32F103的管脚引出,用来与EMS进行通信,完成现实信息采集,设置参数等功能。


图3 方案总体框图


图3 方案总体框图


3.2 STM32F103F103与四线电阻触摸屏的接口电路


如图4所示,STM32F103F103与四线电阻触摸屏直接通过自身的I/O口连接,实现触摸屏控制器功能。其中PA8、PA9、PA10、PA11分别作为四个三极管的控制端,通过控制三极管通断,来控制四线触摸屏的Y+、Y-、X+、X-.PA1,PA2是两个A/D转换通道,分别连接Y+和X+用于计算触摸点的X和Y坐标。PA3连接内部中断用于检测触摸屏是否有触摸动作。触摸屏平时运行时,令PA8、PA9、PA11输出0,PA10=1,即只让VT2导通。当有触摸动作时,D1导通给PA3一个中断信号,STM32F103接收到中断请求后立即置PA8=1,导通VT1,这样在Y+、Y-方向上就加上电压,同时启动A/D转换通道PA2,通过输入X+上电压计算出触摸点的Y坐标,然后同理令PA8、PA10为0,PA9、PA11为1,启动A/D转换通道PA1,通过输入Y+上电压计算出触摸点X的坐标。


图4 STM32F103与四线电阻触摸屏接口电路




图4 STM32F103与四线电阻触摸屏接口电路








3.3 STM32F103F103与TFT液晶屏模块控制器的接口电路




如图5所示,STM32F103F103通过I/O 接口与TFT液晶模块相连接,虽然很多的TFT液晶模块中内置的液晶屏控制器都支持SPI 接口通信(如ILI9325)但由于SPI传输速度较慢不利于液晶数据的快速传输,因此很多液晶模块都选择采用并口通信。




其中PB0-PB15分别与D0-D15相连作为数据通信口,PA0、PA4、PA5、PA6、PA7 分别连接RESET、CS、RS、WR、RD,作为控制口,实现复位、片选、指令数据切换、读写等控制功能。




图5 STM32F103F103与TFT液晶模块接口电路


图5 STM32F103F103与TFT液晶模块接口电路


4 软件设计


软件部分的编程采用C语言,一方面主要完成STM32F103对I/O 管脚的配置,用来实现对四线电阻触摸屏端子状态的控制,通过中断方式检测是否有触摸信息,配置A/D转换通道,读入电压根据公式计算出触点坐标。另一方面主要完成通过与TFT液晶模块的通信控制,实现触摸点坐标与液晶屏坐标的对应并有效完成显示任务。软件的开发环境是MDK,MDK 将ARM 开发工具RealView DevelopmentSuite(简称为RVDS)的编译器RVCT与Keil的工程管理、调试仿真工具集成在一起,支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM 之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%.具体流程如图6所示。


图6 程序流程图


图6 程序流程图


5 结束语


本文提出了基于STM32F103F103单片机的EMS液晶显示触摸屏的设计方案。STM32F103F103的高速、低耗的优越性能完全可以达到触摸屏的主控制芯片要求,TFT液晶显示器可以满足更复杂、多彩、灵活的显示任务,符合显示屏性能不断攀升的发展趋势。本设计充分利用了STM32F103芯片的优势,抛弃了传统触摸屏控制器控制触摸屏的方案,利用自身A/D完成了触摸屏功能,本方案大大简化了硬件电路结构,通信更可靠,编程也更加简洁,最终既能达到EMS显示要求,出色地显示和设置了系统所需要的数据,又能降低系统的成本,通过实际使用达到了良好的效果。鉴于当前电动车的快速发展,本方案可以拥有不错的应用前景。


关键字:STM32  EMS  液晶显示  触摸屏 引用地址:基于STM32的EMS液晶显示触摸屏设计方案

上一篇:电动汽车快速充电机监控终端的设计
下一篇:基于STM32的带触摸屏的无线解说器

推荐阅读最新更新时间:2024-11-09 16:20

如何用STM32让相对编码器说话?
▍编码器的由来和原理 若要对伺服系统中的电机进行高精度控制,需要准确的转子角度位置,这时候自然会想到,如果能张江转子每一圈进行细分,这样每次转多少角度便能精确知道。在这样的背景下,相对编码器就诞生了。 在网上找到下文这个图,很形象的表征了相对编码器的原理。 如图所示,在码盘上平均开出很多个等间距的槽,一段是LED灯发出信号,另一端是接收器接收信号。如果信号能穿过码盘,则接收信号为高电平,反之则为低电平。这样当转子转起来以后,就不断的处高低电平。这就是编码器基本原理。 可以看到这里有三个信号,A/B/Z,这时候就要想为什么要3个信号呢?如果仅仅对一圈做细分,命名一个信号就可以了。这就涉及到下面两个问题。 (1)如果是1个信号
[单片机]
如何用<font color='red'>STM32</font>让相对编码器说话?
STM32单片机的原理详解 STM32时钟系统的配置方法
1.概述 时钟 是单片机的脉搏,是单片机的驱动源,使用任何一个外设都必须打开相应的时钟。这样的好处是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。 每个时钟 ti ck,系统都会处理一步数据,这样才能让工作不出现紊乱。 2.原理 首先,任何外设都需要时钟, 51单片机 , STM32 ,430等等,因为 寄存器 是由D触发器组成的,往触发器里面写东西,前提条件是有时钟输入。 51单片机不需要配置时钟,是因为一个时钟开了之后所有的功能都可以用了,而这个时钟是默认开启的,比如有一个水库,水库有很多个门,这些门默认是开启的,所以每个门都会出水,我们需要哪个门的水的时候可以直接用,
[单片机]
<font color='red'>STM32</font>单片机的原理详解 <font color='red'>STM32</font>时钟系统的配置方法
STM32基础之中断--外部中断
EXTI简介 EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的 19个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。 EXTI功能框图 输入线,EXTI 控制器有 19 个中断/事件输入线,这些输入线可以通过寄存器设置为任意一个 GPIO,也可以是一些外设的事件。输入线一般是存在电平变化的信号。 一个边沿检测电路,它会根据上升沿触发选择寄存(EXTI_RTSR)和下降沿触发选择寄存器(EXTI_FTS
[单片机]
<font color='red'>STM32</font>基础之中断--外部中断
STM32串口DMA问题详解
昨天晚上在STM32串口DMA的问题上纠结了好长时间,所以今天上午写篇博客来谈谈我对串口DMA发送的理解。 讨论三个问题: 1、什么叫串口DMA 请求; 2、串口简要复习; 3、串口DMA发送流程。 1、什么叫串口DMA 请求(战舰STM32开发板) 说这个问题之前先简单回顾DMA的基本特性。先导出原子哥的PPT内容: DMA 全称Direct Memory Access,即直接存储器访问。 DMA传输将数据从一个地址空间复制到另一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实现和完成的。 STM32有两个DMA控制器(DMA2只存在于大容量产品中),DMA1有7个通道,DMA2有5个通道,
[单片机]
<font color='red'>STM32</font>串口DMA问题详解
STM32基础13--直接存储器访问(DMA)
前言 DMA(Direct Memory Access,直接存储器访问) ,它就是字面的意思,直接的内存访问,不需要通过CPU即可对相关地址的内存进行直接访问。 这样子说有点抽象,不太容易理解,但是如果在学51单片机汇编,就知道当我们对某个值进行赋值操作时,是CPU使用MOV指令对某个地址赋值(MOV direct, XXX ,将XXX送入地址中的内存)。DMA的意思就是我们可以不通过CPU执行指令,直接通过DMA硬件进行数据的交互。 咋一看,好像也没啥作用,如果没有DMA在传输大量的数据时,CPU会忙碌的处理数据,没有执行其他指令,就会有系统被卡住了的感觉,所以在传输大量数据时,DMA可以减轻大大CPU的负担。 DM
[单片机]
<font color='red'>STM32</font>基础13--直接存储器访问(DMA)
STM32建立IAR开发环境
以前用IAR,正点原子提供的是MDK开发环境,我重新建立了一个IAR5.30工程,使用MDK库函数版本。拷贝MDK库函数版本工程到一个工程目录下就好了,见下图。几个icf文件要从其他地方考过来,不难的。startup_stm32f10x_hd.s文件要使用IAR格式的,在IAR安装目录中有MDK,GCC,IAR三种格式的,需要使用IAR格式。 IAR开发环境设置。 这里要选择FULL ,不然会出现FILE not found 的错误。 上面的红圈很重要,第一个是头文件目录,必须要设置,工程下所有用到的.h文件 第二个是宏定义,USE_STDPERIPH_DRIVER和STM32F10X_HD必须要添加,VECT_TAB_SRA
[单片机]
独立看门狗定义及使用场景
【认识STM32】 F1 代表了基础型,基于 Cortex-M3 内核,主频为72MHZ,F4 代表了高性能,基于 Cortex-M4 内核,主频 180M。 【GPIO外设】 一、GPIO的八种工作模式 1、上拉输入:IO口在无输入的情况下,保持高电平。 2、下拉输入:IO口在无输入的情况下,保持低电平。 3、浮空输入:浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。 4、模拟输入:输入信号不经施密特触发器直接接入,输入信号为模拟量而非数字量,其余输入方式输入数字量。 5、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个
[单片机]
独立看门狗定义及使用场景
STM32时钟系统介绍与总结
时钟树: 1. HSI振荡器时钟 The HSI clock signal is generated from an internal 8 MHz RC Oscillator and can be used directly as a system clock or divided by 2 to be used as PLL input. The HSI RC oscillator has the advantage of providing a clock source at low cost (no external components). It also has a faster startup time than
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved