Planering inbyggda system
From Datateknik
(Difference between revisions)
(→Labb 2 - Blinky LED etc etc) |
(→h2) |
||
Line 63: | Line 63: | ||
3.8 Mini Project: Letter Counter ........................................................................ 65 | 3.8 Mini Project: Letter Counter ........................................................................ 65 | ||
+ | ==Labb 3 == | ||
+ | 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 | ||
+ | ==Labb 4: 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 | ||
+ | Chapter 6. Further Programming Techniques | ||
+ | Chapter 7. Starting with Serial Communication | ||
==h2== | ==h2== | ||
+ | |||
+ | 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 Review | ||
+ | |||
+ | 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 | ||
+ | |||
+ | 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 |
Revision as of 14:50, 15 October 2019
prequel
Contents |
Kursböcker
LABBAR
Labb 1 - von Neumann & Assemblerprogrammering
von Neumann
- Fetch-Decode-Store CYCLE
- BBC: https://www.bbc.co.uk/bitesize/guides/z2342hv/revision/5 (Inqluding test!!)
- Flash: Click Next: https://www.hartismere.com/20398/CPU-Fetch-Decode-Execute-Animation
- Bra bok/Wiki KORT, med frågor -- https://en.wikibooks.org/wiki/A-level_Computing/AQA/Computer_Components,_The_Stored_Program_Concept_and_the_Internet/Machine_Level_Architecture/The_Fetch%E2%80%93Execute_cycle_and_the_role_of_registers_within_it
- https://www.ciss100.com/lecture-topics-modules/architecture-hardware/fetch-execute-cycle/
- ONLINE: https://tools.withcode.uk/cpu/
- Download: https://sourceforge.net/projects/johnnysimulator/
- CRAZY DETAIL: http://www.visual6502.org/sim/varm/armgl.html
- BAD??: https://www.mathematik.uni-marburg.de/~thormae/lectures/ti1/code/cpusim/index.html
- Artikel med referenser: https://www.tandfonline.com/doi/full/10.11120/ital.2010.09010100
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 - Blinky LED etc etc
- You can draw some awesome diagrams in fritzing, but you can *NOT* simulate i.e. make the LED blink
- Physical device programmed with web-based compiler
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
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
Labb 4: 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 Chapter 6. Further Programming Techniques Chapter 7. Starting with Serial Communication
h2
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 Review
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
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