The primary emphasis of the course will be microcontroller architecture, firmware and embedded software design but hardware interface design issues will also be extensively covered. Students are expected to show expertise in both areas. Currently, the ARM Cortex STM32F429I microcontroller is being used (STM32F429I-DISC1 Evaluation Board) as the hardware platform . Software development is done by using STM32CubeMX configuration tool and the EWARM compiler and debugger by IAR. Application programs are developed in C. Interface designs include Input Capture and Output Compare, the CAN Bus, the I2C Bus, the SPI Bus, analog I/O and SRAM chip interfacing to the extended bus. Programs are downloaded into the Flash Memory of the microcontroller.
The main objective of this course is to develop skills for designing custom digital circuits using VHDL and Programmable Logic Devices (PLDs). The basic properties of CMOS logic circuits and the key features of semi-custom and full-custom ASIC devices will be reviewed. Methods for floor planning, placement and routing are also discussed. Students are expected to have a background in digital logic design. The two design projects will be based upon Field Programmable Gate Arrays (FPGAs). Students will be designing their circuits in VHDL using professional CAD tools by Xilinx.