利用XC2300系列微控制器实现CAN网络安全

时间:2009-04-14来源:Hagen Platzdasch 德国英飞凌科技股份公司

  CRC或存储检查模块

  为保证程序和数据等存储信息的完整性,需要进行CRC(循环冗余检查)。CRC的值通常针对信息块进行计算,并被储存在某个存储区域。在检查信息时,重新计算CRC的值,并与储存的CRC值对比。这既可在启动等时点单次进行,也可在运行期间定期进行。CRC也能像CAN协议那样保护数据通信,还能保护要求最高数据完整性的单个关键安全数据或变量。当然,软件也能非常灵活地完成CRC计算,但使用专用硬件的效率更高,因为后者可提高计算速度并将CPU从此类任务中解放出来。利用DMA(直接内存存取)等读写功能,可以在无需CPU参与的情况下,在后台进行CRC检查,将CRC检查与外设初始化分开。

  FLASH 和RAM上的ECC

  在存储区域使用CRC机制并由CPU启动的同时,可以延伸CRC存储内容保护理念,在存储模块本身增加这类机制。由特殊ECC(纠错码)多项式生成的附加存储校检和来保护单个存储数据。通过这个校检和,能检测到数据的意外变化,并在将数据提交CPU之前自动予以纠正。这是CRC和ECC的主要区别。例如,可以检测到两个比特错误,其中一个比特可被纠正,具体取决于所采用的多项式和存储ECC值的长度。在进行写入访问时,生成ECC值,除存储所写入的数据外,所生成的ECC值也被存储。在进行读取访问时,数据的ECC被重新计算,并自主地与所存储的值对比。该机制由硬件执行,从系统的角度来看,不需要增加总线周期。目前,ECC一般用于闪存,但出于安全需要,RAM存储器也采用ECC。


  
图4 利用分析器模式构建低成本冗余路径,检测被阻断或受到干扰的报文传输

1 2 3 4 5

关键词: Infineon 微控制器 CAN网络 车身通信 200904

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版