MCU(微控制器/单片机)及相关基础

📅 2026/8/25 15:11:27
MCU(微控制器/单片机)及相关基础
MCU是一块完整芯片自带一颗cpu内核。CPU是内核运算大脑只负责取指令-译码-执行。其是cpu在发展过程中演化出的一个分支优点是便宜、体积小、低功耗、功能简单不易死机MCUCPU片内Flash片内RAM外设控制器如I2C/SPI/UART全部打包在这颗芯片里参考半导体系列7-一个视频看懂MCU单片机最小系统主控芯片核心负责执行程序处理信号、时钟电路晶振用于产生节拍震荡一次震荡推动主控芯片计算、电源供电、复位电路一件重启恢复初始稳定状态为方便开发把单片机最小系统放入板子称为最小系统板再通过板子上的引脚使用导线连接到其他模块实现各种功能GPIO通用输入输出引脚单片机最基础的功能读取输入和控制输出读0和1属于硬件外设。如果是单片机由MCU固件直接写寄存器操控如果是LinuxAP主则由Linux驱动操控GPIOPWM脉冲宽度调制属于定时器外设TIM控制GPIO快速跳变以达到调光调速等输出模拟效果达到“可调电压”TIM也就是Timer定时器属于MCU/SOC内部的一个硬件外设。功能是定时等到设定时间通知cpu也就是中断和计数统计外部引脚来的脉冲信号。如果只用cpu软件循环延时则会导致其空跑、卡死精度差还不能后台计时因此独立的硬件计数器不用cpu死等自己数时钟脉冲。链路芯片给TIM定时器输入原始高频时钟脉冲硬件晶振产生-分频器把高频时钟降速-计数器TIM收到分频后的脉冲来一个脉冲计数值1往上数到设定值时清零重新技术-计数器数值和CCR值对比让IO引脚输出高电平还是低电平-最后CPIO引脚输出高低电平方波PWM波形当通过PWM输出0.666这样的模拟信号后实际场景中还需要读取通过ADC模数转换器将模拟信号转为数字信号。ADC:是芯片内部的一块硬件外设用来读取外部连续变化的模拟电压转换成CPU能识别的数字整数例数字方波 (PWM) → RC 低通滤波 → 平滑模拟电压 → ADC 模数转换器 → 新的数字信号阶段一芯片输出数字PWM方波纯数字信号固件配置TIMER定时器-TIMER硬件自动翻转GPIO引脚-引脚输出PWM方波阶段二RC低通滤波器把数字方波转换为平滑模拟电压RC即电容电阻大学物理有学过当PWM开关速度足够快电容来不及充满也来不及放完的时候电容两端电压会稳定在一个平均电压值不再上下剧烈跳动也就是模拟电压阶段三ADC模数转换器将模拟电压转回数字信号平滑模拟电压接到芯片ADC输入引脚后ADC采样转换如12位ADC参考电压3.3V范围0-4095RC输出1.65V经过采样转换读到数字2048