APP下载

基于FM33LG048微控制单元外围电路的设计与功能验证

2023-02-19周智勇叶庆红王超群

电子制作 2023年3期
关键词:主控板低电平显示屏

周智勇,叶庆红,王超群

(上海航天能源股份有限公司,上海, 201112)

0 引言

Real Time-Thread (RT-Thread)是一种国产的包括线程管理、调度管理、中断管理和系统时钟管理的实时操作系统,广泛被学者引用学习[1~3]。文献[4]采用功能分离机制,在STM32L431上实现RT-Thread的移植并将可执行二进制程序和用户程序分开下载到闪存。文献[5]基于实时多线程系统,设计一种水下潜航器,并进行通信测试,实现了RT-Thread操作系统的驱动移植和调试运行。在文献[6]中,将Cortex-M3内核与特定的变换加速模块相结合,设计可用于数字信号预处理的专用处理器,简单高效。在文献[7]中,设计了物联网多传感器数据采集系统,有效地实现了灾害的预警处理。然而聚焦于嵌入式实时操作系统与MCU及其外围电路功能实现的文献却很少出现。

文章探讨物联网仪表板载PCB嵌入式MCU及其外围电路的设计和功能验证。行文思路首先是对外围电路及功能验证所用到的部分软、硬件作简要介绍(如表1所示);其次是对燃气仪表主控板MCU及其电源切换、74LS148编码器等外围电路的设计;最后使用检测板对主控板设计的电路逐一进行功能验证。本文的贡献如下:

(1)电源切换设计可满足主控板多元化供电需求、引入74LS148优先编码器判断传感器或开关量的状态、各功能状态可在LCD显示屏直观展出,电流表可通过继电器触头接入,用以判断MCU在低功耗模式下主控板电源的功耗。

(2)对照图17所示功能验证流程,用检测板对生产的仪表主控板功能进行检测,功能异常可快速定位,提高生产效率。

1 系统组成

系统的部分软、硬件及其作用如表1所示。图1为系统的硬件连接,图2是图1的抽象结构图。主控板包含MCU及其外围电路,烧录有验证程序的检测板对主控板的电源控制、串口收发等功能进行验证,转接板用于传感器及开关量的电平测试。

表1 系统软、硬件

图1 系统硬件连接

图2 抽象结构图

2 MCU外围电路设计

■2.1 电源切换和电流表接入设计

为满足嵌入式燃气仪表的供电电源需求,设计有市电经开关电源整流为直流5V或者电池3.6V供电。当继电器触头K1、K2均向上拨时,此时仪表主控板由电池电源+3.6V供电;当继电器触头K1向下拨、K2向上拨时,此时仪表主控板由外接电源+5V供电;当继电器触头K1、K2均向下拨时,AMP_IN接入3.6V,AMP_OUT为低电平,接入电流表,用以判断是否满足低功耗要求。通过switch()语句设置GPIO_k1、GPIO_k2的高低电平来控制继电器触头K1、K2的拨向。切换控制图如3所示。

■2.2 复位、晶振及下载电路设计

复位电路可使MCU回到初始状态,若缺少复位电路可能使得MCU中RAM、FLASH、计数器、中断等程序的错乱[8~9]。图4中,MCU采用低电位RC复位电路,开关S1按下时,RESET电位被拉低;松开时, RESET电位上升,实现复位。

图4 MCU复位

对于FM33LG048MCU而言,芯片内包含32kHz低频晶体振荡电路、最高36MHz高频振荡器、32kHz低功耗内部环振、512kHz低频环振和一个锁相环。调试时,内部晶振设置为12MHz,接入到MCU的晶振电路如图5所示。

图5 晶振电路

程序烧录时选择J-LINK调试器,与MCU接口连接电路如图6所示。

图6 下载电路

■2.3 ADC转换设计

ADC,即将模拟量转变为数字量,分为采样、量化、编码等过程[10~11]。由于该MCU内部集成了AD转换模块,所以只需要在MCU的输入模拟量引脚进行采样,然后在需要的数字量输出设置测试点即可。本文需要进行ADC转换的引脚有ADC_MCU、ADC_VDD_4G、ADC_SENSOR6、ADC_SENSOR5、ADC_SENSOR4、ADC_SENSOR3、ADC_SENSOR2、ADC_SENSOR1,转换电路如图7所示(给出了ADC_SENSOR1,剩余传感器的转换同理)。

图7 MCU的外部ADC转换电路图

■2.4 UART

UART,用于串口异步收发,是系统中各电路模块通讯的“桥梁”[12]。UART有8种工作方式,如表2所示。为简单起见,本文UART配置为工作方式0,波特为115200。

表2 UART工作方式

图8为两路UART交互示意图,由图可知,若要实现主从UART的串口通信,必须满足:

图8 UART之间的交互

(1) 主机端(仪表的MCU)通过UART1发送的指令从机端(串口指令接收端)要能够接收到,并且从机端能对接收到的指令做出反馈,通过UART2发送反馈指令;

(2) 主机端能够接收到从机端发来的反馈指令,以确保主机、从机端的发送和接收均为正常。

■2.5 MCU外围LCD显示电路设计

图9为MCU与LCD的连接示意图,LCD显示使用I2C协议,要使显示屏正常显示,片选端CS需置为低电平[13]。

图9 LCD显示电路

读数据时,字符有可能是中文或其他ASCII码支持的形式。若存在中文时,首先应将可能需要展示的中文字体库列出,以便显示屏显示不出现乱码。需要注意的是,显示屏所支持的最大行数为4,当显示行数大于4时,需要考虑翻页,具体为:

(1) 需要展示的行数为m,每页支持的最大行数为n;若m <= n,则pages = 1,即用一页就可展示;

(2) 若m > n,m%n == 0,则pages = m/n;

(3) 若m > n,(m%n) != 0,则pages = m/n + 1。

显示屏的翻页如图10所示。

图10 显示屏翻页

■2.6 MCU外围编码器电路设计

工业用燃气仪表的工作环境在室外,需要众多传感器采集不同的参数。该仪表含有用六个传感器接口(三个用于采集压力、温度、流量等,其余均为备用接口),并使用3片74LS148判断传感器IO接口及信号量的状态。为便于对传感器的检测,将传感器的引脚转接到外部转接板。在图11中,A0、A1、A2为编码器的输出端(低电平有效),管脚0~7为编码器的输入端(低电平有效),EI端低电平有效。根据编码器真值表,传感器及开关量状态判断方法如下:

图11 第一片74LS148编码器电路

(1)首先将传感器数字量输入端引脚的GPIO引脚配置为输出高电平模式;

(2)将编码器的输出端A0A1A2输出全为高电平的情况下,再将传感器各IO口配置为低电平,查看编码功能是否完好;

(3)若三个编码器的A0A1A2端均为低电平时,则传感器的IO口正常;

(4)异常判断:

在(2)和(3)的条件下,若三个编码器中,有一个编码器的A0A1A2端全为高电平时,则可判断为传感器1异常(100)或传感器2异常(010)或传感器3异常(001);

在(2)和(3)的条件下,若三个编码器中,有两个编码器的A0A1A2端全为高电平时,则可判断为传感器4异常(110)或传感器5异常(101)或传感器6异常(011);

在(2)和(3)的条件下,若三个编码器的A0A1A2端全为高电平时,则可判断为开关量异常。

3 功能验证分析

本部分用检测板对MCU外围电路进行功能验证,具体为:

(1) 检测主控板是否安装到工装上;

(2) 电源切换为3.6V,检测ADC_MCU的3.3V工作电压,如果异常将不再进行后续步骤,如图12所示;

图12 MCU电源检测

(3) 检测通讯串口功能,由检测板发送字符串“test uart”,与主控板发送内容是否一致进行对比,等待主控板返回信息“uart ok”,超时时间为2s。否则返回“uart error”,停止检测后续步骤,如图13所示;

图13 串口通讯检测

(4) 检测LCD显示功能,由检测板发送字符串“test display”,用外层for循环遍历显示屏要显示的行数,执行写命令;内层for循环遍历显示屏要显示的列数,执行写数据,在执行到的行、列地址处是否打印黑点,如果是返回“display ok”,超时时间为2s。否则返回“display error”,停止检测后续步骤,图10为正常显示需要打印的黑点;

(5) 检测板发送指令“test flash”,主控板接收到指令后开始对外部flash进行检测。烧录特定数据并读取,若烧录的数据与读取的数据一致,则外部flash正常,返回“flash ok”,超时时间为2s。否则返回“flash error”,停止检测后续步骤,如图14所示;

图14 flash检测

(6) 传感器IO口检测,检测板发送指令“test sensor”,先检测传感器的所有引脚是不是低电平,如果是返回“sensor ok”,并根据真值表在显示屏显示相应传感器状态,超时时间为2s。否则返回“sensor error”,停止检测后续步骤,如图10所示;

(7) 低功耗检测,调用power_switch()使图3中的K1、K2均向下拨。主控板发送指令“test low_power”,MCU进入休眠状态之前发送反馈“in sleep”,切换到电流表等待稳定后,根据正确报文格式读取电流信息。由表3及图15可知,电源AMP_IN流经的电流为9微安(数据区),功耗P=(3.6V)×(9μA)=32.4μW,满足低功耗(要求100μW以内),发送反馈“low_power ok”,否则发送反馈“low_power error”,检测结束,如图16所示。(1)~ (7)验证流程如图17所示。

图3 切换控制图

图15 报文信息

图17 功能验证流程图

表3 从设备在缓存中正确报文格式

图16 低功耗检测

4 结论

本文以FM33LG048MCU为例,介绍了物联网仪表板载PCB的MCU及其电源切换、74LS148编码器等外围电路。在Keil μVision5开发环境下,用检测板对主控板串口、LCD显示、flash、传感器I/O、低功耗各功能模块进行验证,且均为ok状态。主控板在低功耗工作模式下的功耗为32.4μW,小于百微瓦的最大功耗。生产过程中,按图17验证流程,如出现异常可在LCD中快速定位,为嵌入式燃气仪表的生产与检测提供依据。

猜你喜欢

主控板低电平显示屏
数字电路中“逻辑非”的用法辨析
一种快速可靠的主控冗余及切换机制的设计与实现
一块布就是一个显示屏?
铁道车辆高/低电平信号智能发生器设计
苍蝇迷恋显示屏
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
升级双主控板交换机ISO
变频器检测台的设计、制作及主控板的维修
未来五年LED显示屏出货将保持16%增长
基于AT89S52的手势可控LED滚动显示屏设计