打印
[Kinetis]

KE02 PWM4/NMI口和IR2103S的上桥相连,里面有个下拉电阻,上电

[复制链接]
2779|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xujunhb|  楼主 | 2014-11-17 08:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xujunhb 于 2014-11-17 14:03 编辑

PWM4/NMI口和IR2103S的上桥相连,里面有个下拉电阻,上电的时候NMI为低电平,应该直接进入NMI了,这个该怎么解决呢,
系统初始化时已经DISABLE

#define DISABLE_NMI
#if defined(DISABLE_NMI)
    sSIMConfig.sBits.bDisableNMI = 1;
#endif

相关帖子

沙发
FSL_TICS_Jeremy| | 2014-11-17 09:34 | 只看该作者
你好,楼主!
Pin 口的驱动能力请参考数据手册的Table 3 DC characteristics.
MKE02P64M20SF0.pdf (1.42 MB)

使用特权

评论回复
板凳
xujunhb|  楼主 | 2014-11-17 13:47 | 只看该作者
FSL_TICS_Jeremy 发表于 2014-11-17 09:34
你好,楼主!
Pin 口的驱动能力请参考数据手册的Table 3 DC characteristics.

你好,现在发现不是驱动能力不够的问题,是PWM4/NMI口和IR2103S的上桥相连,里面有个下拉电阻,上电的时候NMI为低电平,应该直接进入NMI了,这个该怎么解决呢

使用特权

评论回复
地板
xujunhb|  楼主 | 2014-11-17 13:48 | 只看该作者
FSL_TICS_Jeremy 发表于 2014-11-17 09:34
你好,楼主!
Pin 口的驱动能力请参考数据手册的Table 3 DC characteristics.

系统初始化时NMI已经DISABLE 了

使用特权

评论回复
5
FSL_TICS_Jeremy| | 2014-11-17 13:53 | 只看该作者
xujunhb 发表于 2014-11-17 13:47
你好,现在发现不是驱动能力不够的问题,是PWM4/NMI口和IR2103S的上桥相连,里面有个下拉电阻,上电的时 ...

你好,楼主!
在官方例程中,默认情况下NMI引脚都是enable,各个IDE禁止NMI的操作不一样的,不知道你的IDE是什么?

使用特权

评论回复
6
xujunhb|  楼主 | 2014-11-17 14:00 | 只看该作者
FSL_TICS_Jeremy 发表于 2014-11-17 13:53
你好,楼主!
在官方例程中,默认情况下NMI引脚都是enable,各个IDE禁止NMI的操作不一样的,不知道你的ID ...

你好,我用的KEIL5,
#define DISABLE_NMI
#if defined(DISABLE_NMI)
    sSIMConfig.sBits.bDisableNMI = 1;
#endif这个已经定义了

使用特权

评论回复
7
FSL_TICS_Jeremy| | 2014-11-17 15:36 | 只看该作者
xujunhb 发表于 2014-11-17 14:00
你好,我用的KEIL5,
#define DISABLE_NMI
#if defined(DISABLE_NMI)

你好,楼主!
请在debug时,检查一下对应NMI使能与否bit是何值?

使用特权

评论回复
8
xujunhb|  楼主 | 2014-11-17 16:28 | 只看该作者
FSL_TICS_Jeremy 发表于 2014-11-17 15:36
你好,楼主!
请在debug时,检查一下对应NMI使能与否bit是何值?

你好,sSIMConfig.sBits.bDisableNMI = 1时
if(pConfig->sBits.bDisableNMI)
    {
        u32Sopt &= ~SIM_SOPT_NMIE_MASK;        
    }
清零NMI位,When clear, the pin functions as one of its alternative functions,但是上电的时候还未运行到系统初始化这一段吧,也就是说即使在这里配置了这个寄存器,把NMI脚拉低后上电的话一样有问题?我再这个脚后面加了个三极管,问题就解决了,看有其他方法没有,不用飞线的,谢谢

使用特权

评论回复
9
FSL_TICS_Jeremy| | 2014-11-17 17:07 | 只看该作者
你好,楼主!
根据你的描述,就是还没有运行到NMI_ebable这一步,由于外围下拉电阻的存在,导致MCU进入到NMI中断,如果是这样的话,建议你最好不用NMI引脚。

使用特权

评论回复
10
xujunhb|  楼主 | 2014-11-17 19:31 | 只看该作者
FSL_TICS_Jeremy 发表于 2014-11-17 17:07
你好,楼主!
根据你的描述,就是还没有运行到NMI_ebable这一步,由于外围下拉电阻的存在,导致MCU进入到NM ...

好吧,6路FLEX_PWM就那6个口,没事,我在外面加个三极管去驱动也可以解决这个问题

使用特权

评论回复
11
gxliu08| | 2014-11-17 20:34 | 只看该作者
围观一下,学习学习!

使用特权

评论回复
12
xujunhb|  楼主 | 2014-11-20 13:26 | 只看该作者
FSL_TICS_Jeremy 发表于 2014-11-17 17:07
你好,楼主!
根据你的描述,就是还没有运行到NMI_ebable这一步,由于外围下拉电阻的存在,导致MCU进入到NM ...

其实把SIM_Sopt &= ~SIM_SOPT_NMIE_MASK;
移到SystemInit()里面就可以了

使用特权

评论回复
13
FSL_TICS_Jeremy| | 2014-11-20 13:30 | 只看该作者
xujunhb 发表于 2014-11-20 13:26
其实把SIM_Sopt &= ~SIM_SOPT_NMIE_MASK;
移到SystemInit()里面就可以了

哦,现在是可以啊!

使用特权

评论回复
14
sanshui28| | 2015-1-7 16:12 | 只看该作者
为什么 SIM_Sopt &= ~SIM_SOPT_NMIE_MASK;
移到SystemInit()里面就可以了? NMI如果外部下拉的话 不是一上电就在一直在NMI中断么? 怎么会执行到 SIM_Sopt &= ~SIM_SOPT_NMIE_MASK;这条语句?

使用特权

评论回复
15
sanshui28| | 2015-1-7 16:19 | 只看该作者
xujunhb 发表于 2014-11-20 13:26
其实把SIM_Sopt &= ~SIM_SOPT_NMIE_MASK;
移到SystemInit()里面就可以了


为什么 SIM_Sopt &= ~SIM_SOPT_NMIE_MASK;
移到SystemInit()里面就可以了? NMI如果外部下拉的话 不是一上电就在一直在NMI中断么? 怎么会执行到 SIM_Sopt &= ~SIM_SOPT_NMIE_MASK;这条语句?

使用特权

评论回复
16
Thefantasy| | 2015-1-25 20:50 | 只看该作者
学习一下

使用特权

评论回复
17
yanghooyak| | 2015-4-11 22:28 | 只看该作者
本帖最后由 yanghooyak 于 2015-4-12 11:40 编辑

板子FRDM-KE02Z40M,IAR调试环境,见附图,好多疑问如下,求大神解惑:
测试的实际情况:
1. NMI引脚在板子上并没有上拉什么的,示波器测试为低电平;
2. 使用demo代码(软件启动后执行了DisableNMI语句)也不会直接进入NMI中断退不出来;
疑问如下:
1. 数据手册上得知reset后NMI自动使能,引脚没有上拉什么的,为什么不直接进入NMI中断呢?也对的起这个名字呀?                         2. 当NMIE设置(默认功能)时,内部上拉有效,为什么上电后示波器抓不到NMI管脚的上升沿呢?
3. 数据手册上得知reset后模拟引脚功能自动使能,结论:ADC口是自动使能的,但ACMP1模块在reset后不被使能,ACMP1_IN2(引脚优先级高于NMI)算是模拟引脚吗?
4. 如何彻底理解这些逻辑呢?好乱呀
C:\Users\Administrator\Desktop\1.png







1.PNG (21.98 KB )

NMI截图

NMI截图

使用特权

评论回复
18
yanghooyak| | 2016-4-20 09:54 | 只看该作者
通过FSL的FAE向原厂建议:NMI管脚不要和PWM管脚共用,还有那么多管脚呢共用谁不行呀,既然可以做电机控制,pwm的上电时电平状态很重要的。
一个平头百姓的呼声有用吗?支持的朋友来顶顶

使用特权

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

本版积分规则

11

主题

54

帖子

0

粉丝