Estoy usando un Attiny84 para generar pulsos de 100us para un controlador de compuerta de tótem. Esperaba tiempos de subida y bajada del orden de 10 de nanosegundos, lo que obtuve fue un tiempo de subida de 7.8 (10% a 90%) y una caída de 230us. Para descartar cualquier capacitancia parásita o bucles de tierra impares en mi tablero, coloqué la uC en una placa de pruebas con solo la sonda de alcance conectada al pin que genera los pulsos de 100us con el mismo problema. Hay tapas de desacoplamiento a través de los rieles.
La atenuación de la sonda de alcance es 1X, 1Mohm / 20pF de carga de entrada.
Estoy usando el pin 11 para la generación de pulsos.
Cosas que ya probé:
- Tried another Attiny84 IC to rule out defective chip
- Different loads. Placing a 100kΩ pull down decreases fall times
somewhat, but the signal only plateus to 4V instead of 5V. Placing a 10k
resistor makes the signal entirely disappear.
- Tried different pins, same problem.
- Scoped 50ns rise and fall times on a completely unrelated board to rule
out the scope as being defective.
Código fuente:
int main(void)
{
DDRA &= (1<<PA2);//set pin as output 11
while(1){
PORTA |= (1<<PA2); //set pin 11 high
_delay_us(100);
PORTA &= ~(1<<PA2);//set pin 11 low
_delay_ms(100);
}
return 0;
}
Hoja de datos de Attiny84: enlace
¿Estoy esperando demasiado del chip? La hoja de datos proporciona una cantidad mínima de información sobre los pines de E / S en la página 174.
Editar: Vaya, qué vergonzoso error. La respuesta de Bruce Abbott es correcta. Gracias.