20 credits at level HE6
Appraisal of embedded systems and programmable devices used in them. ( Microcontroller, FPGA, DSP, etc)
Analyse the requirements for embedded systems and select suitable hardware and software structures.
Use available interfaces in a microcontroller development system to implement embedded designs.
C programming for embedded microelectronic applications.
Introduction to object oriented concepts and programming.
Introduction to object oriented program design.
Introduction to file handling and interfacing with a PC
Introduction to RTOS, multitasking, scheduling and context switching.
Comparison of microprocessors, single chip RISC microcontrollers and PCs in terms of instruction set, architecture, bus signals, speed, cost, interrupt facilities and support devices. Memory types and interfaces.
Embedded System Design:
Design to meet technical requirements of a engineering problems.
Use of appropriate simulation, emulation, analysis and built-in diagnostic software to test the system.
Design and validation of programs written in a high level language (eg C) and assembler. File management and data structures. Input/output control using polling, interrupts and direct memory access.
Management of the development process.
Object oriented concepts and programming Classes, object collaboration, aggregation and composition, generalisation and inheritance, abstract classes.
Formal methods including Finite State Machines, procedural deconstruction, functional deconstruction and dataflow modelling.
Hardware/software design to meet specified requirements in data sheets for common user interfaces eg LCD displays, keypads, A/D converers.
Communications via RS232, USB, IIC, IEEE, etc.
Formal lectures/seminars to present and discuss information. Laboratory sessions to develop design techniques.
Tutorials for subject practice of design methods/calculations presented in lectures.
when you have successfully completed this module you will:
to demonstrate that you have achieved the learning outcome you will:
|1.||understand the main characteristics of embedded systems including processors, peripherals, interfaces and software requirements||identify system components and their characteristics|
|2.||understand the use of development tools for hardware/software design of microcomputer based systems eg. IDEs, simulators and in-circuit-emulators.||use development tools to implement, test and debug a microcomputer based system|
|3.||be able to design systems to implement solutions to specified engineering problems.||develop a working solution to an engineering design|
|4.||be able to design and validate programs in HLL and assembler language including library driver routines for specific devices and GUIs to be used in system development.||implement suitable software routines in a specific design assignment|
|5.||understand the basic transducer types used for data aquisition in microcomputer based control applications||identify and use suitable transducers in specific design solutions.|
Your achievement of the learning outcomes for this module will be tested as follows:
|Description||Based on an implementation of a programming task using a development target device||Based on an implementation of a programming task using a development target device||A written time limited test in an exam format|
Before taking this module you must have successfully completed the following:
You cannot take this module if you are taking or have taken:
Embedded Systems: Architecture, Programming and Design, Raj Kamal, McGraw- Hill, 2008
Embedded Microprocessor Systems: Real World Design, Stuart R. Ball, Butterworth-Heinemann, 2000
Embedded Controller Hardware Design, Ken Arnold, LLH Technology Pub, 2001
An Embedded Software Primer, David E. Simon, Addison-Wesley, 1999
C Programming Language, Kernigham, Prentice Hall, 1988
|Host Subject Group:|
|User Name||Date Accessed||Action|