The MAB3 of Infoware Co. is a modular system, developed primarily for power control applications. It is modular, because a device contains different types of cards depending on its application. My task was to implement the firmware of a four-channel serial communication card which is used in the communication unit (device). The communication card transceives data through serial communication protocols - using its physical interface - between other cards or devices and its own internal bus. The communication is controlled in cooperation with a CPU card.
My task was to program the ARM Cortex-M4 microcontroller using C language. During the development process my task was to use a function library which eases and generalizes the handling of the microcontroller in purpose of a later reusage of the code (even on a different microcontroller). My other task was to program the CPLD device - using VHDL language - which is used to create logical links between ports.
During the development process I had to consider that the card has to work in compatible mode with an older card made approximately 25 years ago, which has several significant differences in its hardware compared with the new one. During the accomplishment of my task the hardware-software cooperation, and so the compatible mode were the most important aspect of the development process.