前面
CAN通信在汽车通信网络中的重要性不言而喻。
今天分享的这篇论文来自中国科学技术大学 董碧城 《基于AUTOSAR的电动汽车中央控制单元CAN通信模块研制》
CAN通讯数据收发处理模式
两种模式:轮询处理、中断处理。
轮询模式通过周期性的检查硬件寄存器标志位来判断是否接收数据以及数据是否完成发送,缺点就是处理较为滞后。
中断模式通过硬件触发中断,能够立即响应数据接收和完成发送,实时性高。
在中断模式下,CAN中断接收到数据时,需要通知应用层来接收新数据,通常使用设置标志位、回调函数、设置事件、激活任务这四种方式。
- 设置标志位,消耗的系统资源最少,但是需要上层周期性的查询标志位,存在一定的延迟;
- 在中断中调用回调函数,响应速度快,实时性高,但考虑到避免中断的执行时间过长影响系统实时性,回调函数不能太复杂;
- 设置事件和激活任务需要操作系统,可以几乎不影响中断事件执行的情况下,靠操作系统来进行优先级调度。