Campbell Scientific SDM-SIO4 4-Channel Serial I/O Interface User Manual

Page 68

Advertising
background image

Section 6. Data Error Detection

6-6

*Table 3 Subroutines

End Program

The program shown above will only put data into the storage locations if any
data was available. Data being available is detected by polling the SDM-SIO4
to see if any data is waiting. If you decided not to poll the SDM-SIO4 then you
would get -99999 in the locations if data was not available to collect.

When the Checksum, CRC or Signature calculation is used it will reduce the
speed at which the filters can deal with the data from the receive buffers. How
much slower the filters will be depends on which algorithm is used. The timings
for the algorithms are given below. These timings are in addition to the normal
filter processing times:

a

Time to set up an algorithm using filter “g” is 0.0656ms.

b

The time using the different checksum algorithms is shown below. Note that
this is the time that is needed for each character the filter has to deal with, and
this time would be multiplied by the number of characters you expect to receive
while the algorithm is being calculated. This factor would generally constitute
the most significant delay.

1,2

CRC16 and CRC16-CCITT

0.159ms/char.

3 CRC16-CCITT-IBM

0.159ms/char.

4

CRC32 0.369ms/char.

5

CSI Signature

0.077ms/char.

6

Checksum using modulo 256

0.066ms/char.

7

Checksum using modulo 8192

0.071ms/char.

c

The time for the different data types is shown below. Note that this is the time
needed to convert the received signature into a known format and is done at the
end of the signature calculation before the compare. The ASCII decimal
conversion timing is for a number with ten or more digits. If the number is less
than this, the 1.125ms figure shown would reduce by 0.1ms per digit.

1

8 bit binary

0.155ms

2,3

16 bit binary

0.216ms

4,5

32 bit binary

0.334ms

6

ASCII decimal

1.125+(0.075*characters)ms

7

8 bit ASCII hex

0.226ms

8

16 bit ASCII hex

0.355ms

9

32 bit ASCII hex

0.613ms

d

When using CRC32 and CRC16-CITT there is a extra 0.19ms for an additional
calculation. This is required as part of the CRC algorithm.

Advertising