打印
[资料分享与下载]

NMI引脚在Kinetis KE系列和KL系列芯片的差异和使用注意事项

[复制链接]
1654|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 西门扫雪 于 2015-9-22 11:03 编辑

                                                                NMI引脚是芯片的不可屏蔽中断引脚,Kinetis芯片默认是使能NMI功能的(低电平有效),通常该引脚内部具有较小的内部上拉电阻,从大部分的应用来看,这个引脚的作用主要有两种,作为类似GPIO的中断引脚和作为低功耗唤醒引脚。
        但是对于大部分应用来说,往往不需要这个引脚,特别是对于小封装的芯片,IO资源比较紧张,往往会考虑把这个复用功能的引脚用作GPIO, FTM等功能,但是由于这个引脚的特殊性(默认使能了NMI中断功能),往往会对应用带来麻烦。此处举例子来说明。 如果把这个引脚配置成GPIO输入用于检测外部按键输入,默认状态下拉到GND,原本打算在程序中把NMI功能Disable掉,配置成GPIO功能,但事实情况是还未等程序执行到配置该引脚到GPIO功能时,由于外部接低,已经导致芯片进入NMI中断,导致程序进入Default中断。更为烦恼的是,有些时候还会导致无法连接SWD下载,而且这个原因往往比较隐蔽,很难发现。所以,这个引脚如果复用为其它功能,一定要多加小心。
        既然这个引脚带来那么多“痛苦”,那自然想到在芯片运行前去Disable其默认的NMI功能。Kinetis提供了两种方法去Disable NMI的中断功能:第一种:在MCU复位结束之后,在main函数中把该引脚配置成其它功能,等同于去使能NMI功能;第二种:在MCU复位之前Disable,对于大部分的Kinetis芯片来说,其工作原理是,MCU在处于复位状态时会把位于0x40D的flash nonvolatile option 配置字节的内容拷贝到FTFA_FOPT寄存器中,关于FTFA_FOPT中NMI的定义,0X40D Flash配置字节和如下MCU复位启动时FTFA_FOPT寄存器数据填充流程分别如下两个图:        

        尽管上文提到两种方法,但第一种方法由于是在MCU复位后才生效,所以应用中实用性不大,因为往往的情况是如果NMI引脚被拉低(如上面举例的情况),在程序还没执行到main函数中Dsable相关函数时,就会导致MCU进入NMI中断。所以第二种方式更为实用,在MCU复位之前就disable了NMI功能,即便该引脚默认被拉低,也不会引起中断。下面截图是IAR中disable NMI的配置字段,其本质也是修改0X40D字段。        

        谈了那么多,都是为下面讲题目中提到的NMI引脚在Kinetis KE系列和KL系列芯片的差异做铺垫的。KE是飞思卡尔5V系列的ARM内核芯片,其主要定位在于兼容替代原有的S08心裂MCU,所以在内部外设设计上与S08有点类似,同样在NMI的使用相对其他的Kinetis系列芯片也是有些特殊的,简而言之,KE的NMI只能在RESET后去Dsable其默认的NMI功能,而不能向KL那样在复位BOOT流程时去Disable其功能。具体描述和 disable的相关寄存器描述如下。     
        
        可见,在KE中如果去Disable NMI的中断功能,需要在代码中去操作SIM_SOPT0寄存器,当然使用过程中建议是越早越好,最好是放在通用寄存器初始化完成以及看门狗关闭前的第一句。另外,由于不能在复位前完成disable,这个引脚在设计时万万不能接低,尽管其内部有上拉。
        使用建议:
        尽管通常该引脚内部具有较小的内部上拉电阻,但如果可能的话,通常建议采用外部 4.7 kΩ至10 kΩ上拉电阻。需要特别提出的是,如果该引脚被外部电路拉低,即便该引脚被复用成其它功能(FTM或者GPIO),在下载程序时,也有可能导致芯片与仿真器连接异常。原因是芯片一上电,在程序还没有执行禁用NMI功能时,由于NMI引脚被外部拉低,程序就会已经进入NMI的中断程序,从而造成程序无法成功下载。此时则需要通过Flash NVM 配置字节禁用NMI功能,它与在程序中禁用 NMI引脚的区别在于,这种方**执行用户程序之前生效。
                        
               

4.png (17.35 KB )

4.png

5.png (151.88 KB )

5.png

相关帖子

沙发
FSL_TICS_ZJJ| | 2015-9-22 12:43 | 只看该作者
感谢楼主的经验分享!

使用特权

评论回复
板凳
侣行天下| | 2015-9-22 13:52 | 只看该作者
讲的很透彻,谢谢楼主的分享

使用特权

评论回复
地板
310116281| | 2017-2-17 10:36 | 只看该作者
讲的不错  我做了试验  只要把PTA4(NMI)脚用一根导线与地一连接,立马进入NMI_Handler

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

286

帖子

1

粉丝