I am encountering a logic level issue with INT0 on a Tiny44. I am using the external interrupt to detect the beginning of an analog wave form then triggering a sample/hold circuit 20mS later.
See attached Word Doc for scope pictures...
What I am find is that for input voltages above 1.8V the INT0 behaves as I would expect triggering the interrupt while low starting the timer0 and generating a trigger pulse in the proper position.
However below 1.8 to 1.7V the int0 triggers excessively. I thought that the logic level for a low was 0.8V or less....
I am feeding the analog signal through a 180Ohm series resistor: The wave form is identical on both sides of the resistor so I don't think that I am loading the signal down with the pin.
DDRB = 0x00; // all inputs
PORTB = 0x0F; // all pullup enabled
My INT0 interrupt routine starts timer1 and presets the TCNT0 to a preset value. As long as INT0 is low the TCNT0 is reset. When the signal leaves ground INT0 is supposed to stop triggering its interrupt and allow the TIMER0 to generate output pulses using COMPA/B and the OVF interrupts. This would let me detect the rising edge of the signal.
Works well as long as I have a large enough signal.
It just seems as if the Logic Level for a LOW is 1.8V or less....
A simple work arround would be to just start TIMER0 on the falling edge and disable INT0 interrupt until the TIMER0 completes its waveform. But I am close to making this work.
I would like to hear some suggestions and comments.