Skip to content

6b8b line code

Mathias edited this page Apr 22, 2024 · 4 revisions

serial input data is 8bit @500us per bit, no startbits, no stopbits coded with special 6b8b line code to stay in sync

rules for 6b8b:

 - max two HIGH as a group 
 - max four LOW as a group 
 - max one HIGH at byte start and end
 - max two LOW at byte start and end
 - 0x55 and 0xaa are sync bytes

this gives a lookup-table for 64 user bytes and two sync bytes

- big endian:

    0x21, 0x35, 0x2c, 0x34, 0x66, 0x26, 0xac, 0x24,     
    0x46, 0x56, 0x44, 0x54, 0x64, 0x6d, 0x4c, 0x6c,     
    0x92, 0xb2, 0xa6, 0xa2, 0xb4, 0x94, 0x86, 0x96,     
    0x42, 0x62, 0x2a, 0x6a, 0xb6, 0x36, 0x22, 0x32,     
    0x31, 0xB1, 0x95, 0xB5, 0x91, 0x99, 0x85, 0x89,     
    0xa5, 0xa4, 0x8c, 0x84, 0xa1, 0xa9, 0x8d, 0xad,     
    0x9a, 0x8a, 0x5a, 0x4a, 0x49, 0x59, 0x52, 0x51,     
    0x25, 0x2d, 0x69, 0x29, 0x4D, 0x45, 0x61, 0x65,     
    0xaa, 0x55 

- little endian:

    0x84, 0xac, 0x34, 0x2c, 0x66, 0x64, 0x35, 0x24,    
    0x62, 0x6a, 0x22, 0x2a, 0x26, 0xb6, 0x32, 0x36,    
    0x49, 0x4d, 0x65, 0x45, 0x2d, 0x29, 0x61, 0x69,    
    0x42, 0x46, 0x54, 0x56, 0x6d, 0x6c, 0x44, 0x4c,    
    0x8c, 0x8d, 0xa9, 0xad, 0x89, 0x99, 0xa1, 0x91,    
    0xa5, 0x25, 0x31, 0x21, 0x85, 0x95, 0xb1, 0xb5,    
    0x59, 0x51, 0x5a, 0x52, 0x92, 0x9a, 0x4a, 0x8a,    
    0xa4, 0xb4, 0x96, 0x94, 0xb2, 0xa2, 0x86, 0xa6 
    0x55, 0xaa
Clone this wiki locally