Conectando MAX7219 con Bus Pirate v3.6

0

Actualmente estoy intentando conectar un controlador MAX7219 LED con un Bus Pirate 3.6 (Firmware v5.10 (r559) Bootloader v4.4).

Tengo el siguiente circuito en el panel (junto con algunas tapas de desacoplamiento en la línea de alimentación):

He configurado el modo SPI como tal:

Set speed:
 1. 30KHz
 2. 125KHz
 3. 250KHz
 4. 1MHz

(1)>4
Clock polarity:
 1. Idle low *default
 2. Idle high

(1)>1
Output clock edge:
 1. Idle to active
 2. Active to idle *default

(2)>1
Input sample phase:
 1. Middle *default
 2. End

(1)>1
CS:
 1. CS
 2. /CS *default

(2)>2
Select output type:
 1. Open drain (H=Hi-Z, L=GND)
 2. Normal (H=3.3V, L=GND)

(1)>2
Ready

Poner el MAX7219 en modo de prueba y apagarlo usando [0xFF,0xFF] y [0xFF, 0x00] respectivamente enciende y apaga todos los LED como se esperaba. Reiniciando todo, ejecuto los siguientes comandos para deshabilitar la decodificación de caracteres (para usar el MAX como una unidad de matriz de LED simple), configurar el brillo máximo, habilitar todas las columnas y finalmente habilitar la pantalla:

[0x09,0x00]
[0x0A,0xFF]
[0x0B,0x07]
[0x0C,0x01]

Finalmente, el envío de los siguientes ocho comandos para habilitar todos los LED similares a lo que haría el modo de prueba no tiene ningún efecto, y no se enciende ningún LED;

[0x01, 0xFF]
[0x02, 0xFF]
[0x03, 0xFF]
[0x04, 0xFF]
[0x05, 0xFF]
[0x06, 0xFF]
[0x07, 0xFF]
[0x08, 0xFF]

En cualquier momento, puedo configurar o restablecer el modo de prueba y funciona como se espera, así que estoy convencido de que la integridad de la comunicación SPI no es el problema aquí.

He intentado esto con niveles de 5V y 3V3 para VCC, con los mismos resultados. ¿Alguna idea de lo que puedo estar haciendo mal aquí?

    
pregunta Ilya O.

1 respuesta

1

Entonces, en realidad, resulta que, en cierto modo, la integridad de la comunicación SPI era el problema.

Al contrario de los informes anecdóticos, el MAX7219 no es tan amigable con la lógica 3V3 como mucha gente dice. El uso de 5V para los rieles de alimentación, la colocación de resistencias pullup de 15K en las líneas / CS, CLK y MOSI, y la configuración del Bus Pirate para abrir el modo de drenaje resolvieron el problema.     

respondido por el Ilya O.

Lea otras preguntas en las etiquetas