Complete Course Outline

Index (Authors, Titles)



Embedded design: HW/SW codesign

Estonian IT College, Tallinn, Estonia

Design process of mixed hardware/software systems. Design specification, specification languages and modeling. HW/SW codesign methodology and codesign tools. Embedded design targeted for field programmable logic with the hard and soft processor cores. Prototyping of HW/SW systems on base of Xilinx FPGAs and Xilinx ISE WebPACK tool kit.
Lectures and demos.


AVR Microcontroller Interfaces

Seinäjoki University of Applied Sciences, Finland

The lectures will cover basic interfaces of Atmel’s AVR Microcontrollers. This tutorial introduces commonly used intrefaces and explains general standards and specifications. The list of interfaces is following

  • parallel:  8-bit ports (HD44780)
  • serial interface ( RS232 and 485)
  • serial: one wire interface
  • serial: I2C or TWI (two wire interface)
  • SPI (Serial Peripheral Interface)
  • JTAG interface
  • USB

Some interface s are discussed only in general level and some will be studied detailed. ATmega family microcontrollers have hardware blocks for some interfaces, so these will be explained according data sheets and manuals.

The laboratory part will demonstrate two or three interfaces with a demonstration kit of ATmega32U4 controllertolls and kits for demonstration. The programs will be pre-installed in laboratory computers. The students will make the code by c language according general instructions. The students will also make in pairs their own modifications and tests to be familiar with the interface. Demonstration interfaces are parallel (HD44780), serial ( RS232 and 485) and probably simple usage of  two wire interface.

The main idea is that the students will get a general view of different ways to transfer information between microcontrollers and environment devices. Also students will make a practical demonstrations to be able to use manuals and data sheets and therefore they will deeper their understanding.


AVR Microcontroller Memories

Seinäjoki University of Applied Sciences, Finland

The lecture will consist of different memorytypes used in  Atmel’s AVR Microcontrollers. This lecture introduces commonly used memories  and explains general use of them.  The list of memories is following

  • internal memory:
    • FLASH
    • RAM
    • EEPROM
  • external memory:
    • SRAM
    • ROM
    • FLASH

The memorytypes  are introduced  in general level and some will be studied detailed. The memorytypes   of ATmega family microcontrollers will be explained according data sheets and manuals.

The laboratory part will demonstrate the use of different memorytypes with a demonstration kit of ATmega32U4 controllers s and kits for demonstration. The programs will be pre-installed in laboratory computers. The students will make the code by c language according general instructions. The students will also make in pairs their own modifications and tests to be familiar with the memorytypes. Demonstrated memorytypes are Flash, RAM, EEPROM, ROM and MEMORYCARD microSD.

The students will get a general idea  how to use different types of memories  using   AVR Microcontrollers in different projects.  Students will also make a practical demonstrations in computerlabs with the help of  manuals and data sheets.


Special topics in the area of embedded systems, with a focus on: Embedded WebServers


K.H.Kempen University College, Geel, Belgium

Embedded WebServers with the TCP/IP stack from Microchip
Ethernet solutions are gaining popularity in the embedded connectivity space. There
are several key reasons that drive such adoption. Ethernet is ubiquitous and it is the
most widely deployed network in many offices and industrial buildings. It is based on
IEEE802.3 that ensures reliability of network connections and data transmission.
Moreover, the networks are scalable from the simplest to most complex networks.
Finally, once equipment is connected to the network, it can be monitored or
controlled through the internet.

Demonstration of state-of-the-art application projects based on Embedded
WebServers.  Lectures and examples will be introduced.
The lecture is followed by a practical workshop and hands-on. 


Developing Web Services for Mobile Intelligent Devices

Vaasa University of Applied Sciences, Vaasa, Finland 

A web service is any service that is available over the Internet, uses a standardized
XML messaging system and is not tied to any single operating system or
programming language.
XML messaging can be implemented through XML Remote Procedure Calls
(XML-RPC), Simple Object Access Protocol (SOAP), or alternatively through
HTTP GET/POST methods.
The JSR-172 (J2ME Web Services Specification) was approved and finalized by
Java Community Process in 2004. The J2ME Web Services API (WSA) extends
the J2ME to support web services. The API provides 1) remote service invocation
and 2) XML parsing packages, which are required for building clients of web
WSA is designed to work with J2ME profiles based on either the Connected
Device Configuration (CDC) or the Connected Limited Device Configuration
(CLDC 1.o or CLDC 1.1). The remote invocation API is based on Java API for
XML-Based RPC (JAX-RPC 1.1), with some Remote Method Invocation (RMI)
classes included to satisfy JAX-RPC dependencies. The XML-parsing API is based
on version 2 of Simple API for XML (SAX2).
The WSA allows integrating fundamental support for web services invocation and
XML parsing into the runtime environment of mobile devices. This means that
these functionalities do not need to be embedded in each application for resource-
constrained devices like mobile phones and personal digital assistants.
During these lectures we first get familiar with Web services and learn how to
develop them. Then we learn how to create mobile client application, which are
capable of communicating with Web services


Dependability in distributed embedded systems

University of Aveiro, Aveiro, Portugal

Dependable embedded systems are becoming pervasive in many domains, e.g. in automotive vehicles, in avionics, in building automation, in factory automation, etc. These systems are usually distributed and rely on a fieldbus network to interconnect sensors, actuators and controllers in a reliable and timely way.

In a distributed embedded system the network must provide the communication services between the distributed components (nodes). This requires the use of an adequate protocol able to control the information flow and to provide some guarantees concerning timeliness, atomicity and dependability. Timeliness guarantees are usually provided by real-time computing techniques. Dependability and control stability requirements can then be expressed as timing constraints either at the node level or at the communication system level.

There are two main classes of real-time systems: hard and soft real-time. Their distinction is based on the possible consequences from not meeting the time constraints, expressed as deadlines, i.e., the latest instants in time at which the results must be produced. If a result has utility even after the deadline has passed, the deadline is classified as soft, otherwise it is firm. If a catastrophe, either in terms of human injury or assets loss, could result from missing a firm deadline then such deadline is classified as hard.

In real-time communications, the transmission of a message on a bus is equivalent to a non-preemptive process running in a CPU and both a bus and a CPU may be regarded as shared resources that need to be scheduled between concurrent messages or processes. Despite this analogy, there is a fundamental distinction between real-time communications on a bus and real-time computing on a CPU: knowledge. While in a single CPU computing system the scheduling decisions are made knowing the current state of all processes, the tasks that a distributed system is required to coordinate are based in distributed knowledge, i.e. the knowledge is distributed among the nodes of the system and it is not necessarily common to all nodes. The execution of simultaneous actions by a group of members of a distributed system requires common knowledge. Agreement, e.g. on a distributed scheduling decision, is an example of a simultaneous action in a distributed system and it requires specific support from the network. This problem is harder when coordinated actions need to be executed in bounded time, as in the case of real-time distributed systems.

Controlling the access to the shared resource (bus) is a pre-requisite to provide consensus and membership services that, in turn, contribute for achieving common knowledge.

This talk will present an overview of medium access control policies and a survey of some relevant topics of dependability in the context of real-time communications, such as fault  tolerance fundamentals, distributed consensus and replica determinism.


Ambient Intelligence in Modern Mobile Communication Systems

Kiel University of Applied Sciences, Kiel, Germany

Times where mobile users only required speech communication have passed.
Instead data transfer in mobile communication systems is becoming more and more important. While UMTS was known to most of the public before being deployed (due to the extreme payments for UMTS frequency bands in the early 2000’s), the upcoming mobile communication technology LTE (Long Term Evolution) seems to come “through the backdoor”. This lecture will answer the following questions:

  • Is LTE a “3G evolution” or the 4th generation in mobile communication?
  • What are the main requirements for LTE?
  • Which access technology is used in LTE and what are the advantages thereof?
  • How can peak data rates of up to 100 Mbit/s be achieved in LTE?
  • What is the difference between GSM/UMTS and LTE?