Apagando un controlador en una PCB de múltiples chips

2

Tengo una pregunta de diseño:

  1. ¿Cómo desactivar de forma segura los IC de un controlador (CC2533, reloj RTC) mientras que otros (por ejemplo, Atmega8) se están ejecutando? Básicamente, para programar la atmega sin sacarla de la PCB.

  2. ¿Se produce algún daño si se quita VCC a un chip en particular, por ejemplo, DS1307 RTC cuando su bus I2C todavía está encendido?

pregunta srinathhs

2 respuestas

2

Para ISP (Programación en el sistema) de ATMega8s a través de su SPI como programación de bajo voltaje, usted usaría resistencias en serie en las líneas SPI, si las está usando para cualquier otra cosa. Las resistencias de la serie permitirán que cualquier cosa conectada directamente a los pines sobreponga cualquier cosa en el otro lado de las resistencias. En este caso, el programador del ISP tendrá prioridad para volver a escribir el AVR sin verse afectado por ninguna comunicación desde el otro lado.

Estaesunapreguntacomún: dispositivo SPI impide la programación ISP

En cuanto al DS1307, depende de si se está utilizando con una fuente de alimentación / batería en VBat. De la hoja de datos:

  

Cuando VCC cae por debajo de 1.25 x VBAT, el dispositivo termina un acceso en curso y restablece el contador de direcciones del dispositivo. Las entradas al dispositivo no se reconocerán en este momento para evitar que datos erróneos se escriban en el dispositivo desde un sistema fuera de tolerancia. Cuando VCC cae por debajo de VBAT, el dispositivo cambia a un modo de respaldo de batería de baja corriente. Al encenderse, el dispositivo cambia de batería a VCC cuando VCC es mayor que VBAT + 0.2V y reconoce las entradas cuando VCC es mayor a 1.25 x VBAT.

VBat debe estar entre 2v y 3.5v, o conectado a tierra si no es necesario. Si hay una batería, quitar la energía de VCC pero no las líneas i2c debería colocar el dispositivo solo en el modo de hora normal. La comunicación i2c sería ignorada. Si no hay batería (y VBat atado a tierra), se desconoce cómo actuará el DS1307. Podría extraer toda la potencia de las líneas i2c, a través de diodos de sujeción, para alimentar el DS1307 en modo de función completa. Podría tirar lo suficiente para colocarlo solo en modo de tiempo. Podría entrar en un estado indefinido. O puede que no tire de la energía en absoluto.

En el mejor de los casos, el RTC mantendrá el tiempo sin fallar. O quizás tengas que reprogramarlo. En el peor de los casos, podría dañar el dispositivo y reemplazarlo. Teniendo en cuenta lo barato del DS1307, puedes experimentar para ver.

    
respondido por el Passerby
0

Con respecto a su primera pregunta, muchos circuitos integrados (incluido el CC2533) tienen una línea de restablecimiento que se puede afirmar para que haga exactamente lo que usted describe. Para "apagar" el chip, simplemente podría mantener su pin de reinicio en el estado de reinicio (en el caso de CC2533 RESET_N debería ser bajo). Esto debería evitar cualquier interacción accidental con el IC dado al reprogramar otro. Es posible que algunos dispositivos no puedan manejar bien la pérdida repentina de energía, pero es probable que se noten de manera prominente en la sección de características eléctricas de la hoja de datos correspondiente.

Con respecto a su segunda pregunta, y en general, consulte su dispositivo hoja de datos .

    
respondido por el multipleinterfaces

Lea otras preguntas en las etiquetas