The course allows the students to acquire the knowledge and the ability to apply design techniques for digital systems in general and in particular with programmable platforms. The course analyzes the typical structure and the technology of modern programmable electronic components, develops the ability to design a digital electronic system from specifications to implementation and experimental verification of the behavior, the ability to draft a technical report on the design and characterization of a component or digital electronic system.
teacher profile teaching materials
-Classification of electronic devices and systems for embedded applications
-Technologies and fields of application
Recalls on numbering systems and data types
-Binary and hexadecimal numbers
-Conversions and operations between binary and hexadecimal numbers
-Binary representation of integers
-Binary representation of real numbers
Embedded programming in the C language
-High-level programming
-Compilers
-Structure of C programs
-Examples
Introduction to the ARM architecture and the STM32 family of microcontrollers
-Introduction to Cortex and Cortex-M processors
-Introduction to STM32 microcontrollers
-Core development board
Toolchain
-STM32CubeIDE Development Environment
-STM32CubeMX Configuration Tool
-Debugging
Hardware Abstraction Layer
-Digital Interfacing (GPIO)
-Interrupt Management
-Clock System
-Direct Memory Access (DMA)
-Timer and Real-Time Clock
-Serial Interfaces (USART)
-Analog-To-Digital Conversion
-Digital-To-Analog Conversion
-I2C
-SPI
-CAN-bus
Design of embedded systems
-Laboratory
-Project development
Notes from the instructor
Joseph You, “The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors,” Third Edition 2014, Elsevier, 2014, ISBN 978-0-12-408082-9, https://doi.org/10.1016/C2012-0-01372-5
Carmine Noviello, “Mastering STM32 - Second Edition, A step-by-step guide to the most complete ARM Cortex-M platform, using the official STM32Cube development environment,” Leanpub, 2022, http://leanpub.com/mastering-stm32-2nd
Programme
Introduction-Classification of electronic devices and systems for embedded applications
-Technologies and fields of application
Recalls on numbering systems and data types
-Binary and hexadecimal numbers
-Conversions and operations between binary and hexadecimal numbers
-Binary representation of integers
-Binary representation of real numbers
Embedded programming in the C language
-High-level programming
-Compilers
-Structure of C programs
-Examples
Introduction to the ARM architecture and the STM32 family of microcontrollers
-Introduction to Cortex and Cortex-M processors
-Introduction to STM32 microcontrollers
-Core development board
Toolchain
-STM32CubeIDE Development Environment
-STM32CubeMX Configuration Tool
-Debugging
Hardware Abstraction Layer
-Digital Interfacing (GPIO)
-Interrupt Management
-Clock System
-Direct Memory Access (DMA)
-Timer and Real-Time Clock
-Serial Interfaces (USART)
-Analog-To-Digital Conversion
-Digital-To-Analog Conversion
-I2C
-SPI
-CAN-bus
Design of embedded systems
-Laboratory
-Project development
Core Documentation
Recommended readings:Notes from the instructor
Joseph You, “The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors,” Third Edition 2014, Elsevier, 2014, ISBN 978-0-12-408082-9, https://doi.org/10.1016/C2012-0-01372-5
Carmine Noviello, “Mastering STM32 - Second Edition, A step-by-step guide to the most complete ARM Cortex-M platform, using the official STM32Cube development environment,” Leanpub, 2022, http://leanpub.com/mastering-stm32-2nd
Type of evaluation
Development of projects based on programmable systems: - Assigned or proposed topics - Conducted individually during the last part of the course Final report to be presented at the oral examination teacher profile teaching materials
Programmable system classification
Fields of application
Digital electronics:
Logical networks
Combinational circuits
Sequential circuits
Programmable logics
Numeral systems and data types:
Binary and hexadecimal numbers
Operations and conversions with binary and hexadecimal numbers
Binary representation of integers
Binary representation of real numbers
Microcomputer topology:
Base structure
Microcontrollers vs. microprocessors
CPU
Bus
Memory arrangement
I/O arrangement
Instruction set
Interrupts
Embededd programming with Assembler:
Low level programming
Assembler
Assembler instruction characteristics
Multiplications and divisions
Data and variable allocation
Subroutines and Interrupt Service Routines
Embedded programming with C:
High level programming
Builders
Structure of a C program
Exampled
C and Assembler code integration
Interfacing basics:
Power supply
Clock
Power-on reset
Bootstrap
Embedded peripherals:
Interrupt types
Interrupt management
Timers and counters
Embedded memories
Bus arbitrations
Direct Memory Access (DMA)
Physical interfaces:
General Purpose Input Output (GPIO)
Device interfacing with GPIO
Switch and push button interfaces
LED interface
Display interface
Continous current loads
Alternate current loads
Motor loads
Serial communication:
Data communication
Serial channels
UART
USB
SPI
I2C
1-Wire
Analog signal processing:
Sensors, interfacing and signal conditioning
Operational amplifiers
Comparators
Sampling
ADC and DAC converters
Manuel Jiménez, Rogelio Palomera, Isidoro Couvertier, “Introduction to Embedded Systems: Using Microcontrollers and the MSP430“, Springer Science & Business Media, 11 set 2013.
Paolo Spirito, “Elettronica digitale”, McGraw-Hill Companies, 2002.
Additional references:
Texas Instruments MSP-EXP430FR5739
http://www.ti.com/tool/msp-exp430fr5739
MSP-EXP430FR5739 Experimenter Board User's Guide (Rev. B)
http://www.ti.com/lit/ug/slau343b/slau343b.pdf
MSP430FR57xx Family User's Guide (Rev. C)
http://www.ti.com.cn/cn/lit/ug/slau272c/slau272c.pdf
MSP430FR573x Mixed-Signal Microcontrollers (Rev. J)
http://www.ti.com/lit/ds/slas639j/slas639j.pdf
Texas Instruments Code Composer Studio (IDE) v5 Windows/Linux
http://www.ti.com/tool/ccstudio
Programme
Introduction to programmable systems:Programmable system classification
Fields of application
Digital electronics:
Logical networks
Combinational circuits
Sequential circuits
Programmable logics
Numeral systems and data types:
Binary and hexadecimal numbers
Operations and conversions with binary and hexadecimal numbers
Binary representation of integers
Binary representation of real numbers
Microcomputer topology:
Base structure
Microcontrollers vs. microprocessors
CPU
Bus
Memory arrangement
I/O arrangement
Instruction set
Interrupts
Embededd programming with Assembler:
Low level programming
Assembler
Assembler instruction characteristics
Multiplications and divisions
Data and variable allocation
Subroutines and Interrupt Service Routines
Embedded programming with C:
High level programming
Builders
Structure of a C program
Exampled
C and Assembler code integration
Interfacing basics:
Power supply
Clock
Power-on reset
Bootstrap
Embedded peripherals:
Interrupt types
Interrupt management
Timers and counters
Embedded memories
Bus arbitrations
Direct Memory Access (DMA)
Physical interfaces:
General Purpose Input Output (GPIO)
Device interfacing with GPIO
Switch and push button interfaces
LED interface
Display interface
Continous current loads
Alternate current loads
Motor loads
Serial communication:
Data communication
Serial channels
UART
USB
SPI
I2C
1-Wire
Analog signal processing:
Sensors, interfacing and signal conditioning
Operational amplifiers
Comparators
Sampling
ADC and DAC converters
Core Documentation
Textbooks:Manuel Jiménez, Rogelio Palomera, Isidoro Couvertier, “Introduction to Embedded Systems: Using Microcontrollers and the MSP430“, Springer Science & Business Media, 11 set 2013.
Paolo Spirito, “Elettronica digitale”, McGraw-Hill Companies, 2002.
Additional references:
Texas Instruments MSP-EXP430FR5739
http://www.ti.com/tool/msp-exp430fr5739
MSP-EXP430FR5739 Experimenter Board User's Guide (Rev. B)
http://www.ti.com/lit/ug/slau343b/slau343b.pdf
MSP430FR57xx Family User's Guide (Rev. C)
http://www.ti.com.cn/cn/lit/ug/slau272c/slau272c.pdf
MSP430FR573x Mixed-Signal Microcontrollers (Rev. J)
http://www.ti.com/lit/ds/slas639j/slas639j.pdf
Texas Instruments Code Composer Studio (IDE) v5 Windows/Linux
http://www.ti.com/tool/ccstudio
Reference Bibliography
Textbooks: Manuel Jiménez, Rogelio Palomera, Isidoro Couvertier, “Introduction to Embedded Systems: Using Microcontrollers and the MSP430“, Springer Science & Business Media, 11 set 2013. Paolo Spirito, “Elettronica digitale”, McGraw-Hill Companies, 2002. Additional references: Texas Instruments MSP-EXP430FR5739 http://www.ti.com/tool/msp-exp430fr5739 MSP-EXP430FR5739 Experimenter Board User's Guide (Rev. B) http://www.ti.com/lit/ug/slau343b/slau343b.pdf MSP430FR57xx Family User's Guide (Rev. C) http://www.ti.com.cn/cn/lit/ug/slau272c/slau272c.pdf MSP430FR573x Mixed-Signal Microcontrollers (Rev. J) http://www.ti.com/lit/ds/slas639j/slas639j.pdf Texas Instruments Code Composer Studio (IDE) v5 Windows/Linux http://www.ti.com/tool/ccstudioType of delivery of the course
Frontal lessons and classroom exercises.Type of evaluation
Students are evaluated with two alternative modalities (each student can choose their preferred evaluation method): a. The students develops a microcontroller-based electronic system. The system design and functionalities are discussed during an oral exam. b. Oral exam about the whole course program.