Computer Science. Embedded systems today. Microcontroller MCR

Similar documents
Microcontroller VU

A Practical Approach to Embedded Systems Engineering Workforce Development

FUZZY EXPERT. Dr. Kasim M. Al-Aubidy. Philadelphia University. Computer Eng. Dept February 2002 University of Damascus-Syria

Embedded System Design

Computer Organization I (Tietokoneen toiminta)

Course Specifications

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

GACE Computer Science Assessment Test at a Glance

SAM - Sensors, Actuators and Microcontrollers in Mobile Robots

Android App Development for Beginners

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

Using a PLC+Flowchart Programming to Engage STEM Interest

Circuit Simulators: A Revolutionary E-Learning Platform

LABORATORY : A PROJECT-BASED LEARNING EXAMPLE ON POWER ELECTRONICS

Computer Science 141: Computing Hardware Course Information Fall 2012

Project-Based-Learning: Outcomes, Descriptors and Design

Computer Architecture CSC

AC : HANDS ON PROGRAMMABLE LOGIC CONTROLLER (PLC) LABORATORY FOR AN INDUSTRIAL CONTROLS COURSE

A systems engineering laboratory in the context of the Bologna Process

AC : FACILITATING VERTICALLY INTEGRATED DESIGN TEAMS

Intel-powered Classmate PC. SMART Response* Training Foils. Version 2.0

ECE-492 SENIOR ADVANCED DESIGN PROJECT

K 1 2 K 1 2. Iron Mountain Public Schools Standards (modified METS) Checklist by Grade Level Page 1 of 11

Diploma in Library and Information Science (Part-Time) - SH220

IMPROVED MANUFACTURING PROGRAM ALIGNMENT W/ PBOS

PDA (Personal Digital Assistant) Activity Packet

A Hands-on First-year Electrical Engineering Introduction Course

COMPUTER INTERFACES FOR TEACHING THE NINTENDO GENERATION

CPMT 1347 Computer System Peripherals COURSE SYLLABUS

Software Development: Programming Paradigms (SCQF level 8)

M55205-Mastering Microsoft Project 2016

Table of Contents. Course Delivery Method. Instructor Information. Phone: Office hours: Table of Contents. Course Description

D Road Maps 6. A Guide to Learning System Dynamics. System Dynamics in Education Project

OFFICIAL DOCUMENT. Foreign Credits, Inc. Jawaharlal Nehru Technological University

CPMT 1303 Introduction to Computer Technology COURSE SYLLABUS

A Variation-Tolerant Multi-Level Memory Architecture Encoded in Two-state Memristors

Software Maintenance

Academic Catalog Programs & Courses Manchester Community College

MINISTRY OF EDUCATION

Group A Lecture 1. Future suite of learning resources. How will these be created?

University of Toronto Physics Practicals. University of Toronto Physics Practicals. University of Toronto Physics Practicals

COMPUTER ORGANIZATION

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

ebusiness Technologies Spring 2000 Syllabus

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

Embedded Real-Time Systems

High School Digital Electronics Curriculum Essentials Document

Courses in English. Application Development Technology. Artificial Intelligence. 2017/18 Spring Semester. Database access

Integration of ICT in Teaching and Learning

Application of Virtual Instruments (VIs) for an enhanced learning environment

Infrared Paper Dryer Control Scheme

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

SOFTWARE EVALUATION TOOL

Moderator: Gary Weckman Ohio University USA

Louisiana Free Materials List

Bluetooth mlearning Applications for the Classroom of the Future

Specialized Equipment Amount (SEA)

Measurement. Time. Teaching for mastery in primary maths

AGENDA LEARNING THEORIES LEARNING THEORIES. Advanced Learning Theories 2/22/2016

"On-board training tools for long term missions" Experiment Overview. 1. Abstract:

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

Computer Software Evaluation Form

From Virtual University to Mobile Learning on the Digital Campus: Experiences from Implementing a Notebook-University

SYLLABUS- ACCOUNTING 5250: Advanced Auditing (SPRING 2017)

Multidisciplinary Engineering Systems 2 nd and 3rd Year College-Wide Courses

Administrative Services Manager Information Guide

Oregon Institute of Technology Computer Systems Engineering Technology Department Embedded Systems Engineering Technology Program Assessment

Report on the Use of Intel Classmates

Radius STEM Readiness TM

Machine Learning and Data Mining. Ensembles of Learners. Prof. Alexander Ihler

Seminar - Organic Computing

Multimedia Courseware of Road Safety Education for Secondary School Students

LEGO MINDSTORMS Education EV3 Coding Activities

TEACHING AND EXAMINATION REGULATIONS (TER) (see Article 7.13 of the Higher Education and Research Act) MASTER S PROGRAMME EMBEDDED SYSTEMS

Introduction to Mobile Learning Systems and Usability Factors

An empirical study of learning speed in backpropagation

White Paper. The Art of Learning

Experimental Use of Kit-Build Concept Map System to Support Reading Comprehension of EFL in Comparing with Selective Underlining Strategy

Artificial Neural Networks

THE VIRTUAL WELDING REVOLUTION HAS ARRIVED... AND IT S ON THE MOVE!

Quantitative Evaluation of an Intuitive Teaching Method for Industrial Robot Using a Force / Moment Direction Sensor

Document number: 2013/ Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering

MYCIN. The MYCIN Task

EEAS 101 BASIC WIRING AND CIRCUIT DESIGN. Electrical Principles and Practices Text 3 nd Edition, Glen Mazur & Peter Zurlis

PART 1. A. Safer Keyboarding Introduction. B. Fifteen Principles of Safer Keyboarding Instruction

An Introduction to Simio for Beginners

Education & Training Plan Civil Litigation Specialist Certificate Program with Externship

Pod Assignment Guide

LOS ANGELES CITY COLLEGE (LACC) ALTERNATE MEDIA PRODUCTION POLICY EQUAL ACCESS TO INSTRUCTIONAL AND COLLEGE WIDE INFORMATION

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas

Learning Microsoft Publisher , (Weixel et al)

Process to Identify Minimum Passing Criteria and Objective Evidence in Support of ABET EC2000 Criteria Fulfillment

Practical Integrated Learning for Machine Element Design

Abstractions and the Brain

eportfolio Trials in Three Systems: Training Requirements for Campus System Administrators, Faculty, and Students

Institutionen för datavetenskap. Hardware test equipment utilization measurement

Driving Competitiveness. Delivering Growth and Sustainable Jobs. 29 May 2013 Dublin Castle, Ireland

ACCOMMODATIONS FOR STUDENTS WITH DISABILITIES

Transcription:

Computer Science Microcontroller Embedded systems today Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-2

Minuteman missile 1962 Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-3 Apollo guidance computer 1968 (lunar mission) Concept by MIT Hardware by Raytheon Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-4

Definition An embedded system is a special-purpose system in which the computer is encapsulated by or dedicated to the device or system it controls. A microcontroller is a computer-on-a-chip designed for self-sufficiency and cost-effectiveness, in contrast to a general-purpose microprocessor used in PCs. Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-5 Microcontroller Single integrated circuit, key features: central processing unit input/output interfaces such as serial ports peripherals such as timers and watchdog circuits RAM for data storage ROM for program storage (Harvard architecture) clock generator - often an oscillator for a quartz timing crystal, resonator or RC circuit Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-6

Time to market Shortest possible development time by easy to use development tools enough on-chip-resources efficient for high level languages Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-7 MCU vs. CPU stand alone cheap dedicated application high performance universal application PC environment small package Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-8

Development tools Selecting the right development tools evaluation kit (e.g. AVR Butterfly) architectural simulator (e.g. AVR Studio) on chip debugger (e.g. AVR JTAGICE mk-ii) C compiler (e.g. WinAVR) Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-9 Programming language Assembly vs. C same productivity in lines of code but 1 line of C code will do much more C source code is more structured easier to debug assembly code is smaller preferarable for small programs up to 4kB assembly code is always faster write time critical (parts) in assembly 1/8 μs (125 ns) per cycle (at 8 MHz), most operations need only 1 cycle Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-10

'C' Advantages over Assembly www2.tech.purdue.edu\ecet\courses\referencematerial\atmel\index.html: * Programming and program test time is drastically reduced * Knowledge of the processor instruction set is not required. Only rudimentary knowledge of the memory structure of the CPU is desirable, although not necessary. * Details like register allocation, the addressing of the various memory, and data types are managed by the compiler. * Programs get a formal structure and can be divided into separate functions. This provides better program structure. * The ability to combine variable selections with specific operations improves program readability. * Keywords and operational functions can be used that closely resemble the human thought process. * The supplied and supported C libraries contain many standard routines such as formatted output, numeric conversions, and floating point arithmetic. * Existing program parts can be more easily included into new programs by the use of the modular programming techniques. * The C language is a very portable language (standardized to ANSI X3J11), enjoys wide support, and is easily obtained for most systems. This means that any existing program investment can be quickly adapted to other microcontrollers. ATmega16 features overview (1) RISC Architecture (Reduced Instruction Set Computing) 131 instructions (operation codes) 32 x 8 bit general purpose registers Memory 16 kb flash memory 1 kb RAM 0,5 kb EEPROM (Electrically-Erasable Programmable Read-Only Memory) Periphal features 2 timer/counters, 8-bit 1 timer/counter, 16-bit 8 channel, 10 bit ADC (Analog-to-Digital-Converter) 1 serial interface, programmable Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-12

ATmega16 features overview (2) I/O 32 programmable I/O lines Speed 1 16 MHz clock rate Packages 40 pin PDIP 44-lead TQFP, 44-quadQFN/MLF Voltage, power 4.5-5.5 V 1.1 ma Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-13 ATmega architecture Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-14

ATmega16 architecture Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-15 ATmega16 CPU program memory (opcode) address of next opcode current opcode switch control lines depending on opcode read/write memory (variables) non volatile values (e.g.sensor calibration) Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-16

Port What is a Port? A gate from the CPU to external hardware components The CPU communicates with these components, reads from them or writes to them 64 different ports, not all of them physically available in all AVR types (see the data sheets for the processor type) Fixed address, over which the CPU communicates. The address is independent from the type of AVR. (e.g. the port adress of port B is always 0x18. Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-17 Register Registers are special storages with 8 bits capacity and they look like this: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 The special character of registers, compared to other storage sites, is that they can be used directly in assembler and C commands, operations with their content require only a single command word, they are connected directly to the CPU (with the accumulator) they are source and target for calculations. Ports are registers too. Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-18

ATmega16 pinouts Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-19 ATtiny11 pinouts Prof. Dr. Siepmann Fachhochschule Aachen - Aachen University of Applied Sciences 24. März 2009-20