EECS 498 Advanced Embedded Systems Lecture 2 Interrupts reviewed, PCB design, and a bit on communication.

Slides:



Advertisements
Similar presentations
Math for Liberal Studies. There is a list of numbers called weights These numbers represent objects that need to be packed into bins with a particular.
Advertisements

EMS1EP Lecture 3 Intro to Soldering Dr. Robert Ross.
ORCAD Suite Using Layout Drew Hall. Motivation ORCAD is an entire software suite Schematic Schematic Simulation Simulation Layout Layout ECO (Engineering.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Blackfin BF533 EZ-KIT Control The O in I/O Activating a FLASH memory “output line” Part 2.
1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
Senior Design Hardware Presentation David Anthony.
Getting Started with Layout Compiled by Ryan Johnson May 1, 2002  Open Orcad Capture under Engineering Software  Under FILE, choose NEW, PROJECT  The.
PCB Design Using Altium Designer/DXP/Protel Gabe A. Cohn
CSCI 4550/8556 Computer Networks Comer, Chapter 7: Packets, Frames, And Error Detection.
Jan. 15, Safety Board Review (Rev D) Safety Board PCB Review (Rev D) Eric Warmbier.
II–2 DC Circuits I Theory & Examples.
2/9/2007EECS150 Lab Lecture #41 Debugging EECS150 Spring2007 – Lab Lecture #4 Laura Pelton Greg Gibeling.
PCB Workshop Michael Hwang 2/13/2008.
Printed Circuit Board Design
Computer Organization and Assembly language
ECE 404 PCB Design Presentation Jakia Afruz.  Printed Circuit Board  Electronic Board that connects circuit components  PCB populated with electronic.
Daniel Miller Joe Quesada Justine Lazo
EECS 498 Advanced Embedded Systems Lecture 6: Rhyme, Reason & Review; Topic group formation.
LSU 06/04/2007Electronics 81 CAD Tools for Circuit Design Electronics Unit – Lecture 8 Schematic Diagram Drawing Etched Circuit Board Layout Circuit Simulation.
What to do when you are done. PRINTING WITH PHOTOSHOP.
The printed circuit board (PCB) design
Yeshivah of Flatbush After-School Math Enrichment 2009 Jerry B. Altzman, Ph.D.
Simple Layout Class 2 zzz 2011/12/16
The Node Voltage Method
A L k Into Motherboards By Amy Madden. How It Is Made The progression that a motherboard goes through is composed of three main different processes Design.
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 13: PCB Design Oct 12, 2010 Some material from Mark Brehob.
CS 11 C track: lecture 5 Last week: pointers This week: Pointer arithmetic Arrays and pointers Dynamic memory allocation The stack and the heap.
CVD PCB, first steps. 15 mm 25 mm Chip area. No ground plane underneath the chip. Bulk isolated => only one ground line Power lines Connector: 11,1mm*2,1mm:
Printed Circuit Board Anarchy DriveBy ITP - November 13, 2006 Nick Sears – Michael Ang –
PCBs: Basics and more…. So you want to make a Printed Circuit Board… At the end of the day a PCB is just a set of wires that connect components. – But.
“PCB” -AMIT NIKAM -ASHI NAGARIYA.
HKN Altium Workshop Basic Altium Workshop Friday, September 28th, 2007 HKN Brandon Gilles & Chris Mintle.
Week 5 - Wednesday.  What did we talk about last time?  Exam 1!  And before that?  Review!  And before that?  if and switch statements.
Operating Systems Lecture 2 Processes and Threads Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of.
Intro to MicroControllers : Stellaris Launchpad Class 4: PCB Schematic Design & Board Layout.
IT253: Computer Organization Lecture 3: Memory and Bit Operations Tonga Institute of Higher Education.
SOLIDWORKS: Lesson II – Revolutions, Fillets, & Chamfers UCF Engineering.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
Making Eagle pcbs by Keith Barrett - Pakuranga College, Auckland, New Zealand v 1.0 December.
EECS 473 Advanced Embedded Systems Misc. things Midterm Review.
FUNDAMENTALS OF NETWORKING
Dept. of Information & Communications Technology Circuit Diagram and Prototype Construction (Project 1) slide L1-1 Objectives v How to read schematic Diagrams.
BIT 115: Introduction To Programming Professor: Dr. Baba Kofi Weusijana (say Doc-tor Way-oo-see-jah-nah, Doc-tor, or Bah-bah)
The printed circuit board (PCB) design §PCB design is part of the design process of a product in electronics industry. §PCB is a piece of insulating plastic.
Year 8 Fuse Tester Design & Technology PCB Information Fixed value resistors 470R = Yellow, Purple, Brown This component is soldered directly onto the.
© Hardware & Coffee with PCB design & manufacturing.
Year 8 Fuse Tester Design & Technology PCB Information Fixed value resistors 470R = Yellow, Purple, Brown This component is soldered directly onto the.
Ch. 23, 25 Q and A (NAT and UDP) Victor Norman IS333 Spring 2015.
Networked Embedded Systems Pengyu Zhang EE107 Spring 2016 Lecture 8 Serial Buses.
Mechatronics Putting It All Together A Quick Look Into PCB Design July 17, 2013.
1 EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 12: Memory accesses in C Memory and Peripheral Busses PCB.
Continuity tester a handy tool for testing circuits
ECE 1100: Introduction to Electrical and Computer Engineering
Development of T3Maps adapter boards
Eagle PCB Tutorial Josh Fromm EE 475, April 11th
Printed Circuit Board Design
Daniel Miller Joe Quesada Justine Lazo
AP CSP: Bytes, File Sizes, and Text Compression
Slides developed in part by Prof. Dutta & Dreslinski
Sentinel logic, flags, break Taken from notes by Dr. Neil Moore
Fundamentals of Data Representation
EECS 373 Advanced Embedded Systems
EECS150 Fall 2007 – Lab Lecture #4 Shah Bawany
EECS 473 Advanced Embedded Systems
Embedded System Development Lecture 12 4/4/2007
Presentation transcript:

EECS 498 Advanced Embedded Systems Lecture 2 Interrupts reviewed, PCB design, and a bit on communication.

Things upcoming (way too much!) HW1 (project ideas) due – We know this is a really short time frame. Just remember you don’t have to actually do the project you propose. The hope is to – Get some project ideas out there – Get you thinking about the time and budget constraints now! – Talk to Jeremy or me if you have questions. On Wednesday we’ll form project groups On Monday (a week from now) your group will turn in a short document describing your proposed project (Assignment PG1) – Posted on the website Prelab 2, questions from lab1 – Due in lab!

Stuff due soon HW1 – Due today at 10pm Lab1 in-lab and post-lab – Due in lab this week – We’ll spend a short bit of time on post-lab stuff today. Lab2 pre-lab (posted) – Due in lab this week PG1: – Due a week from today – Pretty short write-up, but lots of talking

Project Group Assignment #1 (PG1) You’ll be asked for three things. – 3-5 sentences which describe the project your group is doing What problem it solves mainly. – 4-7 design requirements “number-free” requirements. – “Light enough to carry” – “Costing much less than current alternatives” – A project group contract Lists expectations of members, etc. Assignment posted on Wednesday before class.

Today Introduction to PCB design Review interrupts Discuss communication Project discussion (time allowing)

Today Introduction to PCB design – Overview and definitions – Design steps Review interrupts Discuss communication Project discussion (time allowing)

So you want to make a Printed Circuit Board… At the end of the day a PCB is just a set of wires that connect components. – But there are some issues The wires have restricted dimensionality The wires are very thin – So high resistance (as conductors go) The board needs to include holes (or pads) for the devices. You can’t easily change things once you build it. PCBs – basic terminology

Basic Terminology The wires you are laying out are called “traces” or “tracks” Inside of a given “layer” traces which cross are electrically connected. – If you have traces on both sides of the board, you are said to have two layers. Through-hole: Having holes in the PCB designed to have pins put through the hole – Contrast with surface mount where device goes on top. PCBs – basic terminology

9 Parts of a PCB Drill holes Via Bottom side Silkscreen (white) Copper (pads & traces) Soldermask (green) PCBs – basic terminology

Vias Sometimes you need to connect two traces on two different layers. – To do this we use a via. – It is just a a plated through hole Generally smaller than a through hole for a part. PCBs – basic terminology

Clearances There will be space between the traces, plated holes and each other. – You need to meet the requirement of the manufacturer. PCBs – basic terminology

The layered construction of a PCB: A six layer board 12 PCBs – basic terminology Figure from altium.com

So, how do I design a PCB? 1.Create schematic 2.Place parts 3.Route interconnect 4.Generate files PCBs – design steps

Step 1: Create schematic The first thing you want is something that looks like a textbook circuit diagram. It just shows the devices and how they are connected. – Sometimes you will worry about pinouts here (say when working with a microprocessor maybe) – But usually you don’t No notion of layout belongs here! PCBs – design steps: schematic

Example schematic PCBs – design steps: schematic

Why a schematic? In general it is drawn to be readable. – This is probably what your sketch on paper would look like. – You can find and fix bugs more easily here than the PCB layout. PCBs – design steps: schematic

Step 2: Place parts You need to place the patterns on the board. – You need to not overlap them to that the components can actually fit on the board. – You want to leave room for the traces to connect everything. This is very much an art form. – In fact you will find people who rant about “sloppy” or “unprofessional” placements. Some tools will do this for you. No one seems to like them. PCBs – design steps: placement

Patterns Once you know what it is you want to build, you need to figure out how to lay it out on the board. – You need to know how big each piece is, and where the holes need to be placed. Each device has a pattern which shows exactly that. – You will occasionally need to create a pattern. PCBs – design steps: placement

Step 3: Route interconnect A route is a connection between devices. – It may consist of multiple traces There are design rules which include: – Minimum trace width – Minimum spacing between traces and holes – Minimum spacing between holes and holes. These rules will vary by manufacturer. – Even better, units will vary by manufacturer! – Time for a brief aside… PCBs – design steps: routing

Issues of measure PCB land uses some interesting terminology. – A “thou” is a thousandth of an inch. – A “mm” is a millimeter – A “mill” is a thousandth of an inch. Thou is generally preferred over mill to avoid confusion, but most tools/vendors use mill. PCBs – an aside

Trace width In general most PCB manufactures seem to have trace-width minimums of 6-10 thous. – Most are willing to go smaller for a price. A rule of thumb is to use a 50 thou minimum for power/ground and 25 for everything else. – This is to drop the resistance of the traces. – In general you are worried about heat dissipation There are lots of guidelines for width/power but in general you are looking at: – A 10cm trace needs to be 10 thou wide if it will carry 1 amp. – 5 amps at 10cm would require 110 thou. PCBs – an aside

Trace width continued The problem with wide traces is that they are hard to route. – In particular you might wish to go between pins of a device. One solution is to be wide normally and “neck down” when you have to. – This is more reasonable than you think. Think resistors in series. PCBs – an aside

Rat’s nest. A rat’s nest shows the placement of the devices and the connections but not the routing – Automatically generated for you. Sometimes before placement, sometimes after – Varies by tool. PCBs – design steps: routing

Routing for real You can use an autorouter to route your traces – Some people hate these as the design will be “ugly” – Saves a lot of time. – Oddly, not as good as a person can do. But much faster. Still generally need to do some (or all) of the routing by hand – Very tedious... PCBs – design steps: routing

Routing quality PCBs – design steps: routing

Step 4: Generate files Once the design is done, a set of files are generated. – Each file describes something different (e.g.) Copper on a given layer Silkscreen Solder mask – Most files are in “Gerber” format Human-readable (barely) ASCII format Has commands like draw and fill. – Drill files are a different format called Excellon Also human-readable (barely) ASCII with locations and diameters for the holes. Generally you zip all these files up and ship them as a single file to the PCB manufacturer. – Often a good idea to include the design file(s) too. PCBs – design steps: generate files

27 The schematic captures the logical circuit design PCBs – closing example

28 Floorplanning captures the desired part locations PCBs – closing example

29 The auto-router places tracks on the board, saving time PCBs – closing example

The layered construction of a PCB: A six layer board 30 PCBs – back to a side view Figure from altium.com

Much material taken from others: nTutorialRevA.pdf nTutorialRevA.pdf – Very nice tutorial/overview – Seems to have strong viewpoint – Some definitions taken verbatim. Dr. Dutta (closing example) Wikipedia And others where noted. PCBs –references

Today Introduction to PCB design Review interrupts (very brief) Discuss communication Project discussion (time allowing)

Interrupts reviewed (1/3) What is an interrupt? – A way to have some other code suddenly start running on the core. What can cause an interrupt? – Pretty much anything “Asynchronous interrupts” – An event external to the core. » Timer, certain pin going high, serial packet arrirving Synchronous interrupts – The code currently running generates an interrupt. » Why?

Interrupts reviewed (2/3) How do they work? – When the event happens, the core saves a bit of state, changes the PC, and (usually) disables some or all other interrupts. Save state in hardware – Usually just a minimum amount PC of instruction where we should return to Maybe some other things – Machine state register – Certain GPRs Often have a stack frame created.

Interrupts reviewed (3/3) How do you return from an interrupt? – Generally a special-purpose instruction “rfi” or something like it. – Undoes whatever was saved Including popping the stack if needed

Why do we use interrupts? Discuss…

Today Introduction to PCB design Review interrupts (very brief) Discuss communication Project discussion (time allowing)

“Communication” basics Well, not generic communication. – Rather, how can you avoid interference, errors and similar problems. Your post-lab asks a bunch of questions. – One running issue (fairly well disguised) is “How do you deal with noise?” – In particular what if you see something where nothing was supposed to be? – And what if you see the wrong thing?

“Communication” basics Say you are expecting a message of the form “Xn” where X is ASCII X and n is a number from 0-9. – You could image writing code that says: If char==X – Get next char – if char==0 to 9 return char – else return error – Say you actually send “X3” and that gets received correctly. In what circumstance would your algorithm still fail? (Assume there could be “false data” before or after “X3”.)

“Communication” basics One traditional trick – Start-of-packet and End-of-packet characters. – If you see the SoP signal, you start over (SoP and EoP can’t be inside of a legal packet). – You only call a packet valid if it ends in an EoP. Now noise outside of the packet can’t really hurt you. – But you lose some bandwidth (why? How much do you lose?) Assume 1000 byte packet of data, with 1 byte SoP and 1 byte EoP.

“Communication” basics What about errors inside of the packet? – Checksum Add a few bits to the packet which can be checked to see if there is an error. Some examples – Word-wise parity. – Sum of bytes – CRC

(Bonus) Making our interface useful Let’s discuss what interface we might want for a servo. (Then project?)