Forum: Mikrocontroller und Digitale Elektronik Hardeware Manchesterdekoder


von Paul Momsen (Gast)


Lesenswert?

Hallo,
kann mir jemand einen Codierer/Decoder für Manchestercode empfehlen?
Gibt es sowas überhaupt als Hardeware IC? Ich habe biser leider noch
keinen gefunden.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?


von Paul Momsen (Gast)


Lesenswert?

Das hilft mir leider nicht weiter. Kann  mir jemand einen konkreten
Encoder/Decoder empfehlen?

von Yeah (Gast)


Lesenswert?

Ein FPGA deiner Wahl.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Was soll das IC machen; wie viele Bits, seriell, parallel...?

von Paul Momsen (Gast)


Lesenswert?

Der IC soll 10 Bit einer UART (mit start und Stopbit)codieren bwz.
decodieren. Die Daten sollen seriell eingelesen bzw. ausgegeben werden.
Die Datenrate der UART betragt 1152Kbps.
Die UART sendet permanent Daten.

von Yeah (Gast)


Lesenswert?

Du meinst wirklich 1152 Kbps, also 1.152Mbps?

von Paul Momsen (Gast)


Lesenswert?

ja genau.

von Yeah (Gast)


Lesenswert?


von Yeah (Gast)


Lesenswert?

Und hier beides, vielleicht hilft es:
http://direct.xilinx.com/bvdocs/appnotes/xapp339.pdf

von Paul Momsen (Gast)


Lesenswert?

den hab ich auch schon gefunden, der muss aber mit VHDL programmiert
werden, damit möchte ich mich aber nicht befassen. Ich suche einen
Einfachen IC der nicht unbedingt programmiert werden muss, sonst könnte
ich auch nen zweiten AVR nehmen. Aber das will ich ja vermeiden.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wenn du sowieso schon einen AVR hast, wieso kann der das nicht
übernehmen?

von Yeah (Gast)


Lesenswert?

Bei über 1 Megabit/s?

von Paul Momsen (Gast)


Lesenswert?

der ist mit der decodierung überlastet Das nächste Datenwort kommt,
bevor der mir der Decodierung fertig ist. Dadurch hab ich permanent
einen Bufferoverrun der UART.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Da habe ich unaufmerksam gelesen; wenn die Daten nicht über das UART,
sondern "roh seriell" empfangen werden, dann wird das tatsächlich
schwierig.

von Peter Dannegger (Gast)


Lesenswert?

Einfach nen ATTiny13 dafür abstellen.

Bei 9,6MHz sollte der genug Zeit dafür haben.


Peter

von Paul Momsen (Gast)


Lesenswert?

Die Daten werde schon über die UART empfangen, das Auslesern des UDR
Register geschieht in einer Interrunptroutine. Die Zeit für die
decodierung ist aber trotzdem zu lang. Das nächste Datenwort ist schon
da, bevor die Decodierung fertig ist.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Was dauert denn so lange bei der Dekodierung? out =
dekodierungstabelle[in]?

von Paul Momsen (Gast)


Lesenswert?

Ich nehme an, das Shiften? Ich hab die Routine mal reinkopiert. An die
Funktion werden 16 Bit im ManCode übergeben.

unchar manDecode(data)
  {
    low = (uchar)(data >> 8);
    if ( (low & 0xAA) ^ ((~low & 0x55) << 1) )
  {
         return;
  }
    else
        low &= 0xAA;
    high = (uchar)mc;
    if ( (high & 0x55) ^ ((~high & 0xAA)>>1) )
  {
        return;
  }
    else
        high &= 0x55;
        return low | high;
     }

von Yeah (Gast)


Lesenswert?

if, then, else,...

Mach ne Tabelle!

von Paul Momsen (Gast)


Lesenswert?

Ich habe die Daten Byteweise vorliegen, mir ner If, else muss ich
trotzdem ODER Verknüpfungen machen und shiften. Oder irre ich mich?

von Paul Momsen (Gast)


Lesenswert?

Ansich geht es mir ja auch darum einen Hardeware decoder zu finden, den
ich  vor bzw. hinter die UART schalten kann.

von Peter Dannegger (Gast)


Lesenswert?

Das Thema hatten wir doch schonmal:

Es ist nicht möglich, mit ner UART Manchester zu senden bzw. zu
empfangen !


Die Codierung muß also hinter der UART (TXD) bzw. davor (RXD) erfolgen,
d.h. auf Bitebene.

Und das könnte eben ein ATTiny13.


Peter

von Paul Momsen (Gast)


Lesenswert?

Das ist mit auch klar, deshalb kann man das entweder Hardwaremäßig lösen
oder Softwaremaßig. Mir geht es darum, was für einen IC ich vor die UART
schalten kann.

von Yeah (Gast)


Lesenswert?

einen ATTiny13

von Michael Wilhelm (Gast)


Lesenswert?

Dann greif doch Peters Vorschlag auf. Ich würde nur einen 2313 nehmen,
da dann die Bytes parallel übergeben werden können.

MW

von Hartmut Gröger (Gast)


Lesenswert?

Hi

Sieh dir mal das Datenblatt vom AT90PWM2/3 an. Der hat
Manchestercodierung/decodierung. Verfügbarkeit kenne ich aber leider
nicht.

MfG HG

von Paul Momsen (Gast)


Lesenswert?

@ Hartmut
jo danke, der könnte gehen, den kann ich beim redesign vielleicht
verwenden. Hab jetzt meine Software optimiert und es läuft erst
einmal.
MfG Paul

von Sebastian (Gast)


Lesenswert?

Hallo,

mir ist gerade zufällig der 15530 (www.aeroflex.com) aufgefallen. Das
könnte etwas für Dich sein, wenn Du Dich um den Tiny herumdrücken
willst. Frag mich aber bitte nicht, wo man den in Deutschland
herbekommt.

Gruß,
Sebastian

von Sebastian (Gast)


Lesenswert?

Die genaue Webseite:
http://www.ams.aeroflex.com/ProductPages/AE_encdec.cfm

Nochmal Gruß,
Sebastian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.