电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

AVR单片机CRC校验码的查表与直接生成(2)

来源:-- 作者:-- 浏览:591

标签:

摘要: 3 实验结果  为了比较所述两种32位CRC校验码生成方法的特点,分别选取不同字节数的数据段,对两种方法在不同情况下的效果进行比较,如表1所列。 表1 两种算法实验结果对比 计算法生成32位CRC校验码 查表法生成32位CRC校验码 数据段字节数 程序耗时/μs 周期数 程序耗时/μs 周期数 3 193.67 2324 29.33 352 4 222.50 267

3 实验结果

  为了比较所述两种32位CRC校验码生成方法的特点,分别选取不同字节数的数据段,对两种方法在不同情况下的效果进行比较,如表1所列。

 

表1 两种算法实验结果对比

 计算法生成32位CRC校验码 查表法生成32位CRC校验码
数据段字节数 程序耗时/μs 周期数 程序耗时/μs 周期数
3 193.67 2324 29.33 352
4 222.50 2670 34.83 418
10 319.58 3835 48.58 583
20 517.92 6215 76.08 913
40 886.25 10635 131.08 1573
80 1582.92 189995 241.08 2893
150 2957.08 35485 433.58 5203
200 3891.25 46695 571.08 6853
220 4267.92 51215 626.08 7513
239 4645.17 55742 678.33 8140
240 4659.58 55915 681.08 8173
250 4872.92 58475 708.58 8503
以上所有实验结果均是在AVR Studio4仿真软件上选用Atmel公司的Atmega128高速嵌入式单片机为实验设备平台,在12MHz运行速度下模拟所得。

  在调用32位CRC生成表程序以得到32位CRC生成表时,耗时3968.33μs,执行了47620个时钟周期。从上述实验结果可得出以下几点结论。

  ① 如果不考虑生成32位CRC生成表的时间,例如直接把32位CRC生成表烧入到Atmega128的可编程闪速存储器Flash中,由表1可清楚地看出,查表法的运行速度比直接计算法要快得多。因此,在类似情况下,在进行数据传输要求生成32位CRC校验码时,应该选择查表法。

  ② 在某些应用中,如果对硬件存储器空间要求很高,并且在一定程度上对时间没有特别高的要求时,可以采用直接计算法,以避免查表法中CRC生成表对存储器空间的占用。

  ③ 虽然实验结果对32位CRC校验码的两种算法进行了对比,但是所得到的结论也适用于8位、16位、24位CRC校验码。

结束语

  CRC循环冗余校验码是一种方便、有效、快速的校验方法,被广泛应用在许多实际工程中。文中所列的两种算法——查表法和直接计算法,都可以得到CRC校验码;但是它们各有特点,在工程应用中应该根据实际需要选择最适合的方法,以得到最优的效果。

 

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67