MCU 的硬件最小系统是指包括电源、晶振、复位、写入调试器接口等可使内部程序得以运行的、规范的、可复用的核心构件系统。使用一个芯片,必须完全理解其硬件最小系统。当 MCU 不能正常工作时,首先就要查找硬件最小系统中可能出错的元器件。一般情况下, MCU 的硬件最小系统由电源、晶振及复位等电路组成。芯片要能工作,必须有电源与工作时钟;复位电路提供了在不掉电情况下重新启动MCU的手段。随着Flash制造技术的发展,大部分芯片提供了在板系统或在线系统(On System)的写入程序功能,即把空白芯片焊接到电路板上后,再通过写入器把程序下载到芯片中。这样,硬件最小系统应该将写入器的接口电路也包含在内。基于这个思路,S32K144芯片的硬件最小系统包括电源电路、复位电路、与写入器相连的SWD接口电路,以及可选晶振电路。附录B给出了S32K144硬件最小系统原理图,读者需彻底理解该原理图的基本内涵。
在电路中往往需要大量的电源类引脚来提供足够的电流,同时保持芯片电流平衡,所有的电源类引脚必须外接适当的滤波电容来抑制高频噪声。
电源(VDD)与地(VSS)包括很多引脚。至于外接电容,由于集成电路制造技术的限制,无法在IC内部通过光刻的方法制造这些电容。去耦是指对电源采取进一步的滤波措施,去除两级间信号通过电源互相干扰的影响。电源滤波电路可改善系统的电磁兼容性、降低电源波动对系统的影响、增强电路工作的稳定性。为标识系统通电与否,可以增加一个电源指示灯。
需要强调的是,虽然硬件最小系统原理图(见附录B)中的许多滤波电容被画在了一起,但在实际PCB布线时,需要各自接到靠近芯片的电源与地之间。
复位,意味着MCU一切重新开始。复位引脚为PTA5,若复位引脚有效(低电平),则会引起MCU复位。复位电路的工作原理如下:在正常工作时,引脚RESET_b通过一个10 kΩ的电阻接到电源正极,所以为高电平;若按下复位按钮,则引脚 RESET_b 引脚接地为低电平,导致芯片复位。若是系统重新上电,芯片内部电路会将引脚 RESET_b 拉低,使芯片复位。S32K144的复位引脚是双向引脚,作为输入引脚,拉低可使芯片复位;作为输出引脚,上电复位期间有低脉冲输出,表示芯片已经复位完成。
从引起MCU复位的内部因素与外部因素来区分,复位可分为外部复位和内部复位两种。外部复位有上电复位、按下复位按钮复位;内部复位有看门狗定时器复位、低电压复位、软件复位等。
从复位时芯片是否处于上电状态来区分,复位可分为冷复位和热复位。芯片从无电状态到上电状态的复位称为冷复位,芯片处于带电状态时的复位称为热复位。冷复位后,MCU内部RAM的内容是随机的;而热复位后,MCU内部RAM的内容会保持复位前的内容,即热复位并不会造成RAM中内容的丢失。
从CPU响应速度的快慢来区分,复位还可分为异步复位与同步复位。异步复位源的复位请求一般表示一种紧要的事件,因此复位控制逻辑不会等到当前总线周期结束,复位立即有效。异步复位源有上电、低电压复位等。同步复位的处理方法与异步复位不同,当一个同步复位源发出复位请求时,复位控制器并不使之立即起作用,而是等到当前总线周期结束之后,在下一个系统时钟的上升沿,复位才有效,这是为了保护数据的完整性。同步复位源有看门狗定时器、软件等。
S32K144芯片可使用内部晶振或外部晶振两种方式为MCU提供工作时钟。S32K144芯片含有内部时钟源(IRC),可分为慢速(8 kHz)和快速(48 MHz)两种。通过编程,最大可产生48 MHz内核时钟及24 MHz总线时钟。使用内部时钟源时可略去外部晶振电路。
若时钟源需要其他功能也可以外接晶振,图3-2所示为外接晶振电路。
图3-2 外接晶振电路
S32K144芯片的调试接口SWD基于CoreSight架构,该架构在限制输出引脚和其他可用资源情况下,提供了最大的灵活性。CoreSight是ARM定义的一个开放体系架构,以使SoC设计人员能够将其他IP内核的调试和跟踪功能添加到CoreSight基础架构中。通过SWD接口可以实现程序下载和调试功能。SWD 接口只需两根线,数据输入/输出线(DIO)和时钟线(CLK)。在附录B给出的硬件最小系统原理图中,SWD调试接口电路连接到S32K144芯片的SWD_CLK与SWD_DIO两个引脚,读者可根据实际需要增加地、电源及复位信号线等。