首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

MC33993的唤醒和高阻态设置

只有睡眠命令可以使芯片进入睡眠。
CS引脚是用来控制SPI通讯的。WAKE引脚是控制芯片的工作状态的:睡眠状态或正常工作状态。WAKE为高时,芯片在睡眠状态,当WAKE的下降沿会降芯片带入正常工作状态。
需要注意的是:睡眠状态时,如果电源供电给VDD,注意INT必须为高,以保证WAKE下降沿可以将芯片唤醒,如果电源不向芯片VDD供电,那么,INT不影响WAKE。
检查你的WAKE-UP/Interrupt寄存器设置,看是否是正确的唤醒配置。
检测开关状态前,必须设置为对地,或对电源检测。高阻态是上电后芯片的缺省状态。同时,高阻态可以用来作为比较器,与内部+4V参考电压使用。
从睡眠到工作模式:Vpwr上电,开关状态改变,WAKE下降沿,INT下降沿,CS下降沿,中断定时器超时等,
芯片上电后自动在工作状态,此时,你可以配置芯片寄存器,然后发送睡眠命令,保证上面的条件不要出现,看是否可以进入睡眠。
MC33993手册上对SPI的要求比较简单:CS在不工作时保持高电平,并且SCLK保持(建议)低电平。
当CS下降沿时,器件会唤醒,然后可以发送SPI命令,从下降沿到发送之间有一定的时间延迟需要控制,Tlead。发送
发送完成后,SCLK保持低电平,然后CS上升沿到高电平。

但是,比较麻烦的是中断的问题,请看手册中图4,(Figure 4. Normal Mode Interrupt Operation),
a)如果开关变化发生在CS=1时,只有CS下降沿才能锁住INT和开关状态,当CS上升沿时INT被置高。
b)如果开关变化发生在CS=0时,当后续CS上升沿到达时不会置INT,必须到下一个CS上升沿,同时,开关状态所存在CS的下降沿。

先用示波器观看你的24bit的SPI信号是否符合SPI要求。
然后再次检查开关变化。先试一试开关在不同状态时是否可以正确识别,也就是先把开关设置成不同的状态,然后通电检测,看芯片SPI输出是否正确,然后再在通电过程中检测开关变化。

返回列表