stringtranslate.com

Programabilidad en campo

Se dice que un dispositivo electrónico o sistema integrado es programable en campo o programable in situ si su firmware (almacenado en una memoria no volátil , como la ROM ) puede modificarse "en el campo", sin desmontar el dispositivo ni devolverlo a su fabricante.

Esta suele ser una característica extremadamente deseable, ya que puede reducir el costo y el tiempo de respuesta para el reemplazo de firmware obsoleto o con errores. Por ejemplo, un proveedor de cámaras digitales podría distribuir firmware que admita un nuevo formato de archivo de imagen indicando a los consumidores que descarguen una nueva imagen de firmware a la cámara mediante un cable USB .

Historia

Cuando el firmware de un dispositivo se almacena en una máscara ROM o una PROM programable de una sola vez , no se puede modificar sin reemplazar físicamente el circuito integrado , por lo que dicho dispositivo no puede ser programable en campo en el sentido moderno. El firmware borrable basado en PROM se puede borrar y reprogramar, pero sólo después de una exposición prolongada a una fuente de luz ultravioleta de alta intensidad.

Por lo tanto, los dispositivos programables en campo no fueron prácticos hasta la invención de la EEPROM y la memoria flash en los años 1980. Las primeras EEPROM sólo podían reprogramarse con hardware programador dedicado y costoso , ya que requerían altos voltajes (10-20  V , en comparación con los niveles lógicos típicos de 3-5 V ) y no existía un protocolo de programación estándar ; Como resultado, la programación de campo fue realizada principalmente por técnicos profesionales e ingenieros de servicio. Sin embargo, a principios de la década de 2000, muchos dispositivos fueron diseñados expresamente para ser programados en campo por consumidores comunes y corrientes. Varios avances lo han hecho posible:

Han surgido protocolos estándar para programar dispositivos de memoria no volátil. Por ejemplo, JTAG se puede utilizar para leer y programar los chips EEPROM y Flash en muchos dispositivos electrónicos de consumo . Muchos de estos dispositivos incluyen encabezados JTAG internamente para programación de fábrica y control de calidad , aunque no haya ningún conector externo expuesto en el producto terminado.

Lógica programable

La década de 1980 vio la introducción de dispositivos lógicos programables (PLD) como PAL , PLA y CPLD . Se trata de circuitos integrados que pueden implementar funciones lógicas digitales casi arbitrarias basadas en información similar a un firmware almacenada en una memoria no volátil.

Por lo tanto, los dispositivos que contienen PLD pueden considerarse hardware programable en campo , mientras que la EEPROM y la memoria flash actúan como almacenamiento para software programable en campo .

Los conjuntos de puertas programables en campo (FPGA) se inventaron en 1984 y son el tipo de lógica programable más avanzada disponible en la actualidad. Estos dispositivos de alta capacidad pueden implementar una lógica extremadamente compleja, como microprocesadores o procesadores de señales digitales . Hoy en día, son una gran ayuda en el desarrollo y la rápida implementación de dispositivos electrónicos digitales. Los FPGA se utilizan a menudo para la creación de prototipos de diseños de hardware y aceleración de hardware .

Oportunidades para aficionados

Muchos dispositivos electrónicos de consumo (incluidos reproductores de MP3 , enrutadores de banda ancha , teléfonos móviles y cámaras digitales) contienen sistemas integrados basados ​​en microprocesadores y microcontroladores de uso general . La mayoría de estos dispositivos contienen componentes programables en campo que pueden ser localizados y accesibles por hackers de hardware expertos . La programación de campo permite a los aficionados reemplazar el firmware de un dispositivo con un nuevo código que puede modificar o ampliar sus capacidades.

Han surgido numerosas comunidades en línea en torno a dispositivos que se consideran particularmente propicios para dicha modificación. Por ejemplo, los proyectos iPodLinux y OpenWrt han permitido a los usuarios ejecutar distribuciones de Linux con todas las funciones en sus reproductores MP3 y enrutadores inalámbricos, respectivamente.

Si bien hoy en día la programación de campo por parte de aficionados es teóricamente posible en prácticamente cualquier sistema integrado, en la práctica los esfuerzos para modificar los dispositivos de consumo a menudo se ven obstaculizados por la falta de documentación para el hardware .

Ver también

enlaces externos