image1.jpg

Funciones alternativas del pin GPIO de Raspberry Pi

Los pines de entrada / salida de propósito general (GPIO) se pueden cambiar entre entrada o salida y tienen una resistencia pull-up o pull-down habilitada, pero hay una gran cantidad de otros periféricos en el chip Raspberry Pi que se pueden cambiar a estos patas. Puede ver la disposición básica para un pin, GPIO 18.

image0.jpg

Todos los demás pines tienen una disposición similar pero con diferentes bloques para seleccionar. Los números en el conmutador son el valor de registro de tres bits que deben establecerse en la colección de registros de selección de función alternativa. Tenga en cuenta que los números Alt tienen poca relación con los patrones de bits que realmente establece.

Aunque hay 54 líneas GPIO en el procesador de la Raspberry Pi, solo 28 se llevan al conector P1 en la placa (menos en los modelos no plus); el resto se utiliza para hacer que el procesador actúe como una computadora (cosas como la tarjeta SD, el conector USB y los LED). En los modelos B + y A +, tiene los primeros 28 pines GPIO; en modelos anteriores, tiene un subconjunto de estos. La mayoría de los diagramas que encuentra le ofrecen solo una selección de estas funciones alternativas. Aquí, puede ver todas las funciones alternativas y dónde aparecen en el conector GPIO.

image1.jpg

Lo primero que hay que detectar es que hay dos tipos de “nada aquí”: uno está en blanco y el otro está etiquetado como <reservado> . Es probable que estas funciones reservadas se utilicen para pruebas de fábrica del chip o para funciones que no se describen en la hoja de datos. Los en blanco simplemente no se implementan.

LEER  Recorrido por el escritorio y la barra de tareas de la Raspberry Pi

Para ver la historia sangrienta completa, el documento BCM2835 ARM Peripherals es donde desea mirar, pero aquí hay un vistazo rápido a algunas de las funciones:

  • ALT 0: Donde se encuentran la mayoría de las funciones alternativas interesantes y útiles en lo que respecta a la Raspberry Pi. SDA y SCL 0 y 1 son los dos buses I 2 C, y TXD0 y RXD0 son las conexiones en serie. Las líneas GPCLK son una salida de reloj de propósito general que se puede configurar para que funcione a una frecuencia fija independientemente de cualquier software. Los pines PWM proporcionan las dos salidas moduladas por ancho de pulso; el SPI 0 son las líneas de bus de interfaz de periféricos en serie. Finalmente, los pines PCM proporcionan salidas de audio moduladas por código de pulso.

  • ALT 1: Los pines se utilizan como un bus de memoria secundario. Debido al diseño de la Raspberry Pi, esto no sirve de nada.

  • ALT 2: Los únicos pines ALT 2 traídos al encabezado de pines GPIO están reservados.

  • ALT 3: Los pines más útiles aquí son las líneas CTS0 y RTS0; estas son líneas de protocolo de enlace para el módulo en serie si las necesita. Las líneas BSC son para el Broadcom Serial Controller, que es un bus de modo rápido compatible con I 2 C que admite direccionamiento de 7 y 10 bits y tiene la temporización controlada por registros internos. Las líneas SD1 son probablemente para el control de una tarjeta SD, pero el documento BCM2835 ARM Peripherals no hace ninguna otra mención al respecto. De todos modos, no es la forma en que Raspberry Pi accede a la tarjeta SD.

  • ALT 4: Las líneas SPI 1 son un segundo bus SPI. Y los pines ARM son para una interfaz JTAG. JTAG es una forma de hablar con el chip sin ningún software en él. Se usa mucho para las pruebas iniciales en un sistema durante el desarrollo, aunque también se puede usar para la depuración de hardware.

  • ALT 5: Los pines útiles aquí son los datos del segundo puerto serie y las líneas de enlace. Las líneas PWM son exactamente las mismas líneas PWM que cambian a GPIO 12 y 13 bajo ALT 0, solo que esta vez se cambian a GPIO 20 y 21. También hay dos de las líneas de reloj de propósito general junto con otra copia de las señales ARM JTAG.

LEER  Cómo usar Shuffle en tu Raspberry Pi

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *