车载防盗报警LIN节点的设计与实现
在未设防状态下,MCU通过GPA端口检测是否存在汽车蓄电池供电信号,如果不存在供电信号,系统在一定时间后通过连接NSLP的GPB管脚令TJA1020进入休眠状态,TJA1020则会通过INH管脚关闭MCU的电源供给,系统返回睡眠状态。汽车蓄电池供电存在时,若收到LIN睡眠信息帧,系统也进入睡眠状态。本文引用地址://m.amcfsurvey.com/article/197500.htm
系统在非睡眠状态时可以通过接收BCM的LIN命令信息帧在未设防状态、设防状态和报警状态之间进行转换。系统处于设防状态和报警状态时,不会进入睡眠状态。
4 软件流程
系统的软件主要包括实现单片机与LIN总线通信的程序以及单片机对防盗报警喇叭控制的主程序。为确保通信的实时性,系统采用了高优先级中断来接收LIN总线上的信号。为了保证系统的实时性,在中断处理时除了进行一些简单的判断和数据接收外,其他部分都在主程序中处理。
图 4主程序流程图
一旦总线上出现有效的显性电平,控制器立即转入高优先级中断处理函数,首先判断是否为主机节点发送的间隔场,如果是间隔场则接收同步场和标志符场,若不是同步场则退出等待下一次中断。在接收到正确的标志符后,若标志符要求系统发送信息,系统则发送数据场及校验和场,发送完成后又开始等待接收下一帧数据。若标志符不是要求本机进行数据发送,则接收随后的数据场及校验和场,在主程序中再根据标志符判断所接收的数据是否对本机有效,有效的就进行相应的处理,无效就丢弃,处理完成后又开始等待接收下一帧数据。
评论