One Wire: IRQ

Gast #1506578
Lesenswert?

Hier ein Zitat aus einer AN von Maxim:

"A key advantage to the 1-Wire bus is the flexibility in bit-to-bit 
timing. The delay between bits can be as short as tREC minimum, or as 
long as the bus master deems necessary. There is no maximum delay period 
between 1-Wire bits or bytes. Therefore, the processor can service the 
UART at its leisure in framing bit time slots into byte values. 
Communication with 1-Wire devices can be designated as a low-priority 
task. The processor need not waste processing cycles or power, or 
neglect high-priority time-critical tasks."

Bedeutet das, daß während einer Bitabfrage alle IRQ blockiert werden 
müssen und, daß zwischen den Bits die Interruptroutinen problemlos 
abgearbeitet werden können?
#1506868
Lesenswert?

Markus schrieb:

> Bedeutet das, daß während einer Bitabfrage alle IRQ blockiert werden
> müssen und, daß zwischen den Bits die Interruptroutinen problemlos
> abgearbeitet werden können?

Jein. Ein bischen gelogen ist es schon. Das Bit-Timing ist durchaus 
harmlos, so weit stimmt es. Nur die ~15µs vom Bit sind kritisch, die 
Zeit zwischen den Bits nicht.

Interressanter ist jedoch der 1-Wire Reset, wenn man das eher eng 
definierte Timing aus der app126 zugrunde legt. Da hat man für die 
aktive Zeit 480-640µs zur Verfügung, was durch Interrupts schon mal 
überschritten werden könnte. Und die 63-78µs danach bis zur Abfrage 
müssen mit gesperrten Interrupts laufen.

Die maximal Sperrzeit für Interrupts liegt also trotz des harmlosen 
Bit-Timings eigentlich bei ~70µs.

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