Cómo interactuar con un bus que está encendido cuando el resto de mi circuito está apagado

5

Estoy trabajando en la interfaz con un bus SPI que está exhibiendo algún ... mal comportamiento.

El bus proviene de una caja de control en un conjunto de baterías de juguete. La caja de control es el SPI maestro, y se puede activar y desactivar con un botón incorporado. Un circuito separado que lee desde los drumpads es el único esclavo en el bus.

Lo que estoy haciendo es esto: básicamente he agregado un maestro al bus, en forma de microcontrolador. Sé que este no es un uso estándar de SPI, pero es para un proyecto de hobby, por lo que no me importa. Los dos maestros nunca operan simultáneamente, por lo que no hay conflictos. Principalmente aplico esto: si la caja de control está activada, no conecto el cable USB al microcontrolador (estoy usando un Pro Micro). Además, si el microcontrolador detecta que la caja de control está encendida, la unidad de control finaliza las comunicaciones SPI.

Aquí está mi circuito. Todavía necesito amortiguar la línea MISO, pero aparte de eso es lo que estoy usando.

Haytresestadosenlosquepuedeestarestecircuito:

  1. Apagado:lacajadecontrolestáapagadayelProMicroestádesenchufado
  2. Encendidodelacajadecontrol:lacajadecontrolestáencendida,peroProMicroestáapagada,graciasaldiodoSchottky.Lacajadecontroleselmaestro,yelProMicroestáaisladodelcircuito.
  3. ProMicropower:elcableUSBestáenchufadoyelProMicroeselmaestro.Lacajadecontrolestádesactivada.

Miproblemaocurreduranteelestado1.Aunquelacajadecontrolestádesactivada,laslíneasSPIquesalendeellamuestran3.3V.Poralgunarazón,lacajadecontrolalimentaMOSI,CLKyCSapesardequesuVCCmuestra0V!CuandonilacajadecontrolniProMicroestánactivados,elbúferestásinalimentación,ylassalidasestánviendo3.3V.Dealgunamanera,estoestáactivandoelbúferdemanerainversa,queasuvezalimentaelrestodemicircuito.

Estoyusandounbúfer SN74AHC125 .

Antes de comenzar a usar el búfer, conecté las líneas SPI directamente a mi microcontrolador (ATMega 32U4). Tuve el mismo problema: las líneas SPI alimentaron mi Pro Micro a través de los diodos de protección inversa en los pines.

Entonces, ¿cómo puedo conducir estas líneas cuando aún están encendidas mientras el resto de mi circuito está apagado?

    
pregunta Chris Laplante

1 respuesta

2

Ok, he resuelto esto. He añadido buffers entre la caja de control y el controlador drumpad. Esto es además de los búferes entre el microcontrolador y el controlador Drumpad.

Entonces, la configuración del búfer en (una) de las líneas se vería así, con otras partes del circuito omitidas para propósitos de demostración.

Los pines desconectados en los búferes son los pines de habilitación de salida, que no conecté (de nuevo, con fines demostrativos).

Este circuito resuelve el problema porque nunca se enciende la salida de un búfer cuando el búfer no se enciende. Por lo tanto, no se produce un flujo inverso.

    
respondido por el Chris Laplante

Lea otras preguntas en las etiquetas