CODE 72537 ACADEMIC YEAR 2016/2017 CREDITS 5 cfu anno 3 INGEGNERIA MECCANICA (L-9) - SCIENTIFIC DISCIPLINARY SECTOR ING-INF/04 LANGUAGE Italiano TEACHING LOCATION SEMESTER 2° Semester MODULES Questo insegnamento è un modulo di: AUTOMATION SYSTEMS OVERVIEW Embedded systems are electronic processing systems based on different kind of microprocessors (microcontrollers, DSP, FPGA, etc.) specifically designed for a single application and are usually integrated (embedded) into the system they control; they cannot be reprogrammed by the user. They are widely used in automation and mechatronics. AIMS AND CONTENT LEARNING OUTCOMES At the end of module, the student will be able to: estimate the main requisites, in terms of resources needed (memory, I/O channels, communication bandwidth, computational power) for an embedded applications; identify the peripherals needed for a given application and program them; design and develop code for real-time applications on microcontrollers; use the tools for compiling and downloading code on microcontrollers. LEARNING OUTCOMES (FURTHER INFO) At the end of the module, the student will: Know what are embedded systems, which are their main architectures, and their main applications Know how to program an embedded system based on a microcontroller Know how to use the developer tools to compile and download the code Know how to configure and program the main peripherals (digital I/O, timers, ADC, PWM, SPI, UART) Have basic knowledge on how to design an embedded system Be able to identify the main requisites in terms of resources (memory, I/O, communication bandwidth, computational power) Be able to identify the peripherals needed for the specific application TEACHING METHODS The module is subdivided in theoretical lessons (introduction to the architectures) and laboratory activities (programming embedded systems with the aid of a developer board). Laboratory lessons are, in general, divided in one hour of introduction to the peripheral and three hours of programming exercises on the developer board. Students are subdivided in about 8/10 groups of 3/4 people each. SYLLABUS/CONTENT The content of the module is the following one: What is an embedded system and what are its main characteristics Introduction to the basic hardware needed for the realization of an embedded system What is a PCB and what is an integrated circuit Logic gates and combinatorial circuits Latches, Flip flops and sequential circuits Architectures of processing systems Basic architecture of a PC What is a communication BUS, the memory, the CPU and the control unit, what is a register and what is an ALU Specific architectures for embedded systems ASIC and ASSP PLD, CPLD and FPGA Microcontrollers and DSP Differences between PC and embedded system architectures Specific tools for developing code for embedded systems Programming embedded systems Peripherals programming digital I/O Oscillator configuration and timers usage Sensor acquisition through analog-digital conversion (ADC) Motor control through PWM signal generation Communication with other devices SPI bus to communicate with another microcontroller UART communication with a PC Interrupt and event-based programming RECOMMENDED READING/BIBLIOGRAPHY Slides will be available through aulaweb. In general, notes taken during the module and the slides available on aulaweb will be sufficient to prepare the exam. The following books can be used for further reading on embedded systems: Q. Li, C. Yao, Real-Time Concepts for Embedded Systems, CMP Books, 2003. (ISBN:1578201241). D. E. Simon, An Embedded Software Primer, Addison-Wesley Professional, 1999. (ISBN: 020161569X). TEACHERS AND EXAM BOARD ENRICO SIMETTI Exam Board GABRIELE COSTA (President) ENRICO SIMETTI (President) LESSONS Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Oral. ASSESSMENT METHODS Details on how to prepare for the exam and the level of knowledge required on each argument will be given during the lessons. The oral exam will be about the theoretical and programming aspects covered during the lessons, with the aim of evaluating if the student: has reached an adequate knowledge level on embedded systems and their main architectures can program microcontrollers in C language (possibly through simple exercise resolution) has an adequate knowledge of the different peripherals and their usage Exam schedule Data appello Orario Luogo Degree type Note 16/06/2017 09:30 LA SPEZIA Orale 28/07/2017 09:30 LA SPEZIA Orale 08/09/2017 10:30 LA SPEZIA Orale