A.02.15—唤醒时序—喚醒
0赞
发表于 7/9/2015 1:24:25 PM
阅读(3831)
唤醒类型有网络唤醒和本地唤醒两种。
网络唤醒中的CAN唤醒有传统的唤醒与部分网络(PN)唤醒两种。传统的CAN网即同一网络中有任意模块发出信息便唤醒所有模块,PN则只会唤醒指定的模块。后者通过采用具备PN功能的收发器,由收发器过滤掉那些不需要唤醒的报文来实现。如果本模块需要唤醒其他模块则需先发送唤醒报文,再等其他模块醒来后发应用报文;反之亦然。
LIN唤醒中,并非所有子节点都要求可以反向唤醒主节点,需根据具体功能需求;但是主节点肯定要求唤醒子节点。其原理为唤醒方先发送唤醒头(按J2602的规定为0.5ms~5ms的显性电平)给被唤醒方,然后等待,再发送报文头。具体细节在行业标准中均有定义。对于被唤醒方来说,一般均是将唤醒口接到MCU中断口,因此本模块所接的子网络越多则所需要占用的中断口越多。
本地唤醒又有中断唤醒和周期唤醒。中断唤醒即采用MCU中断口进行唤醒,一旦该口有输入时MCU便醒来进行初始化、准备执行应用程序。周期唤醒则是MCU每过一段时间(如100ms)自己醒来,检测相关的输入口看其是否有有效输入,如有则起来做进一步判断如debounce等。
以上的唤醒方式中周期唤醒的速度比较慢,一般实时性要求高的功能建议采用中断唤醒。不过周期唤醒的好处是不需要占用中断口。具体用什么方式设计人员应通盘考虑。
(2015-1-15 发表于本人QQ空间)
