Historia 1

Es posible que en los inicios del bus CAN se pensara en las actualizaciones inalámbricas OTA (Over-The-Air), pero los problemas eran completamente diferentes. En algún momento se hablaba de 100 o más
unidades de control. Para comprenderlo, hay que echar un vistazo a una batería moderna de plomo de 12 V, especialmente a los terminales (imagen superior).
A menudo se añade una pequeña caja negra conectada al terminal positivo. Esto puede darnos una idea de lo pequeñas que pueden ser las unidades de control; no siempre es una caja como la que se usa
para la gestión del motor. Quizás esto ayude a explicar la cifra de 100 o más unidades de control.
Las unidades de control se necesitan en varios lugares, incluso si realizan la misma función. Por ejemplo, si vas conduciendo solo en verano y quieres bajar la ventanilla del pasajero, pulsarás un interruptor
específico en la puerta del conductor. Este interruptor envía la señal a su unidad de control, que a su vez la envía al bus CAN, que la envía a la unidad de control de la puerta derecha, desde donde se
transmite al alzacristales.
Como se puede apreciar, el número de unidades de control ha aumentado considerablemente. Sin embargo, independientemente de su tamaño, todas tenían su lugar en el sistema. Desde el principio, se
estableció una distinción entre, por ejemplo, el bus de control y el bus de confort, siendo este último más lento y, por lo tanto, más económico.
En algunos casos, se mejoró la velocidad del bus de confort, pero esto no sirvió de nada, ya que este aspecto del equipamiento del vehículo se amplió enormemente. Además, el sistema de propulsión, por
ejemplo, debido a las normativas sobre emisiones, incorporó cada vez más componentes. Sin embargo, la seguridad fue la que se vio más comprometida.
Desde el principio, el bus CAN se organizó según las prioridades de los mensajes. Los más importantes se procesaban primero. Además, existía la posibilidad de ampliarlo. Sin embargo, en algún momento,
se corría el riesgo de que se dejaran para más adelante mensajes que, en realidad, deberían haberse atendido antes.
Por lo tanto, desde el principio ya existían ciertos acuerdos entre el fabricante y los proveedores, por ejemplo, respecto a la asignación de mensajes. La urgencia era inherente al nombre. Sin embargo, el
desarrollo del software era responsabilidad de cada proveedor. Al vehículo sólo se le entregaba una versión compilada.
Hay que tener en cuenta que el software se desarrolla en un lenguaje específico. A menos que sea uno muy especializado, generalmente se puede asumir que es C++ o Java. Si se le presentara este código
a un microprocesador, simplemente lo rechazaría.
Por eso existen los llamados compiladores, que convierten estas instrucciones de trabajo, línea por línea, en una especie de lenguaje de máquina, es decir, el nivel más bajo de programación que el
microprocesador entiende. Esto implica que se genera un código diferente para cada procesador.
Sin embargo, convertir este código de nuevo a C++ es completamente imposible, por ejemplo, para realizar modificaciones. Existe una forma de hacer que los ceros y unos sean comprensibles, y se llama
lenguaje ensamblador (Assembler). Pero en ensamblador se pierden por completo las relaciones que, por ejemplo, existen en C++.
Para entender esto, aquí va una historia reciente. De repente, sin previo aviso, nuestro disco duro, que usábamos para hacer copias de seguridad de nuestros datos, dejó de compartirlos. Queríamos ahorrar
en gastos de servicio y recurrimos a un software.
Hasta ahora, lo único que hemos logrado es que este software recupere los archivos individuales, pero lamentablemente sin sus títulos originales y sin sus carpetas asociadas. ¿Te imaginas lo que eso
significa con 1,5 terabytes almacenados?
Este ejemplo simplemente refleja la dificultad que implica trabajar con lenguaje ensamblador. Quienes dominan este lenguaje pueden incluso desarrollar sus propios programas. Por ejemplo, los expertos
descubrieron que Bosch había incluido código de ramificación en el software de sus motores diésel.
Bosch dejó abierta la interpretación de si esto se utilizó para funciones específicas con el fin de engañar a los inspectores de emisiones. También podría haber tenido usos legítimos, como proteger el motor
en una situación crítica.
| La programación en lenguaje ensamblador funciona de manera completamente diferente a la de
un lenguaje de programación normal y, por lo tanto, no es adecuada para trabajos de desarrollo. |
|