??? 08/05/07 00:38 Read: times |
#142775 - I did benchmarks as such on AVR Responding to: ???'s previous message |
I did the comparison on an AVR implementation with a CRC-16 with the 1021 poly. This was about 4 years ago so I do not recall the exact details but as close as I can remember the nibble is about 2.5 times faster than the bit serial mode. The byte table mode is about 1.5 times faster than the nibble mode.
On some processors the table lookup is more inefficient than on others (when the table is a constant array in the code space). This is particularly true on Harvard architecture processors such as AVRs and 8051s where data access to code space is cumbersome with the instructions provided. I found it essential to have the speed gain that the nibble mode offered me over the bit serial method because we were using it to check the code FLASH CRC each time the system powered up. This power-up check was a customer requirement but the real time nature of the embedded application needed less than 400 msec reset to code start. When using the bit-serial-code, which I had originally inherited when I took over a project, the startup time was hovering around 950 msec. Computational requirements for a CRC-8 are less than a 16-bit CRC algorithm so embedded developers can take that into account if they can drive the selection of the algorithm in use. Do note however that the error coverage of an 8-bit code is much lower than a 16-bit code. This is of particular concern when the payload that is being CRC'ed gets longer and longer in number of bytes. Of course many times there is no choice to be made if the CRC method is selected by the other end of the interface to your MCU. Michael Karas |
Topic | Author | Date |
How to create a crc table? | 01/01/70 00:00 | |
simple | 01/01/70 00:00 | |
RE: simple | 01/01/70 00:00 | |
I said it\'s simple | 01/01/70 00:00 | |
Thank you | 01/01/70 00:00 | |
Protocols | 01/01/70 00:00 | |
examples | 01/01/70 00:00 | |
Runtime Computed Table?? | 01/01/70 00:00 | |
RE: Runtime...? | 01/01/70 00:00 | |
table is not necessary | 01/01/70 00:00 | |
Benchmark | 01/01/70 00:00 | |
I did benchmarks as such on AVR | 01/01/70 00:00 | |
Similar findings | 01/01/70 00:00 | |
no beavers that I've tended to!! | 01/01/70 00:00 | |
not bitwise.... | 01/01/70 00:00 | |
Better is a strong word | 01/01/70 00:00 | |
Also comment about SMBus PEC Code... | 01/01/70 00:00 | |
The Table | 01/01/70 00:00 | |
The Nibble Table for Poly 107 | 01/01/70 00:00 | |
The formula | 01/01/70 00:00 | |
Have you seen this? | 01/01/70 00:00 | |
Now I have | 01/01/70 00:00 | |
Yes, that is a Key Document! | 01/01/70 00:00 |