做项目前,准备选择意法半导体的STM32单片机;以前做项目,很多时候都选择STM32单片机,包括F1、F4系列,觉得很好用。
从上图可以看到,STM32H7系列处理器,一些型号的主频可以达到550Mhz,加上丰富的外设,完全满足大多数项目的需求。在选型时候,发现STM32H7系列的单片机性价比并不高,加上项目开发周期紧。所以,选择恩智浦的处理器。
i.MXRT系列单片机主频大多数为600Mhz,有些单片机可以达到800Mhz,外设也很丰富,性价比很高。查看数据手册后,发现i.MXRT系列单片机没有内嵌flash,需要外挂。这算是这款的单片机的一个硬伤。
i.MXRT系列单片机电源组较多,包括VDD_SNVS_IN、DCDC_IN、VDD_HIGH_IN、VDD_SOC_IN、NVCC_SD0、NVCC_SD1、USB_OTG1_VBUS等。VDD_SNVS_IN供电为3.3V,NVCC_SD0供电可以是3.3V,也可以是1.8V。USB_OTG1_VBU供电为5V。此款单片机需要的电源种类较多。
而且i.MXRT系列单片机上电有严格的时序要求,并非所有模块电源一起上电。首先给VDD_SNVS_IN供电,等其稳定后,单片机的引脚K7将输出高电平信号。通过这个高电平信号,我们可以判定VDD_SNVS_IN电源已稳定。
我们也可以通过这个高电平信号,去使能外部的LDO模块,如电源模块MP2144GJ的第8脚。
LDO模块输出的3.3V电压,给CPU部分电源组供电,包括ADC、单片机内部DCDC、VDD_HIGH_IN等。同时,当LDO模块输出稳定的3.3V电压时,电源模块MP2144GJ第1脚会输出一个高电平信号。
对单片机内部DCDC模块供电,需要给DCDC模块一个使能信号,我们在使能端加上一个RC延时电路,其作用是让DCDC输入端的电压稳定后,再让其工作。
i.MXRT系列单片机上电时序比较严格,如果不按照要求上电,单片机极有可能不工作,或不能正常工作。