Today, being a firmware developer can entail so many things; but that has not always been so. Engineers have now been able to do things that were thought impossible several years ago: bringing firmware tools to work in more sophisticated and more effective ways in avionics. Embedded firmware software provides a way for aircraft to be more functional, without having to deal with heavier hardware.
Meanwhile, avionics differs from other forms of electronics. The stakes are higher and tough standards, particularly of safety, must be maintained. Besides, the standards are not mere suggestions; they are legally required.
However, for years, firmware tools in avionics were unregulated, at least, not in the way they are today. This was mostly because they had so little impact. However, as firmware development became more advanced and increasingly significant in the functioning of aircraft, having a regulation on global best standards became necessary.
That need resulted in the DO - 254 (Design Assurance Guidance for Airborne Electronic Hardware). That, with the DO - 178C (which covers the software aspect), forms the bedrock of operative avionics equipment.
Firmware’s slow adoption in avionics was because of its many limitations such as less flexibility and more difficulty when compared with software. At first, the firmware was all about combining the right assembler, editor, and electronic device. However, over the course of its development, the following factors have been hugely impactful:
Programmable Logic Devices (PLDs)
Programmable Logic Devices became famous in the 80s with various types such as PROM, PLAs, PALs, and CPLDs. A PLD is “an integrated circuit that contains large numbers of gates, flip-flops, etc. that can be configured by the user to perform different functions.” One immediate advantage of using PLDs in various types of field-programmable hardware was the conservation of space. They also ran faster on fewer resources and were thus more reliable. Combine these with their lesser cost and anyone would see why PLDs quickly became a favorite in the electronics world.
Complex Programmable Logic Devices (CPLDs)
When this came out, they were a major advancement to the current PLDs, particularly PALs (Programmable Array Logic). In complexity, they sit just between PALs and FMGAs and share some features with the former, and some with the latter. One of the most important advantages of CPLDs is that they had a non-volatile configuration memory. But they are not as efficient or as revolutionary as FPGAs are. They also require more resources than their better counterparts to perform simple operations.
Field Programmable Gate Arrays (FPGAs)
FPGAs are technically not different from PLDs. In fact, both follow similar systems but FPGAs are far more advanced. They are the highest levels of programmable logic, far more advanced than Complex Programmable Logic Devices (CPLDs). Ross Freeman and Bernard Vonderschmitt of Xilinx invented the first field programmable gate array and launched it in 1985 which was called the XC2064.
They have since been one of the most important inventions in avionics firmware. FPGAs made firm, the dominance of hardware-based logic, over software-based logic devices. Its biggest advantage over techniques that preceded it is flexibility, especially since they are field-programmable (re-programmable after manufacturing). The only downside to them may be said to be their volatile memory, alongside the complexity that comes with designing. During its early days, engineers had to draw schematics by hand, which was a major hassle.
Conclusion - The Future
The avionics hardware market is not slowing down. Experts expect the global avionics market to “grow by US$39 billion, driven by a compounded growth of 6.6%.”
The future of avionics would involve building on current and evolving technologies to build more efficient, but equally more complex systems.
According to the EE Times,
“the next generation of development tools will combine the best of all these worlds: schematic creation, netlist generation, firmware coupling to analog and digital hardware blocks, PLD macro-cells, Verilog code, and data paths with their own small and simple instruction set (once called bit-slice processors).”