Programmers are constantly finding new ways to make it simpler to alter software—whether they’re changing programs for a new vehicle or updating software in the field. While some development projects focus on techniques that permit customization, others are creating architectures for remote updating.
Leveraging existing programs is also a critical aspect for design teams. It’s time-consuming to validate vehicle software, so reusing proven blocks of code is quite desirable. Some companies are using techniques that make it easy to combine software modules.
“We’ve developed libraries containing core software functionality,” said Paul Brenner, Marketing Manager, Electronic Controls & Software and Mobile Piston Portfolio, Eaton. “These libraries provide proven, safe, and reliable functions with a simple drag-and-drop accessibility, when moving the function block from the library to the application. Once the function is added, one can simply change the parameters of the function block to suit the application, allowing function blocks to be reused in many types of machines.”
The trend from machine code or C-code to graphical languages is an important factor for many who want to reuse tested code. Modules developed with these languages can easily be linked to create customized programs.
“Danfoss offers a system design software solution which allows system designers to customize their code based on the components used and efficiency benchmarks for their machine,” said Kevin Faulds, Product Marketing Manager of Software Solution Services, Danfoss Power Solutions. “This flexibility means that performance can be tailored and optimized for each application. Our software uses a graphical language, which means that while developers drag and drop blocks of code based on their application’s need, much more is happening behind the scenes to ensure that code is running smoothly.”
When proven modules are linked together, it’s much simpler to debug the complete system. This shortens the validation period, in fields like human machine interfaces (HMIs), reuse also makes it simple to maintain a distinct appearance.
“Having a library of proven functions can not only reduce the application development time, it also reduces the time and effort to validate and test those functions,” said Kirk Lola, Business Development Manager, at Parker Hannifin Electronic Controls Division. “Our IQANdesign programming studios give application programmers the ability to create and save functional blocks that can be saved for reuse later. This allows companies to create a common look and feel across their machines by letting programmers select common function groups for either displays screens or control functions.”
Equipment makers are also devising ways to update software after production. The long-term goal is to update over the air, copying the mobile phone industry’s model. However, design teams are very cautious, since altering a single bit can cause major problems. Architectures for wireless updates must consider myriad issues, especially when critical modules are being updated.
“You don’t necessarily flash the memory directly in the engine controller,” said Stephan Tarnutzer, Vice President, Electronics, FEV North America. “You send the data to the infotainment head unit, the telematics unit, and it sends it to the engine controller. There must be an architecture between the two so communication is assured. You need to consider the impact of spotty cell phone coverage or if the vehicle is shut off during a download. The end-to-end path has to work robustly.”
Using memory sticks eliminates many of these issues. Technicians or operators can make updates in remote areas without special equipment.
“With TTControl’s HY-eVision² Displays the new software can be downloaded by connecting a USB stick to the connector of the display,” said Marc Weissengruber, Product Marketing Manager at TTControl. “The display will then act as a download-master and will update both its own software and the software of the attached ECUs by distributing it over the CAN network.”
Whenever changes are made outside the authorized maintenance network, security will be an important factor. Security is particularly important with over-the-air connections, since hackers don’t have to have access to the vehicle. But regardless of the updating technology, ensuring that unauthorized programs can’t alter code will be an important consideration.
“You need to protect the boot loader so there are no unauthorized alterations,” Tarnutzer said. “A module can’t reflash something if it’s not authorized.”