chips dsPIC funcionando a una fracción de la velocidad normal


9

Tengo dos PCB. Uno tiene un dsPIC30F6012a, el otro un dsPIC30F6015. Ambos se están programando desde proyectos HEX independientes por separado en MPLAB X, utilizando un PICkit 3. Ambos firmwares se han aplicado a docenas de unidades antes de este punto sin dificultad. Actualmente, el firmware funciona correctamente cuando se programa desde todas las PC menos una. En esa PC, a partir de ayer , ambos programas de firmware sin error obvio, pero se ejecutan a aproximadamente 1/20 de la velocidad normal. Antes de ayer, esa PC también programó estas placas sin problema.

Las pantallas de bienvenida tardan dos minutos en lugar de cinco segundos, las luces parpadean muy lentamente y, además, todo funciona correctamente. Es casi como si los bits de configuración del oscilador hubieran sido alterados, pero no estoy al tanto de ninguna parte de MPLAB X que se pueda hacer en un proyecto independiente.

Entonces, dos firmwares diferentes, en dos chips diferentes, en múltiples instancias del mismo diseño de PCB, funcionando a diferentes velocidades dependiendo solo de la PC que se use para programarlos. La reprogramación de una placa lenta en una PC "buena" soluciona el problema; reprogramar esa misma placa en la PC "mala" lo trae de vuelta. Todo lo que puedo imaginar es que en esa PC alguien presionó el botón "hazlo ir despacio", pero no puedo encontrar nada etiquetado. (Sin embargo, nuestros técnicos son bastante creativos). Actualmente estoy desinstalando MPLAB X, borrando la configuración del usuario y reinstalando una versión más reciente. (Pasando de 1.3 a 1.6.) Pero incluso si eso lo soluciona, todavía no estoy feliz de no saber qué está pasando. ¿Alguien tiene alguna idea de este problema?


¿La PC realiza una verificación después de la programación? Puede verificar los bits de configuración con eso, porque parece que ese es el problema.

Verificar se ejecuta, sí. No se arrojaron errores, por lo que supuse que incluía los bits de configuración, pero no verifiqué manualmente. Probablemente debería haberlo hecho, solo para obtener más datos, pero me presionaron por el tiempo y fui directamente a la solución de desinstalación / reinstalación. ¡Esperando noticias si eso funcionó o no!
Stephen Collings

¿Se verificará una placa programada por una PC de inducción lenta en una PC "buena"?
Chris Stratton

Desafortunadamente (¡ja!) La reinstalación solucionó el problema, por lo que no puedo reunir más datos ... ¡hace que sea difícil obtener una respuesta definitiva!
Stephen Collings

Esta pregunta se lee como algo sacado de una The Theion de temática tecnológica .
Kevin Chen

Respuestas:


1

En MPLAB X, los bits de configuración no se pueden establecer por separado del código (como MPLAB 8 solía permitirte). La única forma en que los bits de configuración podrían estar 'incorrectos' es si alguien modifica el código. Dado que está utilizando un proyecto de archivo HEX independiente, esto es poco probable.

No ha dicho si la reprogramación de una de las placas 'malas' en una PC 'en funcionamiento' realmente soluciona el problema. Pruébalo

Otra cosa que podría hacer (si no usa protección de código) es leer el archivo HEX desde una configuración 'funcional' y actualizarlo en una de las placas que funcionan mal. Esto debería eliminar el cambio de código como una de las incertidumbres.

Otro escenario (poco probable) es que su stock dsPIC cubre múltiples revisiones, y un cambio gradual ha invalidado de alguna manera su código. Asegúrese de que los números de pieza de IC sean correctos, y cuando el PICkit3 se conecte, debería ver un código de revisión que pueda hacer referencia cruzada a la revisión de silicio.

EDITAR: ahora es el momento de asegurarse de que las diversas instalaciones de MPLAB X coincidan en todas las PC: ¿son la misma revisión? ¿Son la última revisión?

Cada vez que hay una nueva versión de MPLAB X, el firmware PICkit3 tiende a actualizarse; puede haber un error o incompatibilidad con el firmware PICkit3 anterior y su archivo HEX.

Recientemente tuve una situación similar (ahora que me di cuenta), donde un archivo HEX que generé en mi máquina con MPLAB X y XC16 se programaría correctamente en mi máquina, pero no en otra máquina que usa MPLAB 8 v8. 50 - el código parecía funcionar más lentamente (los LED de inicialización parecían lentos). Cuando esa PC se actualizó con MPLAB 8 v8.88, usando el mismo programador y el mismo archivo HEX, las cosas comenzaron a funcionar nuevamente. Extraño.


Reprogramé la misma placa en PC "buenas" y "malas", y el problema vino y desapareció después de la PC que se usó para programar la placa. He editado la pregunta para reflejar esto.
Stephen Collings
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.