Planering inbyggda system

From Datateknik
Revision as of 13:35, 23 October 2019 by Imra (Talk | contribs)

Jump to: navigation, search

Why do computer scientists confuse Halloween and Christmas?

Because Oct 31 == Dec 25

ISY200 1 Embedded systems (Embedded systems) 2,5 hp Grundnivå IV

G1F - grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav
Förkunskapskrav:

GPP100 - Grundläggande Programmering med Python (LÄGG TILL "eller GPP100")
DAK100 - Datorarkitektur
ELK202 - Elektronik, grundläggande

Contents

Kursböcker (2.5hp)

Kursbok BOKfastandeffectiveembeddedsystemsdesign.png

Referenslitteratur BOKperryxiao.jpg

Böcker rekommenderade av ARM: https://os.mbed.com/cookbook/Books

SCHEMA

  • 2h föreläsning
  • 2h datasal (helklass) Rita kretsdiagram + man skriver färdigt programmen för LABBEN
  • 3h halvklass LABBEN (förkrav programmering och skisser SKALL vara klara)

Summa: 10h i sal för Robert (per vecka)

0.5 hp per uppgift ger 2.5hp totalt

 

LABBAR

Hardware:

Labb 1 - von Neumann & Assemblerprogrammering

skriv "assembler" för von Neumann (fetch-decode-execute)

ARM assembler

Vilken assembler passar till följande kod:

int square(int num) {
   register int temp;
   register float x;
 
   temp =  4;
   x = 3.1415;
    
   return temp + (int) x;
}

Kontrollera på sidan https://godbolt.org/ Glöm inte att ändra till gcc för ARM

 

Labb 2 - 2Blinky LED, 3(DigitalIn + Digital Out + Interfacing OptoSensor)

Projekt: Kan man digitalt läsa av en fläkts RPM med en digital brutare? (smatterband :-)

Digital I/O

3.1 Starting to Program................................................................................. 37
 3.1.1 Thinking About the First Program.................................................................. 37
 3.1.2 Using the mbed API ............................................................................... 40
 3.1.3 Exploring the while Loop.......................................................................... 41
3.2 Voltages as Logic Values............................................................................. 42
3.3 Digital Output on the mbed........................................................................... 44
 3.3.1 Using Light Emitting Diodes ...................................................................... 44
 3.3.2 Using mbed External Pins ......................................................................... 46
3.4 Using Digital Inputs................................................................................. 47
 3.4.1 Connecting Switches to a Digital System........................................................... 47
 3.4.2 The DigitalIn API ................................................................................ 48
 3.4.3 Using if to Respond to a Switch Input ............................................................ 49
3.5 Digital Input and Output With the Application Board.................................................. 51
3.6 Interfacing Simple Optodevices ...................................................................... 54
 3.6.1 Optoreflective and Transmissive Sensors........................................................... 54
 3.6.2 Connecting an Optosensor to the mbed.............................................................. 55
 3.6.3 Seven-Segment Displays............................................................................ 56
 3.6.4 Connecting a Seven-Segment Display to the mbed ................................................... 58
3.7 Switching Larger DC Loads............................................................................ 61
 3.7.1 Applying Transistor Switching..................................................................... 61
 3.7.2 Switching a Motor With the mbed................................................................... 63
 3.7.3 Switching Multiple Seven-Segment Displays......................................................... 64
3.8 Mini Project: Letter Counter ........................................................................ 65

 

Labb 3 - Analog I/O (4.1+5.1)

Projekt? Analog PWM-styrning av CPU-fläkt och avläsning av RPM

Analog I/O

Chapter 4. Analog Output

4.1. Introducing Data Conversion
4.2. Analog Outputs on the mbed
4.3. Another Form of Analog Output: Pulse Width Modulation
4.4. Pulse Width Modulation on the mbed

Chapter 5. Analog Input

5.1. Analog-to-Digital Conversion (ADC)
5.2. Combining Analog Input and Output
5.3. Processing Data From Analog Inputs
5.4. Some Simple Analog Sensors
5.5. Exploring Data Conversion Timing
5.6. Mini Projects
Chapter Review

Labb 4 - Serial Communication (7:SPI,I2C,Asynch,USB)

Serial Communication

Chapter 7. Starting with Serial Communication
7.1. Introducing Synchronous Serial Communication
7.2. SPI
7.3. Intelligent Instrumentation
7.4. Evaluating SPI
7.5. The I2C Bus
7.6. Communicating With I2C-Enabled Sensors
7.7. Evaluating I2C
7.8. Asynchronous Serial Data Communication
7.9. USB
7.10. Mini Project: Multinode I2C Bus
Chapter Review

Labb 5 - Interrupts, Timers (Chapter 9)

Chapter 9. Interrupts, Timers, and Tasks

9.1. Time and Tasks in Embedded Systems
9.2. Responding to External Events
9.3. Simple Interrupts on the mbed
9.4. Getting Deeper Into Interrupts
9.5. An Introduction to Timers
9.6. Using the mbed Timer
9.7. Using the mbed Timeout
9.8. Using the mbed Ticker
9.9. The Real-Time Clock
9.10. Switch Debouncing
9.11. Where Do We Go From Here? The Real-Time Operating System
9.12. Mini Projects
Chapter Review

Labb 6 - Power (Consumtion)

Chapter 15. Hardware Insights: Clocks, Resets, and Power Supply

15.1. Hardware Essentials
15.2. Clock Sources and Their Selection
15.3. Reset
15.4. Toward Low Power
15.5. Exploring mbed Power Consumption
15.6. Getting Serious About Low Power; the M0/M0+ Cores and the Zero Gecko
Chapter Review

Chapters NOT included

Chapter 6. Further Programming Techniques
6.1. The Benefits of Considered Program Design and Structure
6.2. Functions
6.3. Program Design
6.4. Working With Functions on the mbed
6.5. Using Multiple Files in C/C++
6.6. Modular Program Example
6.7. Working With Bespoke Libraries
Chapter Review
References
Chapter 10. Memory and Data Management
10.1. A Memory Review
10.2. Introducing Pointers
10.3. Using Data Files With the mbed
10.4. Example mbed Data File Access
10.5. Using External SD Card Memory With the mbed
10.6. Using External USB Flash Memory With the mbed
10.7. Mini Project: Accelerometer Data Logging on Exceeding Threshold
Chapter Review

NOT INCLUDED

Chapter 6. Further Programming Techniques
6.1. The Benefits of Considered Program Design and Structure
6.2. Functions
6.3. Program Design
6.4. Working With Functions on the mbed
6.5. Using Multiple Files in C/C++
6.6. Modular Program Example
6.7. Working With Bespoke Libraries
Chapter Review
References
Chapter 7. Starting with Serial Communication
7.1. Introducing Synchronous Serial Communication
7.2. SPI
7.3. Intelligent Instrumentation
7.4. Evaluating SPI
7.5. The I2C Bus
7.6. Communicating With I2C-Enabled Sensors
7.7. Evaluating I2C
7.8. Asynchronous Serial Data Communication
7.9. USB
7.10. Mini Project: Multinode I2C Bus
Chapter Review
Chapter 8. Liquid Crystal Displays
8.1. Display Technologies
8.2. Using the PC1602F LCD
8.3. Using the mbed TextLCD Library
8.4. Displaying Analog Input Data on the LCD
8.5. Pixel Graphics—Implementing the NHD-C12832 Display
8.6. Color LCDs—Interfacing the uLCD-144-G2
8.7. Mini Project: Digital Spirit Level
Chapter Review
Chapter 9. Interrupts, Timers, and Tasks
9.1. Time and Tasks in Embedded Systems
9.2. Responding to External Events
9.3. Simple Interrupts on the mbed
9.4. Getting Deeper Into Interrupts
9.5. An Introduction to Timers
9.6. Using the mbed Timer
9.7. Using the mbed Timeout
9.8. Using the mbed Ticker
9.9. The Real-Time Clock
9.10. Switch Debouncing
9.11. Where Do We Go From Here? The Real-Time Operating System
9.12. Mini Projects
Chapter Review
Chapter 10. Memory and Data Management
10.1. A Memory Review
10.2. Introducing Pointers
10.3. Using Data Files With the mbed
10.4. Example mbed Data File Access
10.5. Using External SD Card Memory With the mbed
10.6. Using External USB Flash Memory With the mbed
10.7. Mini Project: Accelerometer Data Logging on Exceeding Threshold
Chapter Review
Part II. Moving to Advanced and Specialist Applications
Chapter 11. Wireless Communication – Bluetooth and Zigbee
11.1. Introducing Wireless Data Communication
11.2. Bluetooth
11.3. Zigbee
11.4. Mini Projects
Chapter Review
Chapter 12. Internet Communication and Control
12.1. Introduction to Internet Communication
12.2. The Ethernet Communication Protocol
12.3. Local Area Network Communications With the mbed
12.4. Using Remote Procedure Calls With the mbed
12.5. Using the mbed With Wide Area Networks
12.6. The Internet of Things
Chapter Review
Chapter 13. Working With Digital Audio
13.1. An Introduction to Digital Audio
13.2. USB MIDI on the mbed
13.3. Digital Audio Processing
13.4. Digital Audio Filtering Example
13.5. Delay/Echo Effect
13.6. Working With Wave Audio Files
13.7. High-Fidelity Digital Audio With the mbed
13.8. Summary on Digital Audio and Digital Signal Processing
13.9. Mini Project: Portable Music Player
Chapter Review
Chapter 14. Letting Go of the mbed Libraries
14.1. Introduction: How Much Do We Depend on the mbed API
14.2. Control Register Concepts
14.3. Digital Input/Output
14.4. Getting Deeper Into the Control Registers
14.5. Using the DAC
14.6. Using the ADC
14.7. A Conclusion on Using the Control Registers
Chapter Review
Chapter 15. Hardware Insights: Clocks, Resets, and Power Supply
15.1. Hardware Essentials
15.2. Clock Sources and Their Selection
15.3. Reset
15.4. Toward Low Power
15.5. Exploring mbed Power Consumption
15.6. Getting Serious About Low Power; the M0/M0+ Cores and the Zero Gecko
Chapter Review
Chapter 16. Developing Commercial Products With mbed
16.1. Embedded Systems Design Process
16.2. Using mbed-Enabled Platforms in Commercial Products
16.3. Implementing the mbed Architecture on a Bespoke Printed Circuit Board
16.4. Programming the LPC1768 Directly
16.5. Case Study: Irisense Temperature Logger With Touch Screen Display
16.6. Closing Remarks
Chapter Review
Quiz
Personal tools
Namespaces

Variants
Actions
Navigation
Tools