English
Language : 

MA1916 Datasheet, PDF (2/11 Pages) Dynex Semiconductor – Radiation Hard Reed-Solomon & Convolution Encoder
MA1916
OPERATION
REED-SOLOMON ENCODER
The function of the Reed-Solomon (RS) encoder is to take
a block of 223 bytes of serial data and to append a checksum
of 32 bytes. The purpose of the checksum is to allow error
correction within the data block. One important feature of the
Reed-Solomon algorithm is that it allows correction of a burst
error which corrupts upto 16 consecutive bytes. If a number of
messages are interleaved this length can be increased. The
MA1916 provides pin selectable interleave depths of 1, 4 or 5
blocks (see Table 1), each of 223 bytes. An interleave depth of
5 is the maximum recommended by the CCSDS standard.
This will allow correction of up to 80 sequencial bytes in a data
packet.
The RS encoder operates from a clock input CLK which
must be driven at twice the input data rate. Internally CLK is
divided to give a clock CLKS which runs at half the frequency.
This signal is available as an output and is used to time data
into the RS encoder.
A high input on SMC is used to tell the RS encoder that
data to be encoded is present on the MSG pin (see Figure 2).
While SMC is high the data on MSG is buffered and appears
on RSE_OUT as well as being clocked into the encoder. As
soon as SMC goes low the checksum is clocked out of the
encoder onto RSE_OUT.
While SMC is high the RSE_OUT signal follows the input
MSG. When SMC is low RSE_OUT is produced from the
exclusive-OR of MSG and the checksum signal. For this
reason MSG must be held low while the encoder outputs the
checksum.
A gap can be left between successive data packets by
holding SMC and MSG low after the checksum has been sent.
Alternatively, synchronisation code can be inserted before a
data block by holding SMC low and placing the code on MSG.
As soon as SMC goes high any further data on MSG is
assumed to form part of a message and will be encoded
accordingly.
Note: External logic must guarantee the SMC is high for
the correct period, ie only while 223 x I bytes (I = interleave
depth) of data are clocked through. Otherwise when SMC falls
an invalid checksum will be produced.
SEL_A SEL_B
0
0
0
1
1
0
1
1
Interleave
I = Depth
5
4
1
5
SMC_OUT Period (Bytes)
SMC_OUT = 1 SMC_OUT = 0
5 x 223
4 x 223
1 x 223
5 x 223
5 x 32
4 x 32
1 x 32
5 x 32
Table 1: Interleave Length Defined by SEL_A and SEL_B
I = Interleave depths of 1, 4 or 5
SYNC:
If SMC is low and no checksum is being output any data on MSG will appear on RSE_OUT.
This feature can be used to insert a synchronisation sequence before a data block.
DATA:
Data block 223 x I bytes in length.
CHECKSUM: The checksum is 32 x I bytes long and appended to the data by the RS encoder.
Figure 2: Reed-Solomon Encoder Operation
2/11