Microcontroller Based Systems

A tantárgy neve magyarul / Name of the subject in Hungarian: Mikrokontroller alapú rendszerek

Last updated: 2016. január 3.

Budapest University of Technology and Economics
Faculty of Electrical Engineering and Informatics
Electrical Engineering B.Sc.         
Embedded and Control Systems Specialization         
Course ID Semester Assessment Credit Tantárgyfélév
VIAUA348 6 3/1/0/v 4  
3. Course coordinator and department Dr. Tevesz Gábor,
4. Instructors
Name: Title: Department:
Dr. Gábor Tevesz assoc. prof. Automation and Applied Informatics
Domokos Kiss assistant lect. Automation and Applied Informatics
Zoltán Szabó assistant lect.
Automation and Applied Informatics
5. Required knowledge
6. Pre-requisites
Kötelező:
((Szakirany("AVIbeágy", _) VAGY
Szakirany("AVIirány", _) VAGY
Szakirany("AVIszgalr", _) )
VAGY Training.code=("5NAA7") )

ÉS NEM ( TárgyEredmény( "BMEVIAUAC06" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUAC06", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:
7. Objectives, learning outcomes and obtained knowledge The course describes the most widespread microcontroller architectures and gives guidance for their selection to a given application. The course provides competences to design and realize the hardware components of microcontroller based systems and to implement the associated low level software system. Design phases are demonstrated by case studies.
8. Synopsis

Architectural basics
Central units of digital systems: architectural comparison of microprocessors and microcontrollers, basic rules for architecture selection. 8/16/32 bit systems, CISC/RISC and DSP architecture. Importance of architecture selection, and its effect on system-wide properties (speed, bit handling, fractional numbers, internal memory, register banks). Examples showing how to select the proper architecture. Detailed description of microcontroller architectures through concrete microcontrollers (8051, ARM and DSP).

Low level software development
Low level programming using assembly language. The process of software development. Programming languages, development for desktop PC-s and embedded systems. Software development model, the properties of the instruction set. Typical development environments (SiLabs, Keil, Eclipse), the structure of the firmware (configuration, startup code, interrupt handling.) Assembly inserts and subroutines. ASM and C code snippets for solving simple tasks. Case study:  software planning for a real-time control system, using microcontrollers (SiLabs C8051F04x, STM32F407 Cortex-M4).

Integrated peripherals of microcontrollers
Clock generators (internal, external, PLL circuits), reset and watchdog circuits. Memories (OTP ROM, flash, RAM, EEPROM). Timer and counter units (working modes, QEP, capture module, PWM). Integrated asynchronous and synchronous communication units and protocols (SCI, SPI, I2C, CAN). Digital input and output modules, the internal design of microcontroller ports. Analog input and output modules.  Interrupt subsystem and priority handling. Configuration, crossbar.

Connecting external peripherals to microcontrollers, typical connections
External clock generators, connection external memories (serial, parallel, using internal CSUNIT-s, wait cycle problems). Analog and digital IO connection problems, special peripherals(RTC, programmed logic, ASIC circuits). Signal conversion for physical levels (RS232, RS485, CAN). EMC and decoupling. Case study: design a concrete hardware from task description to circuit schematic.

Basic concepts and steps of hardware development
Using CAD systems for hardware development: schematic, simulation, PCB design systems and the most important features of them. Form and content of a hardware plan, technology considerations (through hole and surface mounted parts, number of PCB layers, soldering technology, etc.). EMC considerations. Wakeup, programmer and test interfaces. Importance of in-circuit programming. Custom and standardized (JTAG) interfaces. Internal and external bootloaders, firmware update.

Embedded operation systems (uC-OS)
Most important attributes of time and event driven systems, synchronization concepts, control constructs. Scheduling, task management, context switch. Synchronization of tasks: critical section, semaphore, mutex, message handling, task priority. The basic features of μC/OS-II operating system (structure, configuration options, major services, differences between 8- and 32-bit systems).
Case studies: implementation of a complete control system using μC/OS-II operating system.

9. Method of instruction The course consists of lectures and seminars, which are alternating during the semester. The lectures mainly contain the theoretical background and case studies are presented during seminars.
10. Assessment
 a. In lecture term:

1 in-class test, 1 homework

 b. In examination period:Written exam
 c.  Pre-exam:Uppon request

The requisite of the mid-term signature is to attend at the in-class term test and have at least satisfactory result and an accepted homework. The requisite of attending at an exam is having the mid-term signature. The credits can be obtained by reaching at least satisfactory result at the exam.

11. Recaps The in-class term test can be repeated once during the semester and once during the repeat period in accordance with the Code of Studies and Exams (CSE).
12. Consultations Before and after lectures, or upon request, appointed with the lecturer.
13. References, textbooks and resources

Tevesz G.: Mikrokontroller alapú rendszerek (Electronic textbook - in Hungarian). BME AUT, 2015.

Ganssle, J. et al.: Embedded Hardware: Know It All. Elsevier/Newnes, 2007.

Labrosse, J.J. et al.: Embedded Software: Know It All. Elsevier/Newnes, 2007.

Labrosse, J.J.: MicroC/OS-II The Real-Time Kernel (Second edition). CMP Books, 2002.

Hollabaugh, C.: Embedded Linux – Hardware, Software, and Interfacing. Addison-Wesley, 2002.

Boling, D.: Programming Microsoft Windows CE .NET, Third Edition. Microsoft Press, Berlin 2003.

14. Required learning hours and assignment
Contact hours 56
Preparation for lectures and practices 5
Preparation for in-class test
 15
Homework 20
Preparation for the exam 24
Total
 120
15. Syllabus prepared by
Name: Title: Department:
Dr. Gábor Tevesz assoc. prof. Automation and Applied Informatics