+ All Categories
Home > Documents > EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan

EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan

Date post: 14-Feb-2016
Category:
Upload: chibale
View: 26 times
Download: 0 times
Share this document with a friend
Description:
EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 13: Embedded processors October 24 th and 29 th , 2013. Much of the material for these slides comes from LeeSeshia (see website). Today. Embedded processor overview Student talks: - PowerPoint PPT Presentation
Popular Tags:
30
1 EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 13: Embedded processors October 24 th and 29 th , 2013 Much of the material for these slides comes from LeeSeshia (see website)
Transcript
Page 1: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

1

EECS 373Design of Microprocessor-Based Systems

Mark BrehobUniversity of Michigan

Lecture 13: Embedded processorsOctober 24th and 29th, 2013

Much of the material for these slidescomes from LeeSeshia (see website)

Page 2: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Today

• Embedded processor overview

• Student talks:– N64 controller– Distance sensors

2

Page 3: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Computer architecture review

• Types of memories

• ISA vs. chip implementation

• General-purpose computing

3

Page 4: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Memories from an embedded viewpoint (1/4)• DRAM

– Dynamic (duh) – Can be very large (multiple GB reasonable)– Often difficult to interface with

• Tight wire rules (length, width, turns) often exist and may be tricky to implement

• May require you to track what needs to be refreshed (though generally has a mode where it will do it for you)

– Latency can be quite variable and/or slow• Open vs. closed page, page hit vs. page miss

– There are a huge variety• Some are small, fast and easy to work with.

• Consider using DRAM when massive memory (>10MB) needed where high latency (100ns+) can be tolerated.

4

Page 5: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Memories from an embedded viewpoint (2/4)

• SRAM– Fast (<10ns common)– Often (but not always) easy to interface to.

• Can even find SPI SRAM (but really slow of course)

– Generally small– Our first choice for memory if volatile is

acceptable and size is fairly small (<2MB or so)

5

Page 6: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Memories from an embedded viewpoint (3/4)

• Flash– Non-volatile– Large– Cheap– Slow writes, limited write cycles

• HY27UF084G2M 4Gbit (512Mx8bit) NAND Flash– Uses an internal cache

• Reading from cache is about 30ns• Moving from cell to cache is about 200μs

– Erasing block looks to take around 3ms– 100,000 write cycles/bit.

6

Page 7: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Memories from an embedded viewpoint (4/4)

• FRAM—Ferroelectric RAM– Non-volatile– Highly radiation resistant– Fast– Smaller/more expensive than FLASH (from what I

can find)

• The MB85R4002A is a 4Mbit FRAM– About as big as they seem to come– 150ns access time for reads and writes (AFAICT)– 1E12 write cycles

7

Page 8: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Where to start?• When designing an embedded system, one key question

is:– “What processor should I use?”

• Obviously the answer depends on a massive number of factors.– CPU computational power needed

• And even the type of computational power needed– Interfaces needed– Cost– Power– Expected design time

• Debug capabilities• Current familiarity with tools

– Etc.

Processing unit overview

Page 9: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Highest level: ASIC, off-the-shelf processor, FPGA

• These three categories are pretty straightforward and mostly non-overlapping.– An ASIC is an Application Specific Integrated Circuit.

• You are “spinning” a chip designed specifically for your application.• Manufacturing costs are a bit difficult to figure out

– MOSIS would charge $10,000 for an extremely small chip (40 chips, 1 square mm each) in a very large (700nm) process.

– I’ve seen groups pay prices of $50K for a couple of larger ARM-based chips.

– Design costs are yet more.

– So:• Pros?• Cons?

Processing unit overview

Page 10: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Highest level: ASIC, off-the-shelf processor, FPGA

• An off-the-shelf processor is one that has been manufactured by someone else.– This doesn’t mean that the processor isn’t

highly specialized.• There are chips designed just for printers for

example– the HP Unity is MIPs based, ½ GHz, ½ Gbyte standard

– Pros?– Cons?

Processing unit overview

Page 11: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Highest level: ASIC, off-the-shelf processor, FPGA

• You all know what an FPGA is.– But when would you choose to use one in an

embedded system?– Even if it isn’t in your embedded system, why

else might an FPGA be helpful to embedded system designers?

– Pros?– Cons?

Processing unit overview

Page 12: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

But at this high level, things are fuzzy

• Sometimes an FPGA and off-the-shelf processor are integrated.– Actel in 373– Cypress

Semiconductor• Their fabric is generally

a bit less flexible than an FPGA, but easier to work with.

• And many ASICs are based on standard “off-the-shelf” architectures– ARM being the most

common these days• MIPS was similar at

one point.

Processing unit overview

Page 13: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Let’s start with off-the-shelf processors…

• This is the most common solution

– We’ll spend about 90% of our time here.

Page 14: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

What device options are there?• One fun part about this

is that there are a number of terms used to describe the options, but they aren’t very well defined.– For example, what’s the

difference between a microprocessor, a microcontroller and a System-on-a-Chip (SoC)?

• It’s really not clear– One axis is that a SoC is

expected to have a richer set of peripheral interface capability

Mor

e pe

riphe

rals

and

in

terfa

ce c

apab

ility

SoC

Micocontroller

Processor

Off-the-shelf

Page 15: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

However the terms also carry other connotations

• For example, in the “CPU-capability” axis microcontrollers are generally thought of as being very limited, generally in the 1-30 MIPs range.– And correspondingly,

the microcontroller is expected to have lower power needs.

• So keep in mind that terms aren’t always well-defined!

CP

U-c

apab

ility

Processor

SoC

Micocontroller

Off-the-shelf

Page 16: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

So…

• While those terms (SoC, Microcontroller, Processor) are commonly used– They aren’t all that well-defined.

• None-the-less, we are stuck with them– So let’s explore a bit…

Off-the-shelf

Page 17: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

What type of specialized off-the-shelf processors are there?

• Generally speaking, you are looking at either:– CPU instructions and features focused on

improving performance on a specific type of application• DSP and encryption both have very specific needs.

– Specialized I/O.• So CAN bus (standard automotive shared serial

bus)• Capacitive touch screen interfaces

Off-the-shelf (aside)

Page 18: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Microcontrolers• A small CPU with peripheral devices

– Often a wide variety of interfaces (SPI, I2C, UART, GPIO, CAN, etc. available)

• Mostly about the I/O – CPUs can be quite weak

• low end: 4MHz with a slow microarchitecture getting 1MIPS or so

– Often limited memory, but a variety• Might have SRAM, Flash and EEROM all on board!

• Sometimes large processors are put in this bucket (Intel’s Atom for example)– Not really what this generally is. 18

Off-the-shelf (μcontroller)

Page 19: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Microcontrollers

• Often focus on low power

Off-the-shelf (μcontroller)

Page 20: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Example microcontroller

• PIC10F200 is about $0.35 each in quantity from DigiKey.

• 1MHz, ~1MIPS.

20

Off-the-shelf (μcontroller)

Page 21: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

AVR Microcontroller

• The AVR processor another example of a microcontroller– Flash, SRAM, EEPROM– 6-30 GPIOs– 4-20MHz– Basic serial I/O capability

Off-the-shelf (μcontroller)

Page 22: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Example SoC: Cypress PSoC 3: CY8C38

Off-the-shelfOff-the-shelf (SoC)

Page 23: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Example SoC: Cypress • It looks similar to a microcontroller

– A bit faster for sure, but when you are advertising multiply and divide…

– Power:• How long would a 2000mAh battery be able to keep this thing

running?• But it’s peripherals are much more significant.

– 68 GPIOs, – Highly configurable on the fly. Can have:

• Built-in hardware blocks for FIR/IIR filters @67MHz• Has 4 built-in op-amps (less parts on board)• Can directly interface to a capacitive touch screen

Off-the-shelf (SoC)

Page 24: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Just the analog…Off-the-shelf (SoC)

Page 25: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Processor

• When people discuss processors they often mean something like a desktop CPU.– Power in the 20-200W range for example, but

speeds in the 2-3 GHz range.• However there are things like the Atom

core (which, Intel markets as a SoC…)

Off-the-shelf (processor)

Page 26: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Intel AtomWhat looks different?

Off-the-shelf

• ~40 Watts

Page 27: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

Let’s look at DSP

• Application characteristics: – Generally walk through fixed size circular buffers– Generally are taking sums-of-products of two

buffers.– Often (but not always) use fixed-point notation– Occasionally need to bit-reverse memory.– Low power is often critical.

• So what do digital signal processors need to supply?

Off-the-shelf

Page 28: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

DSP

• Filtering example…

28

Page 29: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

ASIC• Not a lot to say here, each case is, by definition,

different.– A lot of embedded systems work is with ASICs these days.

• The (vast?) majority of cell phones use in-house designed processors, 95%+ of which are ARM based.

• The iPad uses an ASIC.• What’s interesting is how design costs generally dominate over

the one-off mask costs– Not that mask costs aren’t a major factor.– You really want to avoid respins…

– If you have a large market, need decent performance and are highly power constrained• ASIC is clearly the way to go.

ASIC

Page 30: EECS 373 Design of Microprocessor-Based Systems Mark  Brehob University of Michigan

FPGA

• There can be quite a bit of feature difference between the different FPGA choices.– You can find FPGAs for as little as $10 and as

much as $3000.– Some use non-volatile memory, others need

external help on power-up.

FPGA


Recommended