Teacher
|
SALVATORI STEFANO
(syllabus)
Introduction: fundamentals on digital electronic systems: wired vs. programmable logic; hardware description languages in the design of complex systems; programmable digital apparatus; microprocessor invention: Von Newmann and Harvard architectures; RISC e CISC; history and evolution of microprocessors; microcontrollers architecture; ARM architecture: breef history; microprocessors at glance; instruction set; RISC architecture; internal registers organization; ARM and Thumb states; CISC versus RISC; pipeline; exceptions: origin and management; interrupt; debug systems and JTAG interface; ARM7TDMI organization with ARM9TDMI comparison; LPC800 (NXP) microcontrollers: system memory; NVIC; system controller; pin mapping and configuration; input/output ports; ADC; Timer; Flash memory; Embedded ICE. Peripherals: A/D and D/A conversion; communication standards; the HD44780 LCD-controller. Software: developing system; proprietary and open-source IDE; Eclipse; Make file, glue code, new project creation; software design; basic code, finite state machine, function and libraries, macro; interrupt vectors, priority, deadlock, priority inversion; interrupt management; debug: registers control, variables, stack; step-by-step execution; breadboarding. Practical experiments: compile, upload, debug; prototype realization. Experiments on: LED driving; keyboard interfacing; voltage acquisition via an ADC; timer usage; PWM control; analog signal acquisition and processing from a sensor; LCD interface; Finite State Machine; a simple clock; a chronothermostat.
(reference books)
Furber, “ARM, system-on-chip architecture”, ch. 1-3, second edition, Addison Wesley, 2000 Salvatori, “Introduzione alla progettazione con gli LPC2000”, Aracne editrice, 2011 NXP Semiconductors, “UM10800 LPC82x User Manual”, www.nxp.com NXP Semiconductors, “LPC82x product datasheet”, www.nxp.com Martin, “The insider’s guide to the NXP ARM7-based microcontrollers”, www.hitex.co.uk
|