APP下载

基于组态设计的车用RGB-LED触控实验系统

2021-11-01万国春司玉栋童美松

实验室研究与探索 2021年9期
关键词:微控制器组态串口

万国春, 司玉栋, 童美松

(同济大学电子与信息工程学院,上海 201804)

0 引 言

通过红绿蓝三基色混合实现调色调光,RGB-LED越来越被广泛地用于汽车电子行业,例如氛围灯场景,用以满足内饰要求[1]。传统的RGB-LED 控制方式包括车内按钮按键、中控台等方式,存在成本较高、使用不便、缺乏体验感等短处。触摸串口屏具备响应速度高、性能稳定和易于维护的特点[2],结合组态设计可以精简功能开发,提供良好的人机操作界面,使交互性大大提升。

本文结合组态设计思想和嵌入式开发,利用串口通信和LIN原理完成触控指令到RGB-LED 的控制数据定义,基于PWM 实现调色效果。系统面向汽车电子领域,开发的触控系统不仅有助于培养学生技能而且具有一定的实用价值。

1 实验系统

本系统包括串口屏、微控制器模块和RGB-LED模块。系统总体方案是首先对串口屏完成组态设计,提供人机操作界面(HMI),微控制器模块接收来自串口屏的触控指令后进行指令解析,经LIN 协议端口转发至PWM恒流驱动模块,输出占空比不同的三基色通道驱动信号,实现RGB-LED的调光调色。

其中串口屏组态设计面向显示区和触摸区,触摸区实现16 种常用颜色触摸点亮、占空比和亮度输入点亮;显示区则实现对应占空比数据显示。组态设计基于变量存储器的规划,完成后触控操作和串口指令实现绑定;微控制器模块包括中断模块和串口/LIN接口模块,中断模块接收串口数据进入中断解析服务,经LIN协议端口转发;RGB-LED 模块包括PWM 恒流驱动模块和灯头。基于组态设计的车用RGB-LED 触控实验系统结构框图如图1 所示。

图1 实验系统结构框图

1.1 串口屏组态设计

串口屏组态设计的主要内容是人机交互界面的制作和控件配置,最终实现触控和参数指示功能。

选择DMT10600T102_07WT 电容式触摸串口屏,即DGUS屏。软硬件开发体系如图2 所示,串口屏采用直接变量驱动显示方式,所有的显示和操作基于预先设置好的变量配置文件[3],支持文本、图标、图形的TFT驱动显示。人机交互界面使用组态软件进行变量规划和具体的控件定义,生成13.bin、14.bin、22.bin文件和config.txt文件,通过SD卡下载工程。

图2 系统软硬件开发体系框图

串口屏包含FLASH、寄存器、变量存储器和曲线缓冲区4 类存储空间。其中变量存储器大小为56 KB,地址为0x0000 ~0x6FFF,为用户自定义变量开发所使用,服务显示变量和格式控制需求。

由于串口屏的工作模式和界面状态完全由数据变量控制,因此串口指令只需要对变量进行读、写即可,指令集一共有5 条指令,即0x80、0x81、0x82、0x83、0x84指令,分别对应对寄存器写、寄存器读、变量存储器写、变量存储器读和曲线缓冲区写操作,基本实现了用户“零代码”完成触摸屏人机交互[4]。串口指令结构如图3 所示。

图3 串口指令结构

系统实现16 种常用颜色触摸点亮、占空比和亮度输入点亮和参数显示功能。根据功能需求,定义帧头为5AA5,利用0x82、0x83 串口指令,即通过对变量存储器特定地址的数据进行读写操作,并配合组态软件实现开发。

具体地,首先制作人机交互页面,页面包括触摸区的常用颜色、占空比输入框、亮度输入框和对应参数显示框。其中,常用颜色利用“同步数据返回”控件进行设置,定义为触摸色块则通过串口发送变量存储器规划地址内存储的数据,这里规划地址为0x000 ~00x000F,对应地址存储数据为字符00 ~FF。占空比和亮度输入控制和显示则利用“变量数据录入”和“数据变量显示”控件联合设置,定义为输入有效数据后显示并发送“5A A5 06 83 00 XX 01 00 YY”的串口指令,指令中XX是30、31、32、33 之一,对应字符0、1、2、3,用来区分三基色和亮度,YY 即输入的具体数据。另外地址和功能标号可以在系统初始化时显示。

HMI组态设计界面如图4 所示,串口屏组态设计完成后变量地址和数据分配如表1 所示。

表1 变量地址和数据分配

图4 HMI组态设计界面

1.2 微控制器模块设计

模块选择Kinetis EA MCU,其内部架构如图5 所示,集成了低功耗Cortex-M0 +内核和嵌入式闪存,系统外设包括电源管理模块、内外振荡器、低压检测、WDG、单周期GPIO 和位操作引擎[5],并且具有支持LIN协议的UART 接口,脉冲宽度计时器和按键中断模块。

图5 Kinetis EA MCU内部架构

LIN是一种基于UART/SCI的低成本开放式串行通讯总线,是对包括CAN总线在内的多种汽车网络的补充[6]。报文包括报头与响应两部分,主机负责发送报头,从机接收报头并对所含信息进行解析,然后决定是否发送应答。一个完整的LIN 信息帧包括间隔场、同步场、标识符场、数据场以及校验和场[7],帧的结构如图6 所示。其中标识符场包括6 位帧ID 和2 位奇偶校验位,帧ID标识了帧的类别和目的地,从机据此作出接收/发送/忽略应答动作。根据帧ID 的不同可以将帧分为信号携带帧、诊断帧和保留帧[8]。

图6 LIN帧的结构

本实验系统利用Kinetis EA64 串行接口1,即UART1 接收串口屏数据,UART1_BUF 串口缓冲区暂存数据,MCU主芯片解析收到的触控指令后通过RxD_LIN和TxD_LIN引脚经附设的LIN 通信收发器转发至RGB-LED模块。

微控制器附设LIN通信收发器电路图设计如图7所示,其核心MC33662LEF 是一款专门用于汽车LIN子总线应用的物理层组件[9]。同时,通过LIN 描述文件(LDF)自定义使用帧ID =15,PID =55 的信号携带帧点亮RGB-LED。点灯时,恒流驱动模块通过PWM方波调节占空比来控制LED快速地闪烁点亮,由于人眼具有视觉惰性,当PWM 的频率足够高,人眼无法察觉闪烁[10-12]。

图7 微控制器附设LIN通信接口电路图

1.3 RGB-LED模块设计

PWM恒流驱动模块选择MLX81108 芯片,LRTB GVSG灯头。芯片内部集成了LIN 收发器和控制器、稳压器、16 位微控制器,支持16 位电流调制以及LED色彩与老化补偿,具备LIN自动配置功能。

模块核心电路原理图如图8 所示,该模块接收微控制器模块发出的LIN信号之后,连接RGB-LED灯头的芯片HV0、HV1、HV2 引脚将输出三基色通道驱动电流完成点灯。三基色通道驱动电流大小通过PWM调制设定。

图8 RGB-LED模块核心电路图

2 实验系统软件设计

软件设计包括微控制器模块和RGB-LED 模块的软件设计,目的是微控制器模块可以实现串口屏数据的接收、解析和转发,RGB-LED模块可以实现PWM驱动点灯。微控制器模块的软件设计流程如图9 所示。首先进行CLK、UART、LIN 初始化,完成系统时钟、串口、LIN 通信的基本设置,然后对LIN 进度表设置,确定事件触发帧和诊断帧两种消息格式和相应的帧ID,之后开启UART1 中断,完成地址初始化显示,进入中断等待阶段。

图9 微控制器模块软件流程图

根据串口屏组态设计的结果,触控指令与预定格式的串口指令相对应。当串口屏触摸区被触摸即发出组态设计时的串口指令,微控制器接收数据存入UART1_BUF数组,然后进行解析转发。具体过程:数组将存入以下两类5 种指令数据:00 ~FF和5A A5 06 83 00 XX 01 00 YY,其中第6 位XX 为30、31、32、33之一,也就是字符“0”“1”“2”“3”之一,而第9 位YY为具体数值。然后判断数组第1 位和XX,当第1 位判得00 ~FF时执行16 种常用颜色点亮;判断XX为“3”时进行亮度调整,YY 就是亮度值,如果是“0”“1”“2”,YY就是RGB具体值,实现三基色调光。

微控制器模块软件设计完成后,即可从串口屏触控数据中提取出三基色和亮度值4 个量,最后通过LIN口发给RGB-LED 模块,通过PWM 驱动。RGBLED模块的软件设计较为简单,其流程图如10 所示。

图10 RGB-LED模块软件流程图

3 实验系统效果

系统各模块完成电性连接并上电后,串口屏HMI正常显示,可以进行触控操作,系统预期功能实现,整体实物图如11 所示。开始进行系统功能测试,首先16 种常用颜色点亮测试,其中绿色点亮效果如图12所示。

图11 系统整体实物图

图12 绿色点灯

三基色和亮度输入点灯测试中,颜色和亮度设置框内分别输入255、0、0、52,即希望点亮红灯,亮度为52。此时,串口成功收到触摸屏四条指令,如图13 中红绿蓝黄矩形框中的指令分别为三基色和亮度控制指令,每条指令最后一位即为输入数值的16 进制表示,即FF、00、00、34,实测结果为成功点亮,如图14 所示。

图13 三基色和亮度输入时发送的指令

图14 三基色和亮度输入点灯

4 结 语

本实验基于组态设计和Kinetis EA 微控制器模块构建了面向车用RGB-LED 的触控系统。实验涉及串口屏组态设计、嵌入式开发、PWM 的三基色调色等知识,同时对于学生熟悉UART通信协议、LIN通信协议的基本运用有更加深刻的理解。另外本实验实现的触控系统采用了车规级芯片和在汽车领域广泛应用的LIN协议,数据传输稳定可靠,有利于升级维护,对于实际应用也有一定价值。

猜你喜欢

微控制器组态串口
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
基于PLC及组态技术的恒温控制系统开发探讨
TASKING针对英飞凌第三代AURIX微控制器推出多核开发环境
基于EM9000工控板高性能双串口通信模型设计与实现
用于高品质电动汽车的分布式并行计算
基于PLC和组态的智能电动拧紧系统
船舶电子设备串口数据的软件共享方法
铸造行业三维组态软件的应用
基于PLC和组态的新型回转类测试设备的研制