0

我正在编写一个数据记录应用程序(在微控制器上运行),它将数据写入普通的嵌入式 NOR 型串行闪存(在本例中为 AT25DF161。)

每个数据包(240 或 496 字节)将一个接一个地单独记录到闪存中。我认为闪存中最常见的故障是卡住位 - 通常是“0”,即未擦除状态。我需要能够检测单个位事件,通常每条记录最多两个(我假设这是 100,000 次写入周期后的最坏情况。)

我正在使用具有内置 16 位 CRC 计算模块的处理器,因此使用更少或更多项对性能没有影响 - 那么我需要做出哪些决定来确定最佳多项式?

4

2 回答 2

0

查看 Philip Koopman 的论文“用于嵌入式网络的循环冗余码 (CRC) 多项式选择”。他分析了许多 16 位多项式,测量了它们对不同消息长度的错误检测能力。正如您从他的论文中看到的那样,它们并非都是平等的。对于少量错误(在您的情况下为 HD=2)和相当大的块,0xBAAD 可能是一个不错的选择。

于 2012-09-04T13:16:29.060 回答
0

使用标准多项式。您可以在此处找到可供选择的列表。

于 2012-09-03T23:27:56.253 回答