¿Cómo puedo conectar BeagleBone a 2 esclavos con 1 pin "Chip Select"?

0

Tengo un BeagleBone blanco y quiero usarlo como un maestro que está conectado a 2 esclavos a través de una conexión SPI, además de SCLK, DIN y DOUT hay un pin de chip, seleccione "CS" "solo uno" y Necesito 2 porque tengo 2 esclavos, lo que ya sabía es que puedo usar cualquier pin GPIO como chip select, pero cuando veo el pin "CS" me confundo, ¿puedo usar cualquier pin GPIO como chip select? Si es así, ¿por qué hay un pin con el nombre de chip select?

    
pregunta berem

3 respuestas

1

Sí, puedes usar cualquier salida digital como CS. Use algún otro pin para una segunda selección de chips y golpéelo. Golpear los bits nunca será más fácil que eso.

Alternativamente, podrías considerar NO seleccionar un chip seleccionado, y ver si puedes escapar controlando dos esclavos de esa manera.

    
respondido por el Scott Seidman
1

Supongo que usas SPI0. Otra opción es utilizar SPI1 en lugar de tener CS0 y CS1 disponibles en los encabezados de expansión.

(Al menos en teoría. Actualmente estoy tratando de lograr lo mismo, pero no pude habilitar tanto CS0 como CS1 para los pines conectados al encabezado de expansión utilizando la herramienta pinmux de TI. Parece que no hay disponible IO-set que incluye todos los pines necesarios. Cualquier sugerencia apreciada ...)

    
respondido por el Jonatan
0

Con los micros, tiene un "bloque" específico de spi si incluye un CS, puede ser capaz de afirmar la línea CS automáticamente y generalmente hay un pin designado. La mayoría de los bloques de hardware de SPI hacen esto cuando la escritura de preformado no tiene que gastar ciclos de CPU valiosos para hacer valer un pin de gpio si necesita una sincronización rápida. No tiene que usar las líneas CS del bloque SPI, puede usar cualquier línea GPIO, sin embargo, tiene que escribir el código para activarlo y desactivarlo.

Mientras el fanout funcione para ti, GPIO (que no debería ser un problema para dos dispositivos) y los dispositivos tienen el mismo nivel lógico, deberías estar bien.

¿Pero por qué querrías? Tienes un montón de pines, así que puedes tener dos GPIO diferentes y controlarlos por separado o casi al mismo tiempo. La única aplicación en la que puedo pensar es en el muestreo simultáneo con un ADC para asegurarse de que comienza en el mismo instante. Si pulsa el puerto SPI, puede incluso tener dos SDO separados, de modo que active la línea CS para iniciar la conversión al mismo tiempo, y escriba el mismo valor en ambos ADC y luego vuelva a leer los dos valores simultáneamente en dos GPIO diferentes conectados a Dos diferentes SDO de los dispositivos esclavos. Si lanzas tu propio código spi tienes más opciones.

    
respondido por el laptop2d

Lea otras preguntas en las etiquetas