Cómo los equipos de diseño embebido pueden simplificar la E/S y el enrutamiento

Zachariah Peterson
|  Creado: Enero 4, 2023  |  Actualizado: Noviembre 18, 2024
Cómo los equipos de diseño embebido pueden simplificar la E/S y el enrutamiento

Los productos electrónicos reales han ido volviéndose más inteligentes poco a poco, tanto por la implementación de una aplicación embebida como por las conexiones de retorno a una plataforma o aplicación en la nube. Los equipos de desarrollo embebido tienen que trabajar juntos para crear estas nuevas generaciones de productos. Un área donde el ingeniero de diseño de PCB, el desarrollador embebido e incluso el ingeniero de MCAD pueden retrasarse en terminar un proyecto es en la selección de E/S. Esto sucede siempre que tienes conectores, periféricos y un procesador anfitrión.

Así que, para mantener las cosas simples para ambos lados, quiero compartir algunas de mis experiencias trabajando con desarrolladores embebidos para optimizar la selección de E/S y el proceso general para completar el diseño del PCB. Con un poco de colaboración desde el principio, puedes hacer que el enrutamiento del PCB y el desarrollo embebido sean más fáciles al final.

¿Quién Hace Qué en el Desarrollo Embebido?

Considero que cada miembro del equipo de desarrollo debe entender lo que los otros miembros del equipo necesitan para tener éxito. Esto también se trata del uso eficiente de recursos, evitar atascos de ingeniería que tardan días en resolverse y llegar al mercado rápidamente.

 

Lo que hacen

Lo que necesitan

Diseñador de PCB

  • Restricciones del diseñador MCAD
  • Lista de periféricos de
  • Lista deseada de pines de E/S del desarrollador embebido*

Diseñador MCAD

  • Crear la carcasa del dispositivo
  • Definir restricciones (áreas prohibidas, colocación, etc.)
  • Modelos 3D de conectores
  • Modelos 3D mecánicos
  • Restricciones de SI/EMI del diseñador de PCB

Desarrollador embebido

  • Desarrollar firmware embebido
  • Definir salidas a la aplicación web/nube (si se utiliza)
  • Usar E/S requeridas por el diseñador de PCB
  • Funciones de E/S del diseñador de PCB
  • Lista deseada de pines de E/S del diseñador de PCB*

Puse un asterisco (*) en las entradas de la lista de pines porque el proceso exacto para asignar los I/O depende del componente específico que se utilice para ejecutar la aplicación embebida. ¿Es un MCU simple, donde los I/O disponibles están fijos en ubicaciones específicas, o es un FPGA que puede tener un diseño de pines personalizado en ciertos bancos? El otro aspecto son los conectores: ¿está estandarizado el diseño de pines, está determinado por otra placa en el ensamblaje, o puede personalizarse?

Aquí es donde podemos empezar a ver el desafío involucrado en un diseñador de PCB y un desarrollador embebido trabajando juntos en la selección de I/O. ¿Cómo pueden las dos partes unirse y definir los diseños de pines, la selección de I/O y, en última instancia, el diseño del PCB?

El Desarrollador Embebido Define los Requisitos del PCB

En mi opinión, esto funciona mejor cuando el diseño de pines en el procesador principal es flexible, es decir, la aplicación se instanciará en un FPGA. En este caso, los I/O pueden ser establecidos por el desarrollador en la lógica del dispositivo, y el resultado es que el diseñador de PCB tendrá que trabajar con las asignaciones de pines que se le dan.

El problema es el siguiente: si las asignaciones de pines se dan de manera individual para cada pin, es posible que no se obtenga un enrutamiento óptimo, resultando en un enredo de conexiones que se cruzan entre sí para llegar a los componentes. En cambio, si el desarrollador embebido simplemente proporciona asignaciones de bancos al diseñador de PCB, entonces el diseñador de PCB puede elegir pines dentro de un banco para hacer conexiones óptimas.

PCB FPGA
Captura de pantalla mostrando las asignaciones de bancos en un FPGA. Ciertos bancos soportarán diferentes interfaces, y el diseñador de PCB puede seleccionar algunos pines dentro de estos bancos para el intercambio de pines.

Al asignar bancos en un FPGA en lugar de un pinout específico, el diseñador puede utilizar una herramienta como el intercambio de pines para mover asignaciones de E/S dentro de un banco de pines. Si el intercambio de pines es deseable, entonces podría ser necesario un símbolo esquemático personalizado para separar adecuadamente los pines en sus respectivos bancos. Usar un símbolo personalizado permite agrupar pines de manera mucho más rápida para operaciones de intercambio de pines mientras se realiza el enrutamiento del PCB.

El Diseñador de PCB Define los Requisitos Embebidos

En mi opinión, esto funciona mejor cuando el diseño de los pines en el procesador principal es fijo, es decir, un MCU y sus periféricos. En un MCU, las ubicaciones de E/S son básicamente fijas. Puedes tener cierta flexibilidad en términos de cómo se utiliza cada E/S, por ejemplo, cuando se usa un banco de GPIOs. Sin embargo, las asignaciones de pines o funciones para interfaces estándar pueden ser fijas (por ejemplo, pines SPI, pines ADC, pines PWM, I2C, etc.).

En este caso, creo que es mejor si el diseñador de PCB selecciona los pines que utilizará para coincidir con diferentes componentes. El diseñador de PCB tiene que elegir dentro de un diseño de pines fijo, por lo que tendrá que trabajar en cómo colocar los componentes de tal manera que el diseño del PCB sea solucionable. Una vez colocados y enrutados, es trabajo del diseñador de PCB informar al desarrollador embebido qué pines se están utilizando para ciertas funciones.

STM32 LQFP pinout
Lista de asignación de pines STM32 LQFP48. Podemos ver cómo diferentes funciones de pines en GPIOs están asignadas a posiciones específicas. Esto puede limitar lo que se hace en el diseño del PCB, por lo que el diseñador de PCB debería tener la libertad de seleccionar los pines que quiera usar, y el desarrollador embebido necesitará seguir esto al escribir el firmware.

¿Qué pasa si un Diseño de Pines de Conector es Estándar?

Cuando el diseño de pines de tu conector está estandarizado, entonces es un poco una incógnita. Digo esto porque "estandarizado" puede significar dos cosas diferentes:

  • El pinout podría ser parte de una interfaz estándar (Ethernet, USB, etc.)
  • El pinout podría ser establecido por otra placa en el ensamblaje o sistema

Si ninguno de estos casos se aplica, entonces tu pinout es personalizable. En proyectos donde he trabajado con otras placas en un ensamblaje más grande, a menudo tenemos la libertad de establecer un pinout, usualmente porque estábamos construyendo ambas placas. En cualquier caso, ambos lados tienen que trabajar juntos para determinar un pinout "mejor" de manera objetiva para el conector y cómo esto se alinea con el procesador.

Los equipos que necesitan colaborar en productos complejos pueden acceder a un conjunto completo de características de diseño colaborativo al usar Altium Designer®. Todos los interesados involucrados en el diseño del producto pueden acceder a un conjunto completo de herramientas para el diseño de PCB que pueden apoyar tareas de desarrollo embebido, así como características de diseño de cables y arneses. Cuando hayas terminado tu diseño y quieras liberar los archivos a tu fabricante, la plataforma Altium 365™ facilita la colaboración y el compartir tus proyectos.

Solo hemos arañado la superficie de lo que es posible con Altium Designer en Altium 365. Comienza tu prueba gratuita de Altium Designer + Altium 365 hoy.

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Zachariah Peterson tiene una amplia experiencia técnica en el mundo académico y la industria. Actualmente brinda servicios de investigación, diseño y marketing a empresas de la industria electrónica. Antes de trabajar en la industria de PCB, enseñó en la Universidad Estatal de Portland y realizó investigaciones sobre la teoría, los materiales y la estabilidad del láser aleatorio. Su experiencia en investigación científica abarca temas de láseres de nanopartículas, dispositivos semiconductores electrónicos y optoelectrónicos, sensores ambientales y estocástica. Su trabajo ha sido publicado en más de una docena de revistas revisadas por pares y actas de congresos, y ha escrito más de 1000 blogs técnicos sobre diseño de PCB para varias empresas. Es miembro de IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society y Printed Circuit Engineering Association (PCEA), y anteriormente se desempeñó en el Comité Asesor Técnico de Computación Cuántica de INCITS.

Recursos Relacionados

Documentación técnica relacionada

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.