温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
FM33LG048
微控
外围
电路
设计
功能
验证
智勇
wwwele169com|3电子电路设计与方案0 引言Real Time-Thread(RT-Thread)是一种国产的包括线程管理、调度管理、中断管理和系统时钟管理的实时操作系统,广泛被学者引用学习13。文献 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 系统软、硬件 名称 作用(用途)软件Keil Vision5(MDK编译器)Altium Designer16 代码编写、调试及运行 检测板、主控板PCB绘制硬件工装壳体主控板、检测板万用表、示波器已移植RT-Thread的MCU外部PC机 为整个系统提供测试平台 MCU外围电路设计、功能验证 测量电参数、抓取波形 系统控制电路的核心 用于软件安装、工装壳体的通信连接 图 1 系统硬件连接MCU电源切换复位、晶振、下载ADC转换UARTLCD显示编码器主控板检测板开关电源24V220V外部PC电流表RXTX转接板主要用于对传感器及开关量电平的测试图 2 抽象结构图基于 FM33LG048 微控制单元外围电路的设计与功能验证周智勇,叶庆红,王超群(上海航天能源股份有限公司,上海,201112)基金项目:上海航天技术研究院系统专项基金项目资助课题(SAERD2021009);上海市工业互联网项目(2018-GYHLW-02030)。摘要:微控制单元(MCU)作为物联网仪表的核心控制部件,对它稳定、可靠的要求也越来越高。仪表印刷电路板如电源控制、串口收发、液晶显示(LCD)、传感器输入/输出(I/O)接口、闪存等功能由MCU及其外围电路的耦合实现。本文在Keil Vision5开发环境下,以主控板为载体,设计了以MCU为核心,包含电源切换、串口异步收发传输(UART)、LCD、74LS148编码器等外围电路。在检测板中烧录验证程序,通过调试,实现了主控板的MCU各外围电路的功能验证。结果表明,串口、LCD、传感器I/O接口、低功耗等各项功能均为ok状态,主控板电源在MCU处于低功耗模式下的功耗为32.4W,在百微瓦最大功耗要求范围内;LCD可快速定位检测正常与否,提高物联网仪表良品生产效率。关键词:MCU;外围电路;主控板;检测板;功能验证;低功耗DOI:10.16589/11-3571/tn.2023.03.0014|电子制作 2023 年 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 所示。void power_switch(uint8_t para)/外接电与电池供电的切换 switch(para)case 0:set_GPIO_k1(0);/设置 GPIO_k1 为低电平,3.6V 电池供电 break;case 1:set_GPIO_k1(1);/设置 GPIO_k1 为高电平,5V 外接电供电 break;case 2:set_GPIO_k2(0);/设置 GPIO_k2 为低电平,不接入电流表 break;case 3:set_GPIO_k2(1);/设置 GPIO_k2 为高电平,接入电流表 break;2.2 复位、晶振及下载电路设计复位电路可使 MCU 回到初始状态,若缺少复位电路可能使得MCU中RAM、FLASH、计数器、中断等程序的错乱89。图 4 中,MCU 采用低电位 RC 复位电路,开关 S1 按下时,RESET 电位被拉低;松开时,RESET 电位上升,实现复位。C29104/0805R4101/0805S1SW-PBGNDVCC_3.3VR310K/0805RESET 图 4 MCU 复位12Y132.768KHzC2630/0805C2530/0805XTALINXTALOUTGND 图 5 晶振电路对于 FM33LG048MCU 而言,芯片内包含 32kHz 低频晶体振荡电路、最高 36MHz 高频振荡器、32kHz 低功耗内部环振、512kHz 低频环振和一个锁相环。调试时,内部晶振设置为 12MHz,接入到 MCU 的晶振电路如图 5 所示。程序烧录时选择 J-LINK 调试器,与 MCU 接口连接电路如图 6 所示。TMGNDSWIO1235RESETJ1SWD-HDI6VCC_3.3VSWCLK 46 图 6 下载电路cbeQ1R101K1KR912345678K1Relay-DPDT+5VD8SS14GNDGNDGIPO_k1+5V+3.6VQ2S8050R121K1KR11D9SS14GIPO_k2+5V+3.6V227CC27GND227CC30+5V+5VAMP_INAMP_OUTV_BATTV_EXITC28104/0805C31104/080512345678K2Relay-DPDTGNDS8050ebc图 3 切换控制图wwwele169com|5电子电路设计与方案 2.3 ADC 转换设计ADC,即将模拟量转变为数字量,分为采样、量化、编码等过程1011。由于该MCU 内部集成了 AD 转换模块,所以只需要在 MCU 的输入模拟量引脚进行采样,然后在需要的数字量输出设置测试点即可。本文需要进行 ADC 转换的引脚有 ADC_MCU、ADC_VDD_4G、ADC_SENSOR6、ADC_SENSOR5、ADC_SENSOR4、ADC_SENSOR3、ADC_SENSOR2、ADC_SENSOR1,转换电路如图 7 所示(给出了ADC_SENSOR1,剩余传感器的转换同理)。2.4 UARTUART,用于串口异步收发,是系统中各电路模块通讯的“桥梁”12。UART有 8 种工作方式,如表 2 所示。为简单起见,本文 UART 配置为工作方式 0,波特为115200。图 8 为两路 UART 交互示意图,由图可知,若要实现主从 UART 的串口通信,必须满足:(1)主机端(仪表的 MCU)通过 UART1发送的指令从机端(串口指令接收端)要能够接收到,并且从机端能对接收到的指令做出反馈,通过 UART2 发送反馈指令;(2)主机端能够接收到从机端发来的反馈指令,以确保主机、从机端的发送和接收均为正常。表2 UART工作方式 方式 data_bit第9位 start_bit stop_bit0 8无111 8无122 9奇校验113 9 奇校验124 9 偶校验1159偶校验1269自定义1179自定义12bit 0bit 1bit 2bit 3bit 4bit 5bit 6bit 7TXRXTXRXbit 0bit 1bit 2bit 3bit 4bit 5bit 6bit 7Data BusUART1UART2Data Bus 图 8 UART 之间的交互 2.5 MCU 外围 LCD 显示电路设计图 9 为 MCU 与 LCD 的连接示意图,LCD 显示使用 I2C协议,要使显示屏正常显示,片选端 CS 需置为低电平13。读数据时,字符有可能是中文或其他 ASCII 码支持的形式。若存在中文时,首先应将可能需要展示的中文字体库列出,以便显示屏显示不出现乱码。需要注意的是,显示屏所支持的最大行数为 4,当显示行数大于 4 时,需要考虑翻页,具体为:(1)需要展示的行数为 m,每页支持的最大行数为 n;若 m n,m%n=0,则 pages=m/n;(3)若 m n,(m%n)!=0,则 pages=m/n+1。显示屏的翻页如图 10 所示。图 10 显示屏翻页 2.6 MCU 外围编码器电路设计工业用燃气仪表的工作环境在室外,需要众多传感器采ADC_MCU_EN312Q7NTR4502PT1GR49220RR504.7KR514.7KC4210nFGNDADC_VDD_4GADC_MCU312Q8NTR4502PT1GR52220RR534.7KR544.7KC4310nFGNDVDD_4GMCU_VCC3.3VDD_4G_ENR944.7KR954.7KC4410nFGNDADC_SENSOR1S1_VDD图 7 MCU 的外部 ADC 转换电路图C35104/0805C3410uFLCD1_SCLLCD1_RESLCD1_A0LCD1_CSLCD1_SIR241kR251kR261kR271kR281kLCD_A0RLCD_SCLRLCD_CSRLCD_SIRLCD_RESRGNDR18510/1206VCC_3.3VVCC_3.3VC37104/0805GNDLCD1_BLLCD1_BL1 23 45 67 89 101 11 121 13 141 15 16P3LCDGNDF8JK-SMD0805-010图 9 LCD 显示电路6|电子制作 2023 年 2 月电子电路设计与方案集不同的参数。该仪表含有用六个传感器接口(三个用于采集压力、温度、流量等,其余均为备用接口),并使用 3 片74LS148 判断传感器 IO 接口及信号量的状态。为便于对传感器的检测,将传感器的引脚转接到外部转接板。在图 11中,A0、A1、A2 为编码器的输出端(低电平有效),管脚07 为编码器的输入端(低电平有效),EI 端低电平有效。根据编码器真值表,传感器及开关量状态判断方法如下:(1)首先将传感器数字量输入端引脚的 GPIO 引脚配置为输出高电平模式;(2)将编码器的输出端 A0A1A2 输出全为高电平的情况下,再将传感器各 IO 口配置为低电平,查看编码功能是否完好;(3)若三个编码器的 A0A1A2 端均为低电平时,则传感器的 IO 口正常;(4)异常判断:在(2)和(3)的条件下,若三个编码器中,有一个编码器的 A0A1A2 端全为高电平时,则可判断为传感器 1 异常(100)或传感器 2 异常(010)或传感器 3 异常(001);在(2)和(3)的条件下,若三个编码器中,有两个编码器的 A0A1A2 端全为高