Inicio Artículos La cuestión no es la placa

La cuestión no es la placa

Ankur Tomar, Regional Solutions Marketing Manager
Farnell element14 – www.es.farnell.com


La perspectiva de un ingeniero acerca de cómo elegir la placa de desarrollo adecuada para su proyecto.

Puede sonar controvertido, pero elegir la mejor placa para un proyecto no debe empezar con una comparación de las diferentes placas y una valoración de sus características y ventajas. Con tal variedad de placas de desarrollo en el mercado, los diseñadores, en especial los makers y aficionados, pueden sentirse agobiados con tantas opciones. Es fácil dejarse distraer por las nuevas funcionalidades y características atractivas o dejarse tentar por el producto más nuevo del mercado como una excusa para probarlo. Desde la perspectiva del diseñador, la mejor placa para un proyecto varía dependiendo de algunos factores. Todos los ingenieros, makers y aficionados quieren que su proyecto sea exitoso, pero sus recursos y motivaciones son diferentes y esto tendrá un impacto en la placa que elijan. Los ingenieros profesionales están bajo una presión significativa para crear un producto exitoso que cumpla con una especificación claramente definida. Como tienen una definición clara de las funcionalidades requeridas desde el inicio del proyecto, su elección de la placa de desarrollo generalmente se basa en el rendimiento y, por lo tanto, el criterio inicial de la placa lo define el procesador.
Según la aplicación, estos diseñadores buscan una placa que ofrezca el rendimiento necesario, incluyendo el funcionamiento del procesador a una velocidad de reloj lo suficientemente alta, la memoria que necesita la aplicación y otros componentes requeridos, como GPU, etc. A los ingenieros profesionales también los motiva el tiempo, ya que el producto final debe desarrollarse rápidamente. Es probable que estos diseñadores seleccionen una placa de la gama de procesadores con la que ya han trabajado, a menos que la especificación del proyecto indique lo contrario, pues de esta manera pueden utilizar librerías y cadenas de herramientas ya existentes y que les son familiares. Cambiar la gama del procesador puede requerir la contratación de personal adicional si no se cuenta con los conocimientos. Esto toma tiempo, sin mencionar el coste añadido, pero puede ser la mejor opción si el proyecto y la especificación del producto así lo exigen. Secundaria a la especificación del procesador, pero también importante, es la funcionalidad de la placa.
Generalmente los diseñadores profesionales eligen trabajar con hardware a medida para cumplir con las necesidades de su aplicación, lo que hace que las placas de código abierto sean una opción más atractiva, ya que facilitan la personalización y modificación del software según se requiera. La disponibilidad del código de muestra es menos importante para los ingenieros profesionales que para los makers y aficionados. Los primeros tienen un nivel de conocimientos y experiencia que les da la capacidad de escribir más código para sus aplicaciones, y generalmente no dependen del código de muestra de la aplicación para cimentar su sistema. No obstante, si la aplicación debe funcionar con un sistema operativo específico, el diseñador querrá usar una placa que soporte dicho sistema operativo, lo que puede eliminar algunas opciones que de otro modo cumplirían con los requisitos necesarios. Por último, aunque no por ello menos importante, los diseñadores profesionales evalúan la disponibilidad del soporte para el lenguaje y las cadenas de herramientas que usa la empresa. Cambiar la cadena de herramientas puede añadir una cantidad de tiempo significativa al proyecto, como también lo hará la compra e implementación de nuevas herramientas de desarrollo.
El camino que sigue un ingeniero profesional al elegir una placa es entonces inicialmente seleccionar el procesador, cualquier funcionalidad adicional requerida y luego asegurarse de que el entorno de desarrollo del software sea apto. Este enfoque es el mismo para todos los diseñadores, ya sea que se dediquen a diseñar lavadoras o sistemas de control y automatización especializados. Para los makers y aficionados, el proceso de toma de decisiones es igualmente importante, pero con una menor presión comercial y de tiempo. Los makers pueden encontrar dificultades para elegir la placa, ya que en general tienen menos experiencia y necesitan más soporte. Los makers que desarrollan empresas emergentes a menudo dependen de la comunidad de diseño y desarrollo para hacerse una idea de la viabilidad del producto a partir de proyectos similares a los suyos y luego evaluar el rendimiento, las oportunidades de optimización y los costes al elegir la placa de desarrollo. Los makers y aficionados suelen elegir la placa que tenga el mayor respaldo de una comunidad, en particular las placas que sus colegas han utilizado de forma exitosa en aplicaciones similares.
Esto es porque generalmente reciben soporte de la comunidad y no directamente de un fabricante. Los makers profesionales también usan este enfoque, aunque con frecuencia obtienen ayuda de los fabricantes y suelen preocuparse menos por seleccionar una placa que ha sido usada en aplicaciones similares. La disponibilidad de los controladores para los periféricos de la placa también puede ser un factor importante en la decisión de los makers profesionales y aficionados debido al tiempo y la experiencia que requeriría escribir el código ellos mismos. Los aficionados a menudo eligen sus placas según la conectividad y funcionalidad disponibles. Esto hace que productos como la Raspberry Pi, que cuenta con una gran variedad de periféricos disponibles en forma de “Hats”, sean muy populares en este mercado. Por otro lado, los makers profesionales en general buscan rendimiento, memoria y optimización como sus criterios básicos al elegir una placa. El coste también es un factor importante tanto para los aficionados como para los makers, pero la variedad de opciones de placas ha aumentado a medida que el precio de los ordenadores de placa única ha disminuido.
El soporte de cadenas de herramientas de software específicas no es una preocupación en los proyectos no comerciales, aunque la disponibilidad de herramientas de desarrollo gratuitas sí es un factor esencial. Esto significa que las placas de desarrollo, como las de Arduino, son populares entre los makers y aficionados, pues incluyen entornos de desarrollo integrados fáciles de usar. El Internet de las cosas (IoT) ha ampliado las posibilidades para los proyectos y potenciado la imaginación de los makers profesionales y aficionados por igual, ofreciéndoles más oportunidades para crear nuevos diseños que nunca antes. Pese a que la tecnología detrás del IoT no es nueva, la era de la conexión entre todos los dispositivos y el uso generalizado de los sensores sí lo es, y todos quieren una tajada. Si retrocedemos diez años, la conectividad inalámbrica y los sensores cifrados no eran de uso general, pero ahora estos ecosistemas conectados se construyen de una forma increíblemente rápida. Para los diseñadores que buscan una placa, esto es una suerte, ya que todas las funcionalidades necesarias para la mayoría de nodos del IoT ya existen en un pequeño módulo y a veces en un solo chip.
Esto elimina la necesidad de diseñar todo desde cero y permite a los diseñadores sin experiencia en hardware crear productos sin necesidad de diseñar circuitos complejos. El software para permitir la comunicación también está ampliamente disponible. Esto facilita mucho más la vida de los makers, pues ahorran tiempo y se pueden concentrar en las funcionalidades del producto y las comunicaciones de alto nivel entre los módulos (en vez de dedicarse a programar código de bajo nivel), por ejemplo, Bluetooth de bajo consumo (BLE), WiFi o un stack TCP/IP. Ahora podemos entender que los diseñadores tengan un enfoque diferente en la selección de las placas según las necesidades de sus proyectos. Es claro que seleccionar la placa no es tan difícil como aparenta si el diseñador entiende el alcance de su proyecto. Sin embargo, los requisitos cambiantes de los diferentes usuarios hacen que sea esencial para los distribuidores ofrecer una amplia variedad de placas para cumplir con todas las necesidades de los clientes. Algunas placas han sido diseñadas para responder a los requisitos específicos de una aplicación, sobre todo para los ingenieros profesionales. Por ejemplo, la tinyTILE de Intel es una placa de bajo consumo que mide tan solo 35 x 26 mm e incluye un sensor de seis ejes y es claro que ha sido diseñada para wearables y otras aplicaciones pequeñas alimentadas por baterías. En ocasiones la decisión de qué placa usar se dificulta, en particular al comparar marcas como Arduino y BeagleBone. Ambas son plataformas de código abierto que ofrecen una variedad de procesadores y placas complementarias o de expansión (Arduino las llama “shields” y BeagleBoard.org Foundation “Capes”). La disponibilidad de placas complementarias permite reducir significativamente los plazos de desarrollo.
Es posible que, si el coste y el rendimiento no son cruciales (por ejemplo, si un maker quiere producir solo uno o dos sistemas, o un ingeniero profesional está diseñando una prueba de un concepto), tener acceso a los periféricos correctos en una placa complementaria lista para usar sea un factor clave en la decisión. Tanto Arduino como BeagleBone ofrecen sistemas operativos de código abierto que funcionan en la placa, entornos de desarrollo integrados de código abierto y además el hardware es de fuente abierta, así que los esquemas de las placas están disponibles. Ambas marcas tienen el soporte de una gama de cadenas de herramientas comerciales, por lo que el software probablemente no será de gran influencia en la selección. Aunque no forma parte de las especificaciones, el rendimiento de las placas de Arduino suele ser menor que el de las BeagleBone. Por ejemplo, la mayoría de productos de Arduino usa la gama de procesadores AVR que ofrecen un rendimiento mucho menor que el procesador ARM de 1 GHz que usa la BeagleBone Black más reciente. Los ingenieros profesionales harán su selección inicial basados en el rendimiento; a los aficionados puede atraerles más el bajo coste de los productos de Arduino basados en AVR. Si un usuario tiene poca o ninguna experiencia con una de las marcas de las placas y no quiere usar un procesador en particular, probablemente la decisión de qué placa elegir se rija por el rendimiento del procesador. Esto es debido al rendimiento requerido o al impacto en el coste inherente a las placas de mayor rendimiento de BeagleBone.
No obstante, no existe una respuesta única, pues algunas placas de Arduino funcionan con procesadores RISC a varios cientos de MHz. Aunque los aficionados, makers e ingenieros profesionales tienen criterios muy diferentes para elegir una placa, todos usan un proceso lógico en la selección. La buena noticia es que a medida que se lanzan más placas, los usuarios (desde aficionados hasta ingenieros profesionales) se podrán dar el lujo de elegir entre una cantidad cada vez mayor de productos que cumplen con sus requisitos particulares.