| Electronic Components Datasheet Search |
|
MAC7200 Datasheet(PDF) 474 Page - Freescale Semiconductor, Inc |
|
|
|||||||||||||||||||||||||||||
MAC7200 Datasheet(HTML) 474 Page - Freescale Semiconductor, Inc |
|
474 / 976 page ![]() Hamming Algorithm MAC7200 Microcontroller Family Reference Manual, Rev. 2 396 Freescale Semiconductor • p = 4 bits of ECC • Code Word = __1_001_1010 NOTE Remember code word positions 1, 2, 4, and 8 are reserved, so the msb of the data byte is placed in position 3, the next in position 5, etc. • Position 1 checks every other bit position 1, 3, 5, 7, 9, 11: (? represents the bit position being set) ? _ 1 _ 0 0 1 _ 1 0 1 0 : Even parity so position 1 set to a 0. • Position 2 checks two bits, skips two bits 2, 3, 6, 7, 10, 11 (Notice it checks 2, skips 2, etc) 0 ? 1 _ 0 0 1 _ 1 0 1 0 : Odd parity so position 2 set to a 1. • Position 4 checks 4 bits starting with position 4, then skips 4, etc. Each parity bit continues in the same way checking and skipping the same number as its position. 0 1 1 ? 0 0 1 _ 1 0 1 0 : Odd parity so position 4 set to a 1. 0 1 1 1 0 0 1 ? 1 0 1 0 : Even parity so position 8 set to a 0. The resulting 12-bit code word is 011100101010. To create the syndrome, the code word is decoded. Each of the 4 parity combinations are checked again using the same method as above, but now on the completed 12bit code word. If the code word does not change, the syndrome will equal all zeros. If, for example, if the bit in position 3 of the code word is inverted, the generated syndrome will be {position 8,4,2,1} = 4’b0011 ~ 3. Bit 1 of the syndrome is decoded as the parity of positions 1, 3, 5, 7, 9, 11. If bit position 3 has flipped, then the number of 1’s has changed from 4 to 3. Therefore this syndrome bit is assigned a 1 because the parity of the positions it calculates is odd. The same occurs for syndrome bit 2. The entire syndrome decodes to 3. This number gives the exact bit position in the code word to be corrected. Adding one more ECC bit to check the parity of the entire code word allows for double bit detection. In the PRAM_CTL this bit is based on odd parity. Therefore, for the example above, an odd parity based ECC bit would be assigned the value 1’b1 and added to the end of the code word to make the entire code word odd (there are 6 1’s otherwise in the code word). When code word bit 3 flips, the parity of the entire codeword becomes even, signalling a single-bit error when the syndrome is non-zero. If the syndrome is non-zero, and the parity check of the entire code word is a one (odd), then at least two bits must have changed. 19.3.1.3 Hamming Parity Code Table This simple Hamming code is nearly the same algorithm used in the PRAM_CTL, but on a larger scale of 32 bits at a time. Table 19-9 shows the would be relationship between each data bit and the ECC bits for the basic Hamming Code. For each column, an ’X’ represents the inclusion of the corresponding data bit in the XOR equation for the corresponding ECC bit. For instance, data bit 31 goes into the equations for calculating ECC bits 0 and 1. Therefore, if the resulting syndrome is 6’b000011 ~ 3, then data bit 31 would be corrected. |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |