Aunque no sabía exactamente donde colocar el tema, lo coloqué aquí.
El caso es el siguiente, he diseñado un sistema en el que un PIC controla el 90% de las funciones del sistema y el resto lo controla otro PIC que se encarga solo de una función, controlar el teclado, una de las funciones del PIC principal (el del 90%) es controlar una pantalla LCD 4x20, el fin del ensayo o circuito era probar el protocolo de comunicaciones entre ambos PIC y que el código de la tecla pulsada apareciera en la pantalla LCD, al principio no funciono, luego de corregir varios problemas con los programas y el circuito, logré que funcionara, sin embargo con el tiempo fallaba lo cual no era lógico ya que las variables no cambiaban si éstas no pasaban por los buses, lo cual me llevó a que Proteus a través del tiempo cometía errores en el programa, supuse que era debido a que ocupaba mis 2 núcleos y Windows le quitaba tiempo y los errores se acumulaban y en fin.
Pensé que se debía que usaba la frecuencia real de diseño, y lo que hice fué reducir la frecuencia en ambos microcontroladores a otra frecuencia, la real era de 20MHz y la reduje a 1MHz, aunque todos los tiempos que Proteus consideraba real sé que son una veinteava parte de lo real para mí, funciona perfectamente ...
Los protocolos de comunicaciones funcionan indistintamente de la frecuencia, pero mi preocupación es que reducir la frecuencia afecte a la pantalla LCD, ya que éste si depende del tiempo, pero como la frecuencia fué reducida y no aumentada no deberían haber problemas.
La pregunta es si acaso afecto a algo más haciendo ésto... si crea errores o algo en el diseño... o simplemente sus opiniones si ésto es una buena técnica...
El caso es el siguiente, he diseñado un sistema en el que un PIC controla el 90% de las funciones del sistema y el resto lo controla otro PIC que se encarga solo de una función, controlar el teclado, una de las funciones del PIC principal (el del 90%) es controlar una pantalla LCD 4x20, el fin del ensayo o circuito era probar el protocolo de comunicaciones entre ambos PIC y que el código de la tecla pulsada apareciera en la pantalla LCD, al principio no funciono, luego de corregir varios problemas con los programas y el circuito, logré que funcionara, sin embargo con el tiempo fallaba lo cual no era lógico ya que las variables no cambiaban si éstas no pasaban por los buses, lo cual me llevó a que Proteus a través del tiempo cometía errores en el programa, supuse que era debido a que ocupaba mis 2 núcleos y Windows le quitaba tiempo y los errores se acumulaban y en fin.
Pensé que se debía que usaba la frecuencia real de diseño, y lo que hice fué reducir la frecuencia en ambos microcontroladores a otra frecuencia, la real era de 20MHz y la reduje a 1MHz, aunque todos los tiempos que Proteus consideraba real sé que son una veinteava parte de lo real para mí, funciona perfectamente ...
Los protocolos de comunicaciones funcionan indistintamente de la frecuencia, pero mi preocupación es que reducir la frecuencia afecte a la pantalla LCD, ya que éste si depende del tiempo, pero como la frecuencia fué reducida y no aumentada no deberían haber problemas.
La pregunta es si acaso afecto a algo más haciendo ésto... si crea errores o algo en el diseño... o simplemente sus opiniones si ésto es una buena técnica...