Se anuncia la redefinición los nombres de las señales SPI

Se anuncia la redefinición los nombres de las señales SPI

Hace algunos dias la Open Source Hardware Association a anunciado lo que ya varios esperábamos y que algunas otras organizaciones de software libres como linux han hecho ya, han anunciado la redefinición de los nombres para pines de las señales SPI que hacen mención a “Maestro y Esclavo”, esto con el fin de usar lenguajes mas neutrales.

Como sabemos, esto comenzó después de que las protestas de ‘Black Lives Matter’ estallaran en Estados Unidos, que surgieron a raíz de la muerte de George Floyd en Minneapolis el pasado 25 de mayo de 2020.

Con esto, el hardware libre se une a compañías como Linux, Twitter, GitHub, Microsoft, LinkedIn, Ansible, Splunk, Android, Go, MySQL, PHPUnit, Curl, OpenZFS, Rust, JP Morgan, y otros, quienes han modificado su lenguaje en sus productos para eliminar las viejas referencias con carga racial.

El mensaje de la OSHWA es:

Nosotros, los abajo firmantes, alentamos a los educadores, ingenieros, diseñadores y miembros de la comunidad a que dejen de usar los términos MOSI / MISO / SS y en su lugar usen SDO / SDI / CS.

La OSHWA a publicado una serie de recomendaciones y razones de este cambio que dejo a continuación:

Nuevos nombres de señales:

Y bueno ¿cómo nombraremos ahora estas señales?

SDO – Salida de datos en serie. Una señal de salida en un dispositivo donde los datos se envían a otro dispositivo SPI.
SDI – Entrada de datos en serie. Una señal de entrada en un dispositivo donde se reciben datos de otro dispositivo SPI.
CS – Selección de chip. Activado por el controlador para iniciar la comunicación con un periférico determinado.
COPI (salida del controlador / entrada periférica). Para dispositivos que pueden ser un controlador o un periférico; la señal en la que el dispositivo envía salida cuando actúa como controlador y recibe entrada cuando actúa como periférico.
CIPO (entrada de controlador / salida de periférico). Para dispositivos que pueden ser un controlador o un periférico; la señal en la que el dispositivo recibe entrada cuando actúa como controlador, y envía salida cuando actúa como periférico.
SDIO: entrada / salida de datos en serie. Una señal serial bidireccional.

Nombres de señales obsoletos:

MOSI – Master Out Slave In
MISO – Master In Slave Out
SS – Selección de esclavo
MOMI – Master Out Master In
SOSI – Salida esclava Entrada esclava
Nombres de señales sin cambios:
SCK – Reloj en serie. El reloj del bus generado por el controlador.

Los diseñadores deben evitar los nombres de señales MOSI / MISO y, en su lugar, utilizar SDO / SDI. La señal SDI se define por la perspectiva del dispositivo. Por ejemplo, la señal SDI en un sensor es el pin que recibe datos del controlador. De manera similar, el pin SDO en un controlador es el pin de salida que envía datos a un periférico.

Es una buena práctica utilizar SDO / SDI y Controller / Peripheral. Cambie la forma en que escribe tutoriales, crea esquemas y diagramas. Esta es la mejor forma de educar a la próxima generación de usuarios e ingenieros.


Fuente / Esta imagen con licencia CC0 – Dominio público

¿Por qué estamos cambiando de MOSI / MISO / SS a SDO / SIO / CS?
La industria de la electrónica, en particular, ha estado utilizando la terminología de maestro y esclavo descaradamente y debe detenerse. Es lamentable y vergonzoso que nuestra comunidad haya pasado tanto tiempo sin reconocer la necesidad de tratar a todos los seres humanos con respeto. Afortunadamente, la industria ya está haciendo este cambio. Si bien muchos fabricantes de microcontroladores y procesadores se quedan atrás, los fabricantes de periféricos ya adoptan ampliamente la terminología SDO / SDI. Empresas como Infineon , Analog Devices , Bosch , TDK , ST , AKM IXYS , Melexis , ROHM y grupos de la industria como la Asociación SDutilice la nomenclatura SDO / SDI. Además, empresas como TE .

NXP ha dejado de usar MOSI / MISO con DIN / DOUT en su lugar.

A continuación, se muestran algunos ejemplos de empresas que utilizan un lenguaje obsoleto:

  • NXP se está quedando atrás en algunos dispositivos y lidera el camino en otros.
  • Raspberry Pi
  • Microchip
  • ARM
  • TI
  • Cypress
  • Silicon Labs
  • Ambiq
  • Honeywell
  • Electric Imp

¿Qué pasa con la documentación, hojas de datos y tutoriales preexistentes?

La documentación existente debe actualizarse siempre que sea posible. Prioriza el contenido más popular y fundamental. Cuando no sea posible modificar el contenido, agregue un banner a las secciones afectadas:

Nota: El siguiente uso de terminología MOSI / MISO se considera obsoleto. Ahora se utiliza SDO / SDI. La señal MOSI en un controlador se puede reemplazar con el título ‘SDO’. La red de conexión se puede reemplazar con ‘CONTROLLER_SDO’. Maestro y esclavo ahora son controlador y periférico.

¿Debo seguir incluyendo MOSI y MISO en mi plan de estudios o tutoriales?

Considere enseñar los orígenes de la terminología de maestro y esclavo y por qué ya no la usamos. Las industrias y las empresas pueden estar equivocadas; celebremos la capacidad de cambiar y mejorar con el tiempo.

¿Qué pasa con los dispositivos que pueden actuar como controladores o periféricos?

Algunos dispositivos admiten la capacidad de actuar como controlador o como periférico. En el escenario en el que la dirección de la señal cambia según el rol, las señales deben llamarse COPI (salida del controlador / entrada periférica) y CIPO (entrada del controlador / salida periférica). Entonces, por ejemplo, si un microcontrolador estaba actuando como controlador, hablando con un sensor (periférico), conectaría el pin COPI del microcontrolador al pin SDI del sensor y el pin CIPO del microcontrolador al pin SDO del sensor. El microcontrolador (que actúa como controlador) generaría datos en el pin COPI (salida del controlador / entrada periférica) para ser leídos por el pin SDI (entrada de datos en serie) del sensor, y el sensor emitiría datos en su pin SDO para ser leídos por el pin CIPO del microcontrolador.

Mejores prácticas para trabajos nuevos y revisados:

  • Esquemas: cambie los pines en los dispositivos de MOSI / MISO al SDO / SDI y CS apropiados cuando sea necesario. Utilice nombres de red y señales que eviten el uso de MOSI / MISO. Es decir, ‘CONTROLLER_SDO’ o equivalente para reemplazar ‘CONTROLLER_MOSI’.
  • Hardware: Utilice etiquetas de serigrafía SDO / SDI. Tenga en cuenta que la etiqueta ‘SDO’ es relativa a la PCB o dispositivo como una salida de la misma manera que ‘TX’ debería ser una salida de la PCB o dispositivo.
  • Software / Firmware: agregue nuevos nombres de funciones utilizando la nueva terminología. Se permite mantener la compatibilidad inversa con nombres obsoletos.
  • Hojas de datos / documentación: utilice los nombres de pines y señales SDO / SDI siempre que sea posible. Evite la terminología de maestro y esclavo y utilice los términos “controlador / periférico” o el término que mejor se adapte a la aplicación.

¿Qué pasa con otros usos de la terminología maestro / esclavo?

¡Hay mucho trabajo por hacer! Esta resolución se centra en los pequeños cambios que podemos realizar para mejorar la terminología de SPI. Pronto publicaremos más resoluciones de orientación. Recomendamos estos artículos relevantes para obtener más información sobre otros protocolos.

Personas y empresas que admiten esta nueva redefinición:

Adam Benzion, Hackster.io
Alicia Gibb, OSHWA and ATLAS BTU Lab
bunnie, bunniestudios
Glenn Samala, SparkFun Electronics
Harris Kenny, OSHdata
Jason Huggins, Tapster Robotics
Jonathan Georgino, Binho LLC
Joshua Lifton, Crowd Supply
Libi Striegl, Media Archaeology Lab
Limor Fried, Adafruit Industries
Matthias Tarasiewicz, RIAT Institute
Michael Weinberg
Nathan Seidle, SparkFun Electronics
Phil Torrone, Adafruit Industries
Shawn Hymel, Hello Blink Show
Steven Abadie, OSHdata
Tod Kurt, ThingM
Tom Igoe, NYU ITP
Joel Murphy, Pulse Sensor
Yury Gitman, Pulse Sensor
Alethea Flowers, Winterbloom
Daniel Hienzsch, Rheingold Heavy
Darrell Rossman, Crowd Supply
Ron Evans, The Hybrid Group
Joe McManus
Luis Chamberlain
Katherine Scott
Wendy Seltzer
Edna Jonsson, Todda Industries
Matthew Howlett
Jeffrey Yoo Warren
Shah Selbe
Drew Fustini
Zach White, QMK Firmware
Jack Humbert, QMK Firmware and OLKB
Abram Connelly
Michael Shiloh
Markforged Inc.
Bruce Boyes
Nadya Peek
Jeff Sheldon
James “Laen” Neal, OSH Park
Jason Kridner
Nat Atnafu
Paul Clark
Dr Aidan T. Hindmarch
Joe Steinmeyer
Hannes Hochreiner
Mike Fikes, Vouch
Nicholas Landry, themiasmatheory.netlify.com
Michael Ossmann, Great Scott Gadgets
Kate Temkin, Great Scott Gadgets
Hernan Monserrat
Mark Hayter, Google Chrome OS Hardware Team
Fabio Violante, Arduino

Andres Sabas, Electronic Cats

¿Electronic Cats esta de acuerdo?

Si, y estamos empezando a hacer los cambios necesarios en nuestras tarjetas, documentación y esquemáticos, estamos a favor de un lenguaje mas neutral y el hardware libre es parte de ello.

 

Fuente: OSHWA

Leave a Reply

Your email address will not be published. Required fields are marked *

Notice: Due to holidays on 16th September we will be off the office until 17th September Viva México!