英飞凌tricore用户手册 第12章 灵活crc引擎 fce

上传人:子 文档编号:46894670 上传时间:2018-06-28 格式:PDF 页数:32 大小:482.71KB
返回 下载 相关 举报
英飞凌tricore用户手册 第12章 灵活crc引擎 fce_第1页
第1页 / 共32页
英飞凌tricore用户手册 第12章 灵活crc引擎 fce_第2页
第2页 / 共32页
英飞凌tricore用户手册 第12章 灵活crc引擎 fce_第3页
第3页 / 共32页
英飞凌tricore用户手册 第12章 灵活crc引擎 fce_第4页
第4页 / 共32页
英飞凌tricore用户手册 第12章 灵活crc引擎 fce_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《英飞凌tricore用户手册 第12章 灵活crc引擎 fce》由会员分享,可在线阅读,更多相关《英飞凌tricore用户手册 第12章 灵活crc引擎 fce(32页珍藏版)》请在金锄头文库上搜索。

1、TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-1V1.0, 2011-12FCE,V1.712灵灵活活的的 CRC 引引擎擎(FCE)该章描述了灵活的 CRC 引擎(FCE)模块。FCE 提供一个或多个循环冗余码(CRC)算法的并行执行。 TC1728 当前的 FCE 版本实现了 IEEE802.3、ethernet CRC32 和 Castagnoli CRC32 多项式标准。FCE 的通用结构允许其能够通过多个多项式扩展。FCE 的首要目标是利用 CRC 签名作为软件应用程序或操作系统服务(与Autosar CRC“CRC 例程的规范”兼容)的硬件加速引擎。CRC 算法

2、普遍应用于计算唯一的信息签名,这些签名用 于在通信线路如内部总线或者微处理器之间的接口的传输时检查信息的可靠性。CRC 签名也同样适用于签署存放在可变或者不可变存储单元里的数据块。基于多项式除法计算的签名提供非常高的位错误检测能力。FCE 作为标准 FPI 总线从外设工作,并且完全由一组配置和控制寄存器控制。该章由以下内容构成:页页 12-3“FCE 特特性性”页页 12-4“操操作作概概览览”页页 12-6“FCE 功功能能描描述述” 页页 12-14“FCE 模模块块寄寄存存器器”页页 12-13“FCE 模模块块的的接接口口” 页页 12-28“编编程程指指南南”页页 12-31“CRC

3、 代代码码的的属属性性”注意:在页页12-14“FCE模模块块寄寄存存器器”中描述的FCE内核寄存器名称在用户手册中引用时要加上模块名称前缀 “FCE_”。注意:FCE在将来极有可能也使用在16位微控制器上。目前还没有这样的需求,但是这个扩展在研发阶段已经被考虑进去了 。TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-2V1.0, 2011-12FCE,V1.712.1相相关关文文档档输输入入文文档档D1 A painless guide to CRC Error Detection Algorithms, Ross N. Williams D2 Autosar R3.1 R

4、ev 0001, Specification of CRC Routines V3.0.2 D332-Bit Cyclic Redundancy Codes for Internet Applications, Philip Koopman, International Conference on Dependable Systems and Networks (DSN), 2002 相相关关标标准准与与规规范范 S1 IEEE 802.3 Ethernet 32-bits CRCTC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-3V1.0, 2011-12FCE,V1.712

5、.2FCE 特特性性FCE 提供了如下特性:构架提供了高达 4 个不同的 CRC 多项式。当前 FCE 版本执行: IEEE802.3 CRC32 ethernet 多项式:0x82608EDB(CRC 内核 0)CRC32 Castagonoli 多项式:0x8F6 E37A0 (CRC 内核 1)并行 CRC 执行(32 位宽度)FCE 计算的数据块应是一个 32 位的倍数FCE 计算的数据块的开始地址,应至少 32 位对齐只允许对内核的输入寄存器的 32 位写访问对配置寄存器的 8 位或者 16 位写访问也是支持的寄存器接口符合 CRC 例程的 Autosar 规范。可以通过基于软件的保

6、存/恢复机制支持可重入软件例程。扩展寄存器接口控制 FCE 执行的可靠性。控制 FCE 操作的关键寄存器冗余地实现以捕捉瞬态错误。通过特定中断节点的错误通知机制:瞬态错误检测:带有本地状态寄存器(由软件清零)的错误中断产生(可屏蔽的) 校验和失败:带有本地状态寄存器(由软件清零)的错误中断产生(可屏蔽的).FCE 实现其中断服务节点。TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-4V1.0, 2011-12FCE,V1.712.3操操作作概概览览FCE 是标准的 FPI 从模块。FCE 与 FPI 总线同步并且运行在 1:1 的时钟比例下。其与微控制器的 FPI 外设总线相

7、连。图图 12-1FCE 系系统统集集成成:单单个个 CRC 内内核核FCE 操作是由一组内存映射寄存器控制的。主要目的是作为需要 CRC 校验和计算的软件应用程序的硬件加 速。寄存器组旨在使能 FCE。根据硬件配置,FCE 可能实现更多带有不同的 CRC 多项式 的 CRC 内核。产品的具体配置将在产品自定义章节里描述。每个 CRC 内核将有相同的硬件和软件体系结构。此文档的其余部分将仅侧重 介绍普通 CRC 内核体系结构。图图 12-2 显示多内核配置。TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-5V1.0, 2011-12FCE,V1.7图图 12-2 FCE 系系

8、统统集集成成:多多 CRC 内内核核在多内核实现中,中断线路进行或运算,FCE 对系统只有一个中断节点。每个 crc 内核有一个状态寄存器,以 使能软件确定哪个中断源处于激活状态。状态和中断处理请参阅 STS 寄存器的详细描述。TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-6V1.0, 2011-12FCE,V1.712.4FCE 功功能能描描述述图图 12-3 CRC 内内核核架架构构以下属性的特点是一种基于 CRC 多项式除法的校验和算法:1 多项式级数 (例如 32,表示两个多项式的最高权重) 2 多项式 (例如 0x04C11DB7: 第 33 位省略,因为总是等于

9、 1)3 初始值: CRC 寄存器的初始值TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-7V1.0, 2011-12FCE,V1.74 输入数据反射:指示输入的并行数据的每个字节被用来计算 CRC 之前是否被反射5 结果数据反射:表示 CRC 的最终值是否被反射 6 XOR 值: 指示返回 CRC 结果之前是否进行最后的 XOR 运算一旦选择了一个多项式,所有的属性是静态的。不过 FCE 具有通过控制两个反射步骤以及最终 xor 操作的功 能,如图 12-3 所示。复位值是与实现算法兼容的。最终的 xor 控制使能选择 0xFFFFFFFF 或 0x00000000 与PO

10、ST_CRC1 进行 xor 运算(见见图图 12-3)。这两个值是最常见的 CRC 多项式所经常使用的。注意:反射步骤和最终XOR不修改基于错误检测的CRC算法的属性,只有CRC最后的签名受到影响。TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-8V1.0, 2011-12FCE,V1.7CRC 操操作作软件必须首先确保 CRC 内核配置正确,尤其是通过 CRC 寄存器写入的 CRC 寄存器的初始值。如果想要软件 实现在每个报文末尾进行自动签名检查,LENGTH 和 CHECK 寄存器必须分别根据报文的长度(即为 32 位字的数量)和期望的签名(CHECK)进行配置。CHE

11、CK 值受到 CRC 反射和 XOR 操作的影响。自检查由 CFG.CCE 位 域使能。属属性性:如果输入报文 M1 由报文 M0 及其 CRC 签名组成,那么 M1 的 CRC 签名应为 0。.根据报文的长度,可多次软件写入 IR 寄存器,如果 CFG.CCE 位置位,每一次写 IR 寄存器,LENGTH 寄存器减 1。当 LENGTH 寄存器已经为 0,但是软件依然对 IR 寄存器进行写操作(错误操作),LENGTH 寄存器的每一 位都应该被置 1,并且保持该值直到软件重新初始化新的报文。在这样的情况下,STS.MLF(报文长度标志位)应被置位,并且如果 CFG.MLE(报文长度错误)置位

12、产生一个中断。硬件监控 LENGTH 寄存器从 1 到 0 的跳变, 以检测报文的结束,并进行 POST_CRC2(见见图图 12-3)与 CHECK 寄存器值的比较。下面两个图是对 CRC 内核的控制和状态特性的概览。TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-9V1.0, 2011-12FCE,V1.7图图 12-4 CRC 内内核核配配置置寄寄存存器器图图 12-5 CRC 内内核核状状态态寄寄存存器器TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-10V1.0, 2011-12FCE,V1.7寄寄存存器器保保护护和和监监控控方方法法寄寄存存器器监

13、监控控:适适用用于于 CFG 和和 CHECK 寄寄存存器器因为 CFG 和 CHECK 寄存器是 CRC 操作的关键,提供了一些用于检测和记录瞬态错误的机制。瞬态错误的早期检测可以改善错误检测时间并且减小错误的严重性。使用两个冗余实例的监测机制被执行,如如图图 12-6 所示。图图 12-6 寄寄存存器器监监控控方方案案为指派 CFG 或者 CHECK 寄存器。当对进行写操作时,冗余寄存器的复制也发生更新。软软件件上上冗冗余余寄寄存存器器不不可可见见。的保留位不具有存储功能,并且不用于冗余。比较逻辑持续比较两个保存的值,并且 给出一个信号,指示比较是否成功。所有比较块的结果被进行或运算从而得

14、到一个单独标志位信息。如果发现比较结果不符,STS.CEF 位(配置错误标志位)置位。对于比较逻辑的实时验证,给出强制寄存器不符合位 (CTR.FRM_)。当冗余寄存器被软件置 1,冗余寄存器向左移一位(冗余位 0 总是被逻辑 0 值代替),并且代替冗余寄存器值输入给比较逻辑。这使能检查比较逻辑。通过使用移动位模式,软件可以完全检查比较逻辑的全部操作。TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-11V1.0, 2011-12FCE,V1.7寄寄存存器器访访问问保保护护:适适用用于于 LENGTH 和和 CHECK 寄寄存存器器为了减少对 CHECK 和 LENGTH 寄存

15、器的错误配置的可能性(在自动检查被使用的情况下),对 CHECK 和 LENGTH 寄存器的写访问必须遵循图图 12-7 所示的流程。图图 12-7 对对 CHECK 寄寄存存器器的的访访问问控控制制为指派 CFG 或者 CHECK 寄存器。在能够对一个 CRC 内核的 CHECK 寄存器中配置一个新值之前,软件必须首先对 CHECK 地址写值 0xFACECAFE。0xFACECAFE 不是写入 CHECK 寄存器中。下一个写操 作将如同正常 FPI 写操作一样进行。这个过程将在每次软件试图配置新的值时被重复。如果软件在写0xFACECAFE 后读 CHECK 寄存器,其返回当前内容,而不是

16、 0xFACECAFE。对对的的读读访访问问对对保保护护 机机制制没没有有影影响响。TC1728灵灵活活的的 CRC 引引擎擎(FCE)用户手册12-12V1.0, 2011-12FCE,V1.7FCE 中中断断每个 FCE CRC 内核提供一个内部中断源。每个 CRC 内核的中断线路相或,其结果发送到实现标准中断节点逻 辑和寄存器的 FCE 中断控制块。当一个 FCE 中有多个 CRC 内核时,每个 CRC 内核的中断线路相或,以向中断控制块提供单一中断源。如果来自 FCE 的中断被仲裁,FCE 中断处理器必须使用位于每个 CRC 内核的 STS 状态 寄存器的状态信息。每个 CRC 内核提供如下中断源:. CRC 不匹配中断。由 CFG.CMI 位域控制并可通过状态位 STS.CMF(CRC 不匹配标志位)观察。 . 配置错误中断。由 CFG.CEI 位域控制并可通过状态位 STS.CEF(配置错误

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号