Forum: Mikrocontroller und Digitale Elektronik Kurzes (1-2us) toggeln von Atmega Pin für ASK Modulation bei RFID?


von Michael M. (mikmik)


Lesenswert?

Hello,
angenommen man will zB im RFID Bereich eine ASK Modulation machen, dann 
schreibt zB ISO14443 eine eine Modifizierte-Miller Codierung für die 
Datenübertragung von Reader zu Tag vor. Nutzt man keinen SpezialIC läge 
es doch nahe einen uC dies machen zu lassen. Nur sieht die ASK 
Modulation dann so aus, dass die 13.56MHz länger auf der Spule liegen, 
und dann für 1-2 uS unterbrochen wird. Wie bekommt man solche kurzen 
Aussetzter mit einem zB Atmega zusammen der mit 8MHz betrieben wird? 
Wenn ich einen Timer (Fast PWM,Compare match=1 und CLK=XTAL) aktiviere 
und in der ISR einen Portpin toggle, komme ich nur auf ca. 20 us.

von Jörg H. (idc-dragon)


Lesenswert?

Du kannst einen der Output Compare Pins nehmen. Die sind (entsprechend 
konfiguriert) direkt mit dem Timer verbunden. Heißt, der Pin 
wechselt/wird high/wird low wenn der programmierte Zählerstand erreicht 
ist.
Damit kannst du ein taktgenaues Timing erzeugen.

Jörg

von Michael M. (mikmik)


Lesenswert?

Hallo,
danke für den Tipp, werd ich auf jeden Fall noch ausprobieren.

Nur noch falls es wen interessiert, mit dieser inline asm kann man einen 
beliebigen pin im 2us tackt toggeln (bei 8MHz XTAL).

inline void WaitNop ()
{
asm volatile (
  "ldi r16, 0b11111111 \n\t"
  "out 11, r16 \n\t"
    //"nop \n\t"
  "ldi r16, 0b00000000 \n\t"
  "out 11, r16 \n\t"
  //"nop \n\t"
    );
}

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.