11 votos

¿Cómo se puede determinar si un nuevo microcontrolador es defectuoso?

Nunca he tratado con partes defectuosas del estrecho de digikey, pero 3 nuevos Atmel ATmega164A que he recibido han sido exhibiendo muy extraño comportamiento.

Me condujo hacia algo que ver con el reloj y resultó que el resultado de la señal de reloj de la supuesta "calibrado de fábrica" oscilador interno fue el temblor entre 650-700 kHz en lugar de los sólidos de 1 MHz se supone que debe ser. Yo era capaz de escribir en la calibración de bytes para obtener esta muy cerca de la 1 MHz (todavía con algunos de jitter) y la mayoría de las cosas de trabajo pero las UARTs simplemente no se comportan correctamente, que parece salida de un flujo continuo de pulsos cortos no importa lo que usted les pida que hagan.

He tratado con la versión de baja potencia de este microcontrolador antes (164P) con cero problemas y decidió dejar en su lugar y comprobar la salida de reloj en la que, por su sólida de 1 MHz sin fluctuación. Me estoy inclinando hacia la conclusión de que estos 164A chips defectuosos, pero ¿hay otras pruebas de que pudiera tratar de confirmar eso?


Edit: Sólo pensé en describir el proceso por el cual estoy midiendo el reloj. He habilitado la salida de reloj fuse bits y se mide el pin apropiado con una lógica de analizadores de muestreo a una tasa muy alta. Tengo un programa que se escribe en el registro de calibración OSCCAL y he sido capaz de ensayo y error a mi manera a 1 MHz.


Edición #2: Después de más investigación, parece que el microcontrolador comienza a actuar después de un cierto tamaño del programa umbral. Un escueto proyecto con un solo archivo de origen de parpadear un LED parece estar bien, pero compilar y vincular en cualquiera de mis otros ficheros (UART de la biblioteca o lo que sea) sin ni siquiera hacer una llamada de función a estos métodos hace que el microcontrolador se comportan en el comportamiento descrito anteriormente. Las conexiones eléctricas están bien y adecuada disociación ha sido ejercido. No tengo tiempo para depurar esta más en el momento, así que hemos salido adelante con la versión de baja potencia en su lugar. Estoy seguro de dónde está exactamente el problema podría ser 1) 164A y 164P no son compatible con el código 2) procedimiento de Programación es diferente para estos dos uC 3) Unidades son defectuosos. Tengo confianza en nuestro diseño de la placa y podría descartar problemas de alimentación. Por desgracia, realmente no puedo elegir una respuesta correcta, así que voy a dejar esta pregunta como es - tal vez voy a volver a el problema de nuevo en el futuro. Gracias a todos los que proporcionaron valiosos comentarios o respuestas, que pueden servir de utilidad a alguien más con la uC problemas fuera de la caja.

13voto

jason saldo Puntos 5036

Una vez tuve un problema con la línea de base Microchip partes. Estábamos arruinando la programación ICSP y estaban buscando una manera de borrar el oscilador de recorte, causando un grave error en la precisión del reloj interno. Asegúrese de que su programación de la fijación y/o herramientas de programación están conectados correctamente y se utilizan correctamente.

No hay una manera fácil de verificar la exactitud de la pieza electrónica recambiable sin necesidad de programar las partes, por lo que acababa de escribir un trivial puerto de alternar programa (que no hace nada, pero meneo una línea de e/S) y tener a alguien programa de las partes, de preferencia con diferente hardware de programación. Una vez que compruebe el meneo, se puede flashear con su propio código y ver si el problema persiste.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X