====== Introduction to Embedded Systems ====== === Content === Basic introduction to technologies, functions and design of embedded systems: Typical requirements, examples of product and production automation, introduction to microcontrollers, introduction to logic control with PLCs, device technology, and according tools. === News === {| |- || **Date** || **News** |- || 03/14/2007 || Grades are online. The inspection (Klausureinsicht) will be on wednesday march 21st, 1 pm in the room 2323 (exercise room). |- || 01/30/2007 || Added hardware platform selection lecture. |- || 01/23/2007 || Added FPGAs in a nutshell lecture. |- || 01/17/2007 || Major update on lecture material. |- || 01/09/2007 || Exercise 5 added. |- || 12/13/2006 || Exercise 4 added. |- || 11/29/2006 || Exercise 3 added. |- || 11/28/2006 || Added literature links. |- || 11/21/2006 || Added exercise sheets. |- || 11/06/2006 || There will be no lecture tomorrow, Tuesday 7th, because of the "Fachschaftsvollversammlung". |- || 10/24/2006 || Preleminary group assignment is finished. English group starts on October 24., German group starts on November 8th. |- || 10/16/2006 || As there will be no lecture this tuesday (17.10.), there will be no exercise this wednesday (18.10.) either. Btw: the exercise starts a little earlier (90 + 15 min.) as the time for setting up the microcontrollers has been added. |} === Links === * [[http://www-i11.informatik.rwth-aachen.de/smf/index.php?board=10.0|Forum]] * [[http://www.campus.rwth-aachen.de/rwth/all/event.asp?gguid=0x5D4E275B8947C448AF3848A93D36FCEA&tguid=0x5C961A8BF520754488FFF860D2381637|Campus]] * [[http://www-i11.informatik.rwth-aachen.de/smf/index.php?board=19.0|Frequently asked questions MCU]] * [[http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf|ATmega16 Description]] * [[http://www-i11.informatik.rwth-aachen.de/index.php?id=faq|All FAQs including FPGA and VHDL issues]] === Lecture Material === {| |- || **Date** || **Topic** || **Documents** |- || 2006-10-31 || Organisation || {{:lehre:wise0607:00_20061014_ies_organisation.pdf|Slides}} |- || 2006-10-31 || Introduction || {{:lehre:wise0607:01_20061014_ies_introduction.pdf|Slides}} |- || 2007-01-17 || Microcontroller 1 || {{:lehre:wise0607:part02_1.pdf|Slides}} |- || 2007-01-17 || Microcontroller 2 || {{:lehre:wise0607:part02_2.pdf|Slides}} |- || 2007-01-10 || ADC/DAC (continued) || {{:lehre:wise0607:03continued_2006_ies_microcontrollers_adc.pdf|Slides}} |- || 2006-01-17 || Microcontroller 3 || {{:lehre:wise0607:part02_3.pdf|Slides}} |- || 2006-01-17 || Introduction to logic control || {{:lehre:wise0607:part03.pdf|Slides}} |- || 2006-01-17 || PLCs 1 || {{:lehre:wise0607:part04.pdf|Slides}} |- || 2006-01-17 || PLCs 2 || {{:lehre:wise0607:part04_1.pdf|Slides}} |- || 2006-01-17 || Function Block Diagrams 1 || {{:lehre:wise0607:part04_2.pdf|Slides}} |- || 2007-01-10 || Function Block Diagrams 2 || {{:lehre:wise0607:04_2006_ies_standardfunctionblocks.pdf|Slides}} |- || 2006-01-17 || Instruction List || {{:lehre:wise0607:part04_3.pdf|Slides}} |- || 2006-01-17 || Specification and Implementation || {{:lehre:wise0607:part04_4.pdf|Slides}} |- || 2006-01-23 || FPGAs in a nutshell || {{:lehre:wise0607:20070123_fpgas_in_a_nutshell.pdf|Slides}} |- || 2007-01-09 || Hardware Platform Selection || {{:lehre:wise0607:20070130_hardwareplatforms.pdf|Slides}} |} === Exercise Material === {| |- || **Date** || **Topic** || **Documents** |- || 2007-01-09 || PLC 2 || {{:lehre:wise0607:acid_dilution.zip|Template file: acid dilution}} |- || 2006-12-13 || PLC 1 || {{:lehre:wise0607:flow_heater.zip|Template File: Gas Burner}} |- || 2006-11-29 || ADC Programming || {{:lehre:wise0607:lcd.h|lcd.h}} |- || 2006-11-29 || ADC Programming || {{:lehre:wise0607:lcd.c|lcd.c}} |- || 2006-11-29 || ADC || {{:lehre:wise0607:using_adc.pdf|Exercise 3}} |- || 2006-11-15 || Timers || {{:lehre:wise0607:using_timer.pdf|Exercise 2}} |- || 2006-11-15 || Interrupts || {{:lehre:wise0607:using_interrupts.pdf|Exercise 2}} |- || 2006-11-08 || General MCU Introduction || {{:lehre:wise0607:programming_microcontrollers_introes_extended.pdf|Exercise 1}} |} === Exercises === {| |- || **Date** || **Topic** || **Documents** |- || 2007-01-09 || PLC 2 || {{:lehre:wise0607:exercise5.pdf|Exercise 5}} |- || 2006-12-13 || PLC 1 || {{:lehre:wise0607:exercise4.pdf|Exercise 4}} |- || 2006-11-29 || ADC Programming || {{:lehre:wise0607:exercise3.pdf|Exercise 3}} |- || 2006-11-21 || General introduction to ATMega16 || {{:lehre:wise0607:exercise1.pdf|Exercise 1}} |- || 2006-11-21 || Interrupts and Timers || {{:lehre:wise0607:exercise2.pdf|Exercise 2}} |} === Conditions for getting a certificate (Übungsschein) === Participation in the exercises on a regular basis followed by an exam at the end of the semester. During the first half of the exercises, students will work with the ATMEL [[http://www.atmel.com/dyn/products/product_card.asp?part_id=2010|ATmega16]] AVR microcontroller (8bit RISC). In the second half, students will learn about PLCs (Programmable Logic Controllers). == Microcontroller Part == * The software we are using is Freeware. Since the Atmel Studio also offers a simulator (running in simulator mode as soon as no device is connected) you can experiment with it at home. * You need [[http://sourceforge.net/projects/winavr|WINAVR]] and the [[http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725|AVR studio 4]]. A local copy of the WIN AVR Studio used in the lab course can be found [[http://www-i11.informatik.rwth-aachen.de/fileadmin/user_upload/Redakteure/Vorlesungen/05winter/EinfEingSyst/WinAVR-20040720-install.exe|here]]. * Slides with a detailed step by step description of the design flow using WINAVR along with the AVR Studio can be found [[http://www-i11.informatik.rwth-aachen.de/fileadmin/user_upload/Redakteure/Vorlesungen/05winter/EinfEingSyst/Design%20steps%20%28Slides%29.pdf|here]] (501kB). * A short overview can be found [[http://www-i11.informatik.rwth-aachen.de/fileadmin/user_upload/Redakteure/Vorlesungen/05winter/EinfEingSyst/Design_with_WINAVR.pdf|here]] (10kB). * More information can be found on [[http://www.atmel.com/|atmel.com]] and in the according sections of Falk Salewski's Link List. == Programmable Logic Controller (PLC) Part == * [[http://www.3s-software.com/|CoDeSys]]: Softwaretool for programming & simulating PLC software === Exercise Schedule === {| |- || **Topic** || **Engl. group** || **Germ. group** |- || Introduction || 25.10. || 08.11. |- || Timers/Interrupts || 15.11. || 22.11. |- || ADC || 29.11. || 06.12. |- || PLC1 || 13.12. || 20.12. |- || PLC2 || 10.01. || 17.01. |- || FPGA or Quest. exam || 24.01. || 31.01 |} === Literature === * Webpage TU Wien: [[http://www.ecs.tuwien.ac.at/lehre/Microcontroller/Docs/Lecture/IntroMicrocontrollers.pdf|Script]] (1.2M) and according [[http://www.ecs.tuwien.ac.at/lehre/Microcontroller/MCLab.shtml|webpage]] * Barr: Programming Embedded Systems in C and C++ * Pont: Embedded C * Lunze: Automatisierungstechnik, Oldenbourg, 2003. * Lewis: Programming industrial control systems using IEC 1131-3, IEE, 1998.