Johnson kod

Johnson-koden  är ett slags binärt talsystem , där två intilliggande koder skiljer sig åt i endast en binär siffra.

Historik

1953 utvecklade Robert Royce Johnson ett antal olika räknare baserade på ett variabelt antal staters skiftregister med en enkel återkopplingslogik och ansökte om ett patent [1] . Räknaren som körs i Johnsons kod är den enklaste av dem alla.

Principer för bildandet av Johnson-koden

4-bitars Johnson-kod
N bitar
fyra 3 2 ett
0 0 0 0 0
ett 0 0 0 ett
2 0 0 ett ett
3 0 ett ett ett
fyra ett ett ett ett
5 ett ett ett 0
6 ett ett 0 0
7 ett 0 0 0
0 0 0 0 0
ett 0 0 0 ett
  1. Bildandet av Johnson-koden utförs genom en förskjutning från höger till vänster siffror, och den infogade nästa biten av siffran är lika med logisk 1 tills det finns logiska i alla siffror. Efter det, i samma ordning (från sidan av höger till sidan av vänster siffror), flyttas logiska nollor tills endast logiska nollor finns kvar i alla siffror.
  2. Johnson-koden är en överskottskod, det vill säga för antalet bitar större än 2 i Johnson-koden krävs fler bitar för att koda ett visst antal tillstånd än i en positionell binär kod .
  3. Johnson-koden är en anti-interferenskod. Detta betyder att varje efterföljande kombination skiljer sig från den föregående med värdet av endast en bit, eller att Hamming-avståndet mellan intilliggande kodkombinationer är lika med 1. I räknarkretsar eliminerar denna egenskap den samtidiga omkopplingen av många element, vilket är typiskt för binära räknare under vissa övergångar. Att byta många vippor samtidigt skapar stora strömpulser i strömkretsar som kan orsaka logikkretsfel.
  4. Johnson-koden är en cyklisk kod. Det vill säga, den sista kombinationen skiljer sig från den första också genom värdet av endast en bit.

Räknare i Johnsons kod

Figuren visar ett diagram över en binär 4- bitarsräknare som arbetar i Johnson-koden. Ändringar i tillståndet för bitarna i denna räknare motsvarar de som anges i tabellen. Efter att en puls applicerats på "Reset"-linjen, sätts alla siffror i räknaren till ett logiskt 0-läge, medan en logisk 1:a kommer att finnas vid D-ingången på den första D-triggern, eftersom denna ingång tar emot en signal från den inversa utsignalen från den fjärde triggern. På den stigande flanken av klockpulsen "Count" kommer den första triggern att ställas in på tillståndet logisk 1, som sänds till D-ingången på den andra triggern. Nästa klockpuls kommer att överföra denna utlösare till det logiska 1-tillståndet, etc. Efter att 4 klockpulser har applicerats kommer alla triggers att gå till det logiska 1-tillståndet, och logisk 0 kommer att ställas in vid ingången till den 1:a triggern, sedan triggarna kommer sekventiellt att ta tillståndet logisk 0, tills alla triggers inte kommer att ställas till ett tillstånd av logisk noll, det initiala initiala tillståndet.

Anteckningar

  1. Robert Royce Johnson , "Elektronisk räknare" Arkiverad 19 december 2021 på Wayback Machine , US Patent No. 3030581 inlämnad 1953.

Se även