Hardeware Manchesterdekoder

Gast #227603
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.
Gast #227608
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.
Gast #227614
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.
Gast #227616
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;
     }
Gast #227620
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
Gast #227626
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

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