Skip to main content

El hardware telemático frente al software y el firmware

Descubre la diferencia entre el hardware, el software y el firmware telemáticos y cómo Geotab utiliza los tres para ofrecer una solución telemática global de calidad.

Geotab

Por Geotab

6 de septiembre de 2024

7 minutos de lectura

Imagen de hardware con fondo azul

La tecnología se está apoderando del mundo. Casi todo lo que hacemos depende de dispositivos electrónicos: desde el seguimiento de nuestras flotas hasta la gestión de nuestras cuentas bancarias o pedir comida por Internet. Los elementos centrales de estos dispositivos, el hardware, el software y el firmware, se complementan para crear el ecosistema electrónico de nuestro mundo moderno. En este artículo, te explicamos cada uno de estos conceptos y analizamos cómo Geotab los implementa para ofrecer una solución telemática global de calidad.

¿Qué es el hardware?

El hardware es lo duroSon las partes físicas y metálicas que utilizan la electricidad para procesar la información y hacer que las cosas sucedan. El hardware moderno está formado por circuitos integrados (CI) conectados entre sí en una placa de circuito. Un CI es un conjunto de circuitos en un pequeño paquete que puede contener desde un simple circuito hasta miles de millones de elementos diferentes.

 

Observa esta parte de un antiguo dispositivo GO4 de Geotab (artículo en inglés) como ejemplo:

Imagen de hardware

 

Esos pequeños rectángulos negros son circuitos integrados, trozos de silicio diseñados con precisión. Cada uno se creó para un propósito singular y concreto y se conectan con otros de manera específica. Los equipos de ingeniería de hardware son los encargados de seleccionar los circuitos integrados y diseñar la placa de circuito para lograr la funcionalidad necesaria. La placa de circuito conecta todos los circuitos integrados para que reciban energía y se comuniquen entre sí y con el mundo que hay más allá de la placa.

 

Algunos sistemas de hardware están formados por múltiples placas de circuito que se comunican entre sí y esto se hace por diferentes razones: puede ahorrar espacio, permite una mayor modularidad a la hora de seleccionar los componentes y facilita la sustitución de placas que funcionan mal o están obsoletas.

Cómo reparar y actualizar el hardware

Para la actualización o reparación del hardware se necesita la sustitución física de los componentes. Esto puede ser la sustitución precisa de circuitos integrados individuales o el cambio de placas de circuito completas.

 

Este método de reparación manual conlleva un proceso de diseño más largo. Todas las características de una pieza de hardware tienen que estar grabadas en piedra (bueno, en silicio) antes de que salga al mercado. Se realizan pruebas exhaustivas del hardware para garantizar que no haya problemas y cualquier cambio en el diseño requiere más pruebas. Los problemas de diseño pueden suponer un costoso proceso de Autorización de devolución de mercancía (RMA) para el fabricante y un tiempo de inactividad igualmente costoso para los clientes.

El cerebro de la informática moderna

Un tipo especial de circuito integrado es el microprocesadorEl microprocesador, cerebro de todo ordenador moderno, se encarga de recibir y ejecutar instrucciones. Suelen ser la base del diseño de una placa de circuito, ya que controlan y envían señales a otros circuitos integrados.

 

Hay microprocesadores de muchos tipos, desde el humilde 8008 hasta el potente POWER9 en el corazón del superordenador más rápido del mundo. Pueden optimizarse para obtener altas velocidades, bajo consumo de energía o bajo coste, por ejemplo, y algunos están diseñados para temperaturas extremas o incluso están reforzados contra la radiación. La única característica común de los procesadores es que son de uso generalel trabajo que realizan está definido por las instrucciones que ejecutan. A diferencia de otros circuitos integrados, que están diseñados para una tarea específica y no pueden programarse para hacer otra cosa.

 

Entonces, ¿de dónde saca sus instrucciones un microprocesador? Aquí es donde entra en juego el software.

Principales tipos de software

El software, a grandes rasgos, es un conjunto de instrucciones para un procesador informático que describen un programa informático. Escribimos programas en un lenguaje de programación, como, por ejemplo, los bien conocidos PythonJavaScriptC. Las instrucciones que escribimos en el lenguaje que hemos elegido se denominan código fuente del programa.

 

Ejecutar un programa significa dar las instrucciones al procesador del ordenador para que las lleve a cabo, lo que puede resultar bastante difícil dada la enorme variedad de procesadores disponibles. Los distintos microprocesadores tienen conjuntos de instrucciones diferentes, y esto significa que no todos pueden programarse de la misma manera. ¿Cómo podemos garantizar que nuestro programa funcione, independientemente del hardware subyacente? Para ello, recurrimos a un tipo especial de programa llamado sistema operativoo SO para abreviar. El papel del sistema operativo es mediar y asignar los recursos de hardware que cada programa necesita para ejecutarse en el ordenador.

Software de aplicación

La mayoría del software con el que la gente está familiarizada se denomina software de aplicación. Esto es lo que el usuario realmente ve y con lo que interactúa. Algunos ejemplos son los navegadores web, los programas de procesamiento de textos o los reproductores de música. El papel del sistema operativo es asignar los recursos de hardware que cada aplicación necesita para ejecutarse. Cuando se abre un navegador web, el sistema operativo le da algo de memoria para que trabaje y se asegura de que las instrucciones que describen el programa del navegador web pasen al procesador.

 

El software de aplicación proporciona una capa de abstracción entre la experiencia del usuario y el hardware subyacente, lo que supone una clara ventaja. Los equipos de ingeniería que escriben software de aplicación pueden dirigirse a sistemas operativos específicos en lugar de a microprocesadores concretos. Esto permite una libertad mucho mayor en el diseño del software, ya que se aseguran de que su programa funcionará en cualquier hardware que el propio sistema operativo (SO) admita. Los usuarios pueden instalar programas en su sistema operativo preferido sin tener que preocuparse por los detalles del hardware.

Actualización del software

Una de las principales ventajas del software es que es "suave". Es fácil añadir correcciones y funciones al programa una vez que está en manos del cliente. Cuando se crea el núcleo del software, los equipos de ingeniería pueden seguir dando soporte y actualizando el producto a lo largo de su ciclo de vida. No ocurre igual con el hardware, donde una vez que el dispositivo físico se construye y se envía a los clientes, poco se puede hacer para actualizarlo o arreglarlo.

 

El software nos permite hacer cosas increíbles gracias a un hardware potente, como los teléfonos inteligentes, los ordenadores y las tabletas, entre otros. Pero hay toda otra clase de dispositivos de hardware que realizan tareas específicas con una intervención humana limitada o nula. A estos los llamamos sistemas integrados y el software que los alimenta es el firmware.

Tipos de firmware

El firmware es un tipo de software específico. Está diseñado para trabajar estrechamente con el hardware, en lugar de abstraerlo detrás de un sistema operativo. De hecho, muchos dispositivos con firmware ejecutan un sistema operativo muy simple o ninguno, y esto permite un mayor control del hardware a costa de una mayor complejidad en la aplicación.

 

El firmware también se implementa en un lenguaje de programación utilizando el código fuente.

 

La principal ventaja de esta configuración es la posibilidad de controlar sistemas en tiempo realEstos sistemas deben recibir y procesar los datos en un plazo determinado, con consecuencias si no lo hacen. Los equipos de ingeniería diseñan el firmware de los sistemas integrados para garantizar que se cumplan estos requisitos de procesamiento, mientras que el software de aplicación no suele ofrecer estas garantías. Los ordenadores de uso general ejecutan demasiados programas para garantizar siempre los requisitos de sincronización y dado que el firmware suele ser el único programa que se ejecuta en un sistema integrado, los equipos de ingeniería pueden garantizar que los recursos proporcionados por el sistema son suficientes para llevar a cabo la funcionalidad del mismo.

 

Muchos sistemas integrados están diseñados para funcionar durante largos periodos con una mínima interacción humana. El firmware juega un papel importante en este sentido. Cuando hay errores o condiciones imprevistas, es inaceptable que el firmware deje de funcionar. Incluso alertar a un usuario a menudo no basta, el firmware debe ser capaz de recuperarse de condiciones de funcionamiento anómalas.

Actualización del firmware

Hay miles de millones de dispositivos con firmware que no se pueden actualizar. ¿Cuándo fue la última vez que actualizaste el firmware de tu microondas? ¡Probablemente nunca! Con sistemas así, los equipos de ingeniería tienen que tener más cuidado para asegurarse de que su firmware sea correcto, ya que está profundamente integrado y una vez programado, no se vuelve a modificar ni actualizar.

 

El auge de los dispositivos conectados ha hecho que cada vez sea más frecuente encontrar dispositivos que admitan actualizaciones de firmware. Los dispositivos con conexión wifi, móvil, Bluetooth o de otro tipo suelen poder actualizarse igual que los sistemas de software. Esto permite corregir errores y realizar nuevas funciones o mejoras. Sin embargo, hay otras consideraciones que van más allá de las actualizaciones de software. Dado que estos dispositivos suelen funcionar solo con firmware, una actualización incorrecta del mismo puede convertir una pieza de hardware perfectamente funcional en un lastre costoso. Es difícil hacer esto con el software de aplicación, ya que mientras el sistema operativo siga funcionando, un usuario puede solucionar las actualizaciones que no se han realizado correctamente.

¿Cómo trabaja Geotab con todo esto?

Geotab diseña hardwaresoftwarefirmware.

 

MyGeotab es un software de aplicación. En concreto, se trata de una aplicación web, ya que se ejecuta dentro de un navegador web. El equipo de desarrollo de Geotab mantiene el programa y añaden nuevas funciones, corrigen errores y realizan mejoras constantes (artículo en inglés).

 

El dispositivo GO es un hardware telemático. Dentro de la elegante carcasa hay una placa de circuito apilada, diseñada cuidadosamente por el equipo de automoción de Geotab para proporcionar la telemática del vehículo. El dispositivo GO es un sistema integrado, una solución telemática creada a tal efecto.

 

El dispositivo GO ejecuta un firmware, también diseñado por el equipo de automoción de Geotab, que tiene que cumplir muchos requisitos en tiempo real, sobre todo relacionados con la comunicación del motor. No es aceptable la falta de mensajes de un ordenador de motor cuando el cliente depende de estos datos para fines logísticos o reglamentarios.

 

Tanto MyGeotab como el firmware del dispositivo GO se actualizan con frecuencia con las últimas y mejores correcciones y nuevas funciones. Sin embargo, el hardware del dispositivo GO se actualiza en contadas ocasiones. Por lo general, esto representa una revisión completa o nuevas características importantes.

Conclusión

El hardware, el software y el firmware son elementos clave de los dispositivos electrónicos modernos. El hardware es el cerebro de nuestros sistemas, el software permite crear aplicaciones flexibles y portátiles con una enorme variedad de funciones y el firmware alimenta el hardware específico de la aplicación para cuando el cumplimiento del tiempo es vital. Todas estas piezas, juntas, hacen posible el increíble mundo conectado del que disfrutamos. 

Suscríbete al blog de Geotab


Geotab
Geotab

Geotab

Suscríbete al blog de Geotab

View last rendered: 12/23/2024 02:51:05