| Electronic Components Datasheet Search |
|
MAC7200 Datasheet(PDF) 473 Page - Freescale Semiconductor, Inc |
|
|
|||||||||||||||||||||||||||||
MAC7200 Datasheet(HTML) 473 Page - Freescale Semiconductor, Inc |
|
473 / 976 page ![]() Hamming Algorithm MAC7200 Microcontroller Family Reference Manual, Rev. 2 Freescale Semiconductor 395 19.2.4 Initialization/Application Information It is essential that each memory address be written to a known value before it is read. This includes reads generated from the read/modify/write operation which occurs when a write transfer of less than 32 bits or unaligned write is requested (see Section 19.2.3.5.2, “Less than 32-bit Writes”). Without writing an address to a known value first, a read from this address will most likely generate an ECC multiple error. 19.3 Hamming Algorithm 19.3.1 Basic Algorithm The ECC algorithm is a modified form of the basic Hamming code. First is a description of how the basic Hamming Code is calculated. 19.3.1.1 The Hamming Rule The number of parity bits required to detect a single-bit error is given by the Hamming rule, and is a function of the number of bits of information transmitted. The Hamming rule is expressed by the following inequality: Eqn. 19-3 Where d is the number of data bits, and p is the number of parity (ECC) bits. Therefore, to code 32 bits of data and detect single errors, 6 ECC bits are needed. By adding an extra ECC bit to check the overall parity of the entire code word, two-bit errors can be detected. 19.3.1.2 Creating A Hamming Codeword The code word can be created as follows. (Assume the code word bit positions to be laid out as follows: msb < position 1, 2, 3, .... d+p-1, d+p > lsb, this is contradictory notation from the actual rtl notation where the msb is labelled with the highest number as in syndrome[6:0]) 1. Mark all bit positions in the code word that are powers of two as ECC bits. (position 1, 2, 4, 8, 16, etc.) 2. Place the data to be encoded in remaining bit positions skipping positions reserved for ECC bits. (data_bit[x] goes into position 3, data_bit[x-1] is placed into position 5, data_bit[x-2] into position 6, etc.) 3. Each ECC bit calculates the parity for some of the bits in the code word. The position of the ECC bit determines the sequence of bits that it alternately checks and skips in its parity calculation beginning with its own position. 4. These Hamming ECC bits are based on even parity, therefore if the total number of 1’s in the positions it checks is odd, the parity bit is set to a 1 to make the entire parity check even. If the total number of 1’s in the positions checked is even, the parity bit is set to 0. Example • Data Byte = 10011010 dp1 2 p ≤ ++ |
|
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 |