EECS 473 Review etc..

Slides:



Advertisements
Similar presentations
Embedded DSP Spectrum Analyzer May 0104 April 25, 2001 Teradyne Corp Julie Dickerson Bill Black Prihamdhani AmranEE Ryan ButlerCprE Aaron DelaneyEE Nicky.
Advertisements

1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Chapter 13 Embedded Systems
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
EECS 498 Advanced Embedded Systems Lecture 6: Rhyme, Reason & Review; Topic group formation.
Data Communication and Networking Physical Layer and Media.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Scheduling policies for real- time embedded systems.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
Embedded Linux Day 2. Stuffs HW1 posted today – Shooting for 1-2 hours. – Review scheduling stuff & licensing. HW0 in lab Sign up for group meetings for.
CSCI1600: Embedded and Real Time Software Lecture 2: Introduction Steven Reiss, Fall 2015.
Channel capacity A very important consideration in data communications is how fast we can send data, in bits per second, over a channel.
EECS 473 Advanced Embedded Systems Misc. things Midterm Review.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
Review etc.. Want to get out of here by 10am Go see 373 projects.
Real-Time Operating Systems RTOS For Embedded systems.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Introduction to Real-Time Operating Systems
cFS Platforms OSAL and PSP
Programmable Logic Devices
Topic 2: Hardware and Software
Software Testing.
ECE 720T5 Fall 2012 Cyber-Physical Systems
REAL-TIME OPERATING SYSTEMS
EECS 473 Advanced Embedded Systems
Chapter Objectives In this chapter, you will learn:
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Chapter 2 Memory and process management
September 2 Performance Read 3.1 through 3.4 for Tuesday
EECS 473 Review etc..
EECS 473 Advanced Embedded Systems
Unit OS9: Real-Time and Embedded Systems
Computer System Laboratory
Real Time Operating System
EECS 473 Review etc..
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
pocketVNA What is a Vector Network Analyzer?
Improved schedulability on the ρVEX polymorphic VLIW processor
CSCI1600: Embedded and Real Time Software
DCSP-3: Fourier Transform (continuous time)
Programming in JavaScript
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Convolution, GPS and the TigerSHARC XCORRS instr.
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
EECS 473 Advanced Embedded Systems
EECS 373 Advanced Embedded Systems
Flip-Flops Last time, we saw how latches can be used as memory in a circuit. Latches introduce new problems: We need to know when to enable a latch. We.
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
EECS 473 Advanced Embedded Systems
EECS150 Fall 2007 – Lab Lecture #4 Shah Bawany
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
CS6501 Embedded Operating Systems for the IoT
Instructor: Joel Grodstein
Wrap Up Don Porter.
EECS 473 Advanced Embedded Systems
CSCI1600: Embedded and Real Time Software
Programming in JavaScript
Processes and operating systems
Welcome to: CSC225 Introduction to Computer Organization
Automating Profitable Growth™
Chapter 10 Multiprocessor and Real-Time Scheduling
Data Communication and Networking
Professor: Shereen Khoja
CSE 373: Data Structures and Algorithms
Embedded System Development Lecture 12 4/4/2007
Physical Layer – How bits are sent
Presentation transcript:

EECS 473 Review etc.

Nice job folks Projects went well! Honestly I think the best the class has seen. Others (old students etc.) felt the same.

Due dates Assignment 2 and the Final Report are both due today. Given everything, HW2 is being accepted until Thursday at 5pm. Project report guidance on group contributions can be found on Piazza.

Schedule On Tuesday by 5pm the final report is due.  Be sure you are aware of the project report template document on the course page.   Final report should be pretty easy to do at this point. If your group does need an extension, let me know and we'll figure out something.  Clean up instructions posted on Piazza shortly. Office hours will be different during the break. We’ll post them tonight. I’ll be available after class for HW questions. Final exam: Monday 12/17 1:30- 3:30 PM EECS 1005 and 1200. We hope to have grades done by 12/20 at noon. HW2 may be the limiting factor.

Topics: Interfacing Writing software interfaces for hardware Ideally have a standard interface for both hardware and programmer. Makes it easy to port software. Also means it’s obvious what hardware control to provide. Like any interface, standardization here is very powerful, but comes at a cost. Abstracting away interface issues makes things less efficient. Examples?

Real-time systems and scheduling "those systems in which the correctness of the system depends not only on the logical result of the computation, but also on the time at which the results are produced"; Time matters Hard, soft, firm deadlines Validation if very difficult How do you know the worst case timing? Really difficult to prove worst case. Cache misses, branch prediction, etc. make for a very complex situation. For safety critical things, even a “large engineering margin” isn’t enough. Need to actually figure it out.

Real-time systems and scheduling Rate monotonic scheduling Static priority scheme Assumes “all” tasks are periodic. Give priority to tasks with lower period. Total utilization helps figure if schedulable. If is less than n(21/n-1) (n=number of tasks) it is schedulable. If over 100% not schedulable If neither is true, do critical instant analysis. EDF Requires dynamic priorities Works if less than 100% utilization

Licensing What a viral license is Why it matters in embedded perhaps more than elsewhere. LKM Impact on business model Hardware people tend to use a lot of other people’s code (legally). Vendor’s driver code etc. Libraries.

Topic: Software platform Embedded OS Topic: Software platform We covered three or four basic platforms for software development for an embedded system. Barebones Write everything yourself Barebones plus libraries Import some useful libraries but otherwise write it all yourself. RTOS Basic scheduler with a lot of control Generally a fair bit of support. I/O devices, memory management, etc. Fast interrupts processing possible/reasonable/”easy” Full OS Give up a lot of control Have to deal with a very complex system Get lots (and lots) of software support Vision, databases, etc.

Free RTOS Tasks and scheduling Creating tasks (xTaskCreate) Semaphores Embedded OS Free RTOS Tasks and scheduling Creating tasks (xTaskCreate) Semaphores Deferred interrupt processing. Can dynamically change priority.

Embedded OS FreeRTOS Likely your final design problem will involve using FreeRTOS in some way. Review lab 4 We’ll provide sample code and/or basic functions You don’t need to memorize syntax, but you do need to understand.

Embedded Linux What limitations on realtime you might have Embedded OS Embedded Linux What limitations on realtime you might have Can be fairly small footprint (not much memory) Things like busybox help I/O has a standard interface File model Not always ideal. But there is a lot of complexity here We spent a fair bit of time writing drivers.

Embedded OS Sample OS question What are the pros and cons of using a “full” OS (Linux, Windows etc.) in an embedded application? Give an example where you would certainly want to use such an OS and where you certainly would not want to.

Power integrity Discuss keeping Vcc/GND constant as possible. Recognize that our devices can generate current draw variations at a huge number of frequencies. Spikes or droops could break our device. Need caps. Small and large Get right values

Batteries Understand mAh Understand that mAh will be less if draw too quickly. Be able to work basic math using specific battery properties.

Example 800mAh battery. If we need 3.5V (or more) how long will this battery last at a 1.6A draw?

DSP We covered this for three reasons To give you a sense of what digital signal processing involves What are the characteristics of To make it clear that there can be specialized computational engines out there. What are some common special-purpose processors we discussed? An excuse to show fixed-point.

DSP and FPGA Example (utterly unfair) question: Consider the structure on the right. If a flip-flop has a delay of 1ns A multiply has a delay of 10ns An add has a delay of 2ns What is the lowest clock period you could get for a 64-tap (64 multiplies) implementation of the structure on the right? (Yes, this involves 270 stuff) This is a tricky question and too open-ended to be a good exam question. But it does drive home a number of points. Basic answer is that the worst case involves 1 FF delay, 1 multiplication, and 64 additions. So 1+10+128=139ns. Another answer would be that the additions can clearly be done as a tree. So 1+10+6*2=23ns Another answer is to move to from “direct form” to “transposed form” which gets us to 12ns (adder and multiplier!) https://www.eecs.umich.edu/courses/eecs452/Lec/L08SlidesF14.pdf page 9. The point here is that while we can optimize things, domain-specific knowledge often does better than the generic solution.

Wireless

Modulation Of frequency, phase and amplitude modulation, which are used in the above constalation?

Shannon–Hartley theorem We’ll use a different version of this called the Shannon-Hartley theorem. C is the channel capacity in bits per second; B is the bandwidth of the channel in hertz S is the total received signal power measured in Watts or Volts2 N is the total noise, measured in Watts or Volts2 Adapted from Wikipedia.

Sample questions for wireless S/N=3, so log2(4)=2. 50Mhz*2=100Mbit/sec.

Power received vs. power sent. The Friis Transmission Formula tells us how much power we’ll receive. It is: Where: Pt is the radiated power Pr is the received power Gt is the gain of the transmitting antenna Gr is the gain of the receiving antenna λ is the wavelength R is the distance between antennas However, many of those terms aren’t easily available from real spec. sheets. Instead we do some algebra and get the following equation: Where f is the frequency in MHz, pt and pr are in dBm and gt and gr are in dBi. r is in km. As a note, this is a theoretic result. In reality we often divide by 4 or more. https://webbrain.com/attach?brain=C0ABA1EA-DC45-635E-40CA-C0636235A853&attach=226&type=1

Questions dBi What is dBm? What is it exactly? What do we use it for? What is dBm? Why use dBm instead of dB or mW? Do lower or higher frequency signals go farther?