Gast
#482581
Hallo, ich möchte einen IC von TI mit einem AVR ansprechen. Bei HDQ handelt es sich um einen vereinfachten 1wire Bus: Die Datenleitung wird über einen Pullup Widerstand auf Vcc gezogen und jeweils vom Host und Client über einen NPN Transistor auf GND gezogen. Eine logische 1 wird übertragen, indem die Leitung für 50 µS auf low gezogen wird, eine logische 0 indem die Leitung für 150 µS auf low gezogen wird. Danach wird gewartet, bis seit Bitanfang 200 µS vergangen sind. Wenn man so will eigentlich eine Pulsbreitenmodulation. Die angegebenen Werte sind nur qualitativ, aber in dieser Größenordnung. Nun suche ich nach Ansätzen, wie man ein solches Signal mit einem AVR senden und empfangen könnte. Zum Empfangen habe ich die Idee den ICP (Interrupt Capture) zu verwenden: Bei fallender Flanke wird der Zählerstand gesichert, bei steigender Flanke wird der Zählerwert vom gesicherten Wert abgezogen und ausgewertet. Ist das Ergebnis < 100 µS wird ein high bit, andernfalls ein low bit registriert. Ist das so praktikabel oder gibt's da was von Ratiofarm ? Zum Senden ist mir nichts schönes eingefallen. Vielleicht einen PWM Generator mit einer Periodendauer von 200 µS laufen lassen und im OCR Interrupt immer den Wert des auszugebenden Bits entsprechend setzten ? Was habt Ihr dazu so für Ideen ? Schöne Grüße Stefan