Embedded Systems
Weekly outline
-
Autumn 2018 Classroom
8h-10h : INM010 (theory)
10h-12h: INF 3 (laboratories)
Extra laboratory session: to be defined
Embedded Systems (ES)
This course is oriented hardware and interfaces. It presents in details the different parts of an embedded system based on micro-controllers and/or FPGA.
- The introductory part present the overall of the course and some recall on VHDL. Some low level element are presented.
- The first section describe a specific microcontroller, this year the MSP432 family, and some programmable interfaces. A simple Microcontroller is studied and its use is emphasized in the course with the help of laboratories. The MSP432, a modern very low power micro-controller is used as practical study case. It is based on an ARM Cortex M4F core.
- The second section present the design of an embedded system on FPGA. FPGA hardcore and softcore embedded processors are described and used in laboratories. Conception methodology of some programmables interfaces architecture is put in application with practical works in VHDL on FPGA.
The different parts of an embedded system, with standards parallel and serial bus, processor bus (asynchronous, synchronous) common and divergent characteristics are specifically used.
- The third section has the goal of the the comprehension of programmable interfaces and specifically master unit. LCD and camera controller will be realized as exercises and laboratory.
- The fourth section and last section will be a mini-project combining the topics studied along the previous sections. As example, this experiment allows the students to be able to design a master programmable interface on FPGA. A LCD display or a camera module is interfaced by a DMA controller on the FPGA. The ARM-A9 can access the FPGA as a specific accelerator or programmable interface.
At the end of semester, students will be able to design an embedded system based on micro-controller and FPGA. Design parts in VHDL and program it in C.
Content
- Introduction
- Micro-controller and associated programmable interfaces
- Micro-controller and FPGA Embedded Systems conception
- FPGA based Embedded system
- Hardcore/softcore processors
- FPGA embedded processor, i.e. NIOS II
- Memory organization, little/big endian
- Synchronous/asynchronous bus, dynamic bus sizing
- Processors bus
- Design of Specialized Programmable Interfaces as slave and master
- Resume of VHDL bases
- Serial bus
- Basic on graphical screen and CMOS camera
- SOC-FPGA, ARM-A9 - FPGA CycloneV
Grade evaluation:
Rules:- 4 laboratories assignments are provided during the semester as reports.
- 3 first laboratories will count as 10% each.
- The last laboratory is a mini-project and will count for 20%. It will include a final demonstration the last week of the course, an oral presentation per group, and the report.
- An oral final exam in January to evaluate the theoretical part of the course.
- The groups are composed of 2 students maximum (1 alone is possible)
All the laboratories are counted as 50% of the final grade
The final oral exam count for 50% of the final grade
-
Forum to put question/answer for/by students
-
Microcontroller Introduction (2h Lecture)
- General system embedded system view
- Introduction on a Microcontroller: MSP432 microcontroller programmable interface
MSP432 and programmable interface (2h Laboratory --> IN3)
- MSP432 and Code Composer Studio environment
- GPIO, Clock
-
MSP430 microcontroller programmable interface (2h course)- Programmable interfaces on MSP430
- MSP430 and Code Composer Studio environment
- Timer + PWM, ADC, SPI, Watch Dog
- Programmable interfaces on MSP430
-
MSP432 microcontroller programmable interface (1h course)
- Some serial interfaces protocols (UART, SPI, i2c, LIN), first part
- Come with your questions and problems on the topic.
MSP432 and programmable interface (3h Laboratory), last time to finish- From A/D to PWM by interruption
Report by group for this final part laboratory .
Analogue input --> PWM control, sampling by timer interruptExplain and justify your choices !Normally 1-2 students by group, exceptionally 3.Put all student's name in the report file name:
--->> Student1_Student2_Student3_Report_LabName.pdf (or .doc or .docx)Delay : see assignments
- Some serial interfaces protocols (UART, SPI, i2c, LIN), first part
-
Embedded system on FPGA (Part I), course (2h)
- Internal bus for FPGA
- Avalon Bus, Memory Mapped
- Bus Sizing
- Decoding memory on embedded system
Laboratory
- End of MSP432 lab + demo
-
Standard user = vm
Password = 1234
Root user = root
Password = 1234
-
Course part, serial protocols (2 hours)
- Design of parallel port
- Avalon slave description
Laboratory, Design of a Slave Programmable Interface, Laboratory (Part I)
- Design of a simple slave programmable interface on Avalon for Altera FPGA
- Starting SOC implementation
- Programmable Interface Design, Parallel Port as an example
- Embedded System design from Library on FPGA
-
Design of a Slave Programmable Interface, Laboratory (Part II, start Part III, 4 hours Labo)
Slave interface design, software
Report: see assignments
-
Course
- Some serial interfaces protocols (SPI)
- VHDL for interested people
- Time to finish Slave Unit (part III)
- Some serial interfaces protocols (SPI)
-
Embedded system on FPGA, master design (Part I)
- Master units
- Display or camera controller design , Registers interface (Part 1)
Design of a Master Programmable Interface, Laboratory (Part I)
-
Embedded system on FPGA, master design (Part II)
2 hour classroom
Theory: DMA
+ for your questions and project analysis.
Todo for LCD display controller or camera interface:
- from the documentation on the LT24 display module and the ILI9341 controller or the TRDB-D5M camera module
- realize the detailed bloc schematic of the programmable interface, with signals between entity/process
- realize the detailed memory map and description of the registers
- realize the memory organization for display buffer, pixels organisation- propose an initialization C-code for the LCD or the camera
Design of a Master Programmable Interface, Laboratory (Part II)
2 hours at laboratory-
Sample i2c HDL and C code. Please read the README.txt before using.
-
Sample design for a cmos sensor output generator.
This design generates the same signals a standard CMOS sensor outputs. It is useful for testing camera acquisition systems before testing on a real camera.
-
Embedded system on FPGA, master design (Part III)
Design of a Master Programmable Interface, Laboratory (Part III)
Report: see assignments -
Course
32 bits microcontroller - ARM family + FPGA Introduction part
- ARM processor family in FPGA-SOC
- Some programmable interfaces
- Interface between processor and FPGA,
- ex. external bus (EBI: External Bus Interface)
- in the FPGA: ex. AXI bus connection
- Memory Mapped Communication interface
Laboratory (Mini-project, 3 weeks + demo): Need QuartusII version > 13.1
- At the end of the course a more complex conception of an embedded system with choice for the students of one of different topics.
- Design in VHDL a specialized module and integrate it with a processor and different programmable interfaces. Program in C a small application. Group design of 2~4 students, 4 weeks.
- Continuation of the LCD/Camera system started with the DE0-nano board but on CycloneV system (DE1-SOC including 2 ARM-A9 cores and FPGA part).
- Implementation of the camera controller unit for an CMOS camera extension module.
- Implementation of the LCD master interface
- Integration on the SOC-DE1 board
-
Laboratory 4h (Miniprojects)
32 bits microcontroller - FPGA-ARM CycloneV family
- Camera or LCD design implementation
- ARM-A9 control of the modules
- Usefull link for software example for LT24:
- \\lapsrv1\documentation\Altera\DE0-nano-terasic\LT24_v.1.0.1_SystemCD\Demonstrations\DE0_Nano_SDRAM_LT24_Painter\software\LT24_Test\graphic_lib
-
Laboratory
- Time for your mini-project
-
MiniProject
Laboratory
- Oral presentation per group 15' max.
- 5' Overall architecture of your mini-project
- 5' A specific part detailed
- 5' Question and demo
Report delay: see assignments