Forum: Mikrocontroller und Digitale Elektronik Eindrahtschnittstelle Manchester-Code mit PIC12F629


von nuess (Gast)


Lesenswert?

Hallo leute,

ich muss eine Eindrahtschnittstelle auf einem PIC12F629 realisieren. 
Übder diese Schnittstelle sollen Daten im Manchester Code gesendet und 
empfangen werden können.
Der timer T1 (16Bit) ist bereits für die Erzeugung einer RTC (Real Time 
Clock) in verwendung. Somit steht nur noch der timer T0 mit 8Bit zur 
verfügung.

Hat schonmal jemand sowas ähnliches realisiert?

Ich bin für jede anregung / unterstützung dankbar.

von Francesco N. (franceso-)


Lesenswert?

Bei Manchester Encoding wird meistens ein Preamble gesendet,
damit sich der Empfänger auf das Signal syncronisieren kann.
Man kann dieses nutzen, um eine Zeitreferenz zu bekommen, die man dann
al basis verwendet.

von Peter D. (peda)


Lesenswert?

nuess wrote:

> Der timer T1 (16Bit) ist bereits für die Erzeugung einer RTC (Real Time
> Clock) in verwendung. Somit steht nur noch der timer T0 mit 8Bit zur
> verfügung.

Was in der Regel nicht stimmt.
Ein durchlaufender Timer kann sehr wohl mehrere Zeitaufgaben erledigen.


Ich hatte auch grad das Problem, über einen Draht (Optokoppler) etwas zu 
übertragen.
Dabei ist mir aufgefallen, daß es wesentlich einfacher als Manchester 
geht. Ich erzeuge bzw. erkenne die Zeiten zwischen 2 Flanken:

Sender:

1 * Bitzeit = 0
2 * Bitzeit = 1
4 * Bitzeit = Pause (keine Daten)

Empfänger:

3 * Bitzeit = Pause
1,5 * Bitzeit = 0/1-Unterscheidung


Der Code läuft in C aufm ATtiny13 (Sender) bzw. ATmega8 (Empfänger)


Peter

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.