有五个引脚未使用(A10、BIO、CIO、M5和L5)。芯片使用多组电源引脚分别为内部电压调节器、 I/O引脚驱动、A/D转换电路等电路供电,内部电压调节器为内核和振荡器等供电。为了提供稳定的电源,MCU内部包含多组电源电路,同时给出多处电源引出脚,便于外接滤波电容。为了电源平衡,MCU提供了内部相连的地的多处引出脚,供电路设计使用。
表2-6 K60硬件最小系统引脚表
注*:本书介绍的为144引脚MAPBGA封装的MK60N512VMD100芯片,使用50 MHz的外部有源晶振,PTA18 (EXTAL引脚)外接有源晶振的输出引脚CLK_OUT, RTC模块的晶振引脚(EXTAL32、XTAL32)外接的是外部32.768 kHz的无源晶振的两个引脚。具体内容详见14.1节。
复位引脚RESET是一个专用引脚,内部含有上拉电阻。空闲状态为高电平,低电平迫使芯片复位。在写入器电路中,该引脚被连接到标准的10芯JTAG接口,以便写入器可以使MCU复位。
2. I/O端口资源类引脚
除去需要服务的引脚外,其他引脚可以为实际系统提供I/O服务。芯片提供服务的引脚也可称为I/O端口资源类引脚。K60 (144引脚MAPBGA和LQFP封装)具有多达100个I/O引脚。其中A 口 26个,B 口 20个,C 口 20个,D 口 16个,E 口 18个,每个引脚均具有多个功能,有关这些引脚的简单说明参见表2-7和表2-8,详细说明见网上光盘“...\\WYH-K60-BookA-CD (V1.0)\\分章阅读资料\\ChO2-DOC\\K6O引脚复用功能.PDF”。这些引脚在复位后,立即被配置为高阻状态,且为通用输入引脚,没有内部上拉电阻。需要注意
的是,为了避免来自浮空输入引脚额外的漏电流,应用程序中的复位初始化例程需尽快使能上拉或下拉,也可改变不常用引脚的方向为输出,以使该引脚不再浮空。
表2-7 K60 I/O端口资源类引脚表
表 2-8 ADC、DAC 和 USB 引脚
注1: ADC模块带有4对差分输入引脚,详细介绍具体参见7.1节。
2.5.2 K60的硬件最小系统原理图
MCU的硬件最小系统是指可以使内部程序运行所必须的最低规模的外围电路,也可以包括写入器接口电路。使用一个芯片,必须完全理解其硬件最小系统。当MCU工作不正常时,首先就要查找最小系统中可能出错的元件。一般情况下,MCU的硬件最小系统由电源、晶振及复位等电路组成。芯片要能工作,必须有电源与工作时钟;至于复位电路则提供不掉电情况下MCU 重新启动的手段。由于Flash存储器制造技术的发展,大部分芯片提供了在板或在线系统(On System)的写入程序功能,即把空白芯片焊接到电路板上后,再通过写入器把程序下载到芯片中。这样,硬件最小系统应该把写入器的接口电路也包含在其中。基于这个思路,K60芯片的硬件最 小系统包括电源电路、复位电路、晶振电路及与写入器相连的JTAG接口电路。下面分别对这些电路给出简明分析,完整的K60最小系统原理图见网上光盘\\WYH-K60-BookA-CD(V1.0)\\ 体资料\\ K60_Core_HW_Project”。
1.电源及其滤波电路
电路中需要大量的电源类引脚用来提供足够的电流容量。所有的电源引脚必须外接适当的滤波电容抑制高频噪音。图2-5为K60硬件最小系统的电源和地连接图。
图2-5 K60电源电路
电源(VDDx)与地(VSSx)包括很多引脚,如VDDA、VSSA、VDD1?VDD6、VSS1? VSS8、VREFH和VREFL等。一些电源与地引脚仅用于外接滤波电容,内部已经连接到电源与地,芯片参考手册指出不需要再外接电源。至于外接电容,是由于集成电路制造技术所限,无法在IC内部通过光刻的方法制造这些电容。电源滤波电路,用于改善系统的电磁兼容性,降低电源波动对系统的影响,增强电路工作的稳定性。为标识系统通电与否,可以增加一个电源指示灯。
2.复位电路及复位功能
复位电路见图2-6,其中网标RESET_B连接芯片的RESET引脚。复位,意味着MCU—切重新开始。复位引脚为RESET。若RESET信号有效(低电平)则会引起MCU复位。复位电路原理如下:正常工作时复位输入引脚RESET通过一个10 k的电阻接到电源正极,所以应为高电平。若按下复位按钮,则RESET脚接地为低电平,导 致芯片复位。K60的复位引脚是双向引脚,作为输入引 脚,拉低可使芯片复位,作为输出引脚,上电复位期间 有低脉
冲输出,表示芯片已经复位完成。
从引起MCU复位的内部与外部因素来区分,复位 可分为外部复位和内部复位两种。外部复位有上电复位、按下“复位按钮”复位。内部复位有看门狗定时器复位、低电压复位、低漏唤醒(LLWU)复位、MCG (Multipurpose Clock Generator)丢失时钟复位、软件复位、锁定复位、EzPort复位等。
图2-6 K60的复位电路
从复位时芯片是否处于上电状态来区分,复位可分为冷复位和热复位。芯片从无电状态到上电状态的复位属于冷复位,芯片处于带电状态时的复位叫热复位。冷复位后,MCU内部RAM的内容是随机的。而热复位后,MCU内部RAM的内容会保持复位前的内容,即
热复位并不会引起RAM中内容的丢失。
从CPU响应快慢来区分,复位还可分为异步复位与同步复位。异步复位源提出的复位请求一般表示一种紧要的事件,因此复位控制逻辑不等到当前总线周期结束,复位立即有效。异步复位源有上电、丟失时钟、低压检测LVD、失去锁定等。同步复位的处理方法与异步复位不同:当一个同步复位源提出复位请求时,复位控制器并不使之立即起作用,而是等到当前总线周期结束之后,这是为了保护数据的完整性。在该总线周期结朿后的下一个系统时钟的上升沿时,复位才有效。同步复位源有看门狗定时器、软件等。
3. 晶振电路
晶振电路为芯片提供准确的工作时钟。作为振荡源的晶体振荡器分为无源晶振(Crystal)和有源晶振(Oscillator)两种类型。有源晶振需要外接电源。无源晶振有两个引脚,由于无极性元件自身无法起振,因此需要借助辅助电路才能产生振荡信号。
K60内部集成了多用途时钟产生器(Multipurpose Clock Generator, MCG)模块,用于将晶振输入时钟倍频至系统所需时钟。K60共需要两个晶振,一个是芯片的主晶振,用于产生芯片和 外设的工作时钟,另一个是实时定时器(RTC)的晶振。苏州大学飞思卡尔嵌入式中心开发的核心板的主晶振使用50 MHz的有源晶振,RTC模块使用32.768 kHz的无源晶振,见图2-7。在硬件布线时需要注意晶振附近不要走高频信号;晶振应该尽量靠近芯片的晶振输入引脚。晶振一旦不能正常工作,芯片将无法启动,实际上晶振可以被比喻成负责给芯片提供“心跳”的器件。
图2-7 K60的晶振电路
4. JTAG电路
Kinetis系列芯片使用的是ARM Cortex-M4内核,该内核内部集成了联合测试行为组织(Joint Test Action Group, JTAG)接口,通过JTAG接口可以实现程序下载和调试功能。图2-8为JTAG接口电路。JTAG的对外引脚TMS,TCK, TDO, TDI分别如图2-8接K60的PTA0?PTA3四个引脚。