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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.