8b10b auf einem STM32 implementieren

OP #2763024
Lesenswert?

Hallo zusammen

Ich übertrage aktuell etwa 100 kBit/s über eine längere Strecke, 
Manchester-Codiert. Dies funktioniert auch sehr gut und zuverlässig.

Ich möchte nun die Manchester-Codierung auf eine 8b10b-Codierung 
umstellen. Die 8b10b-Codierung ist ja auch mehr oder weniger 
gleichspannungsfrei, benötigt jedoch deutlich weniger Bandbreite als die 
Manchester-Codierung.

Meine Frage: hat jemand die 8b10b-Codierung schon mal in c 
implementiert? Die meisten Implementationen die ich gefunden habe sind 
eher digitaler Natur und somit auf FPGAs und CPLDs implementier...

Wäre toll, wenn jemand eine effiziente Möglichkeit dazu hätte...

Besten Dank im Voraus
#2763129
Lesenswert?

@  R. K. (uc_student)

>Meine Frage: hat jemand die 8b10b-Codierung schon mal in c
>implementiert?

Eine Tabelle mit 512 Einträgen a 16(10) Bit sollte auf einem STM32 wohl 
kein Thema sein, oder?

>Kopfzerbrechen... Bei 10 Bit würde die Lookup-Tabelle dann doch ziemlich
>gross

Bitte? 1024 Byte sind dir zuviel?
Gast #2763177
Lesenswert?

R. K. schrieb:
> Mir ist natürlich klar, dass ich das Encoding sehr einfach über eine
> Lookup-Tabelle machen würde, doch das Decoding macht mir
> Kopfzerbrechen... Bei 10 Bit würde die Lookup-Tabelle dann doch ziemlich
> gross

Der am meisten gebräuchliche 8b10b code ist zweiteilig, ein 5b6b und ein 
3b4b Teil. Braucht also keine 10 bit Lookuptable, eine 6bit und eine 
4bit reicht.

Für Gleichspannungsfreiheit muss man beim encoden auch eine running 
disparity mitführen.

http://en.wikipedia.org/wiki/8b/10b_encoding

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren