Title: Embedded systems
1Embedded systems
- Jonathan Valvano
- http//users.ece.utexas.edu/valvano/
- ENS627
- valvano_at_mail.utexas.edu
- Embedded system demand volume, volume,
- 400 Million units/year automobiles, PCs, cell
phones - 30 Million units/year ADSL modems and printers
2Outline
- Questions about TExaS/EE319K/TRobot
- Future of Embedded Systems
- Choice of an advanced lab
- Introduction to EE345L
- Design example Snake
3Embedded Systems
- Speech encoder/decoder in cell phones
- Audio decoder in MP3 players
- Audio compensator in a hearing aid
- Image/video encoder in digital still cameras
- Anti-locking braking system
- Engine control system
- Navigation system in autonomous vehicle
4Embedded Systems Area
- Which courses are most relevant important?
- EE 345M for embedded software
- EE 360R for embedded hardware
- What are important technical challenges today?
- Time-to-market maximizing use of Moores law
- Verification (does it work?) Integration (buy vs
build) - What industries/companies need these skills?
- Any company making super high volume products
- How do I prepare for graduate school?
- Take EE 360N Comp. Arch. and EE 360C Algorithms
- Get involved in undergraduate research
5Signal Processing Applications
- Embedded system demand volume, volume,
- 400 Million units/year automobiles, PCs, cell
phones - 30 Million units/year ADSL modems and printers
- Consumer electronics products
Source CEA Market Research (US). Data for 2004
calendar year.
6DSP Processor Market
DSP Processor Market
- DSP chips 22B revenue 05
- DSP processors 34.8 of market
- 17 annual growth predictedfor 2006-2012
- 70 of market based in Texas
- DSP cores/FPGAs rest of market
- Independent processorbenchmarking by industry
- Berkeley Design TechnologyInc.
http//www.bdti.com - Embedded MicroprocessorBenchmark
Consortiumhttp//www.eembc.org - FAQ http//www.bdti.com/faq
Source Forward Concepts
7Advanced Lab
- EE321K Mixed Signals (DAC and ADC)
- EE440 Integrated Circuits (chip design)
- EE345L Embedded System (Interfacing)
- EE345S Digital Signal Process (math)
- EE362L Power (circuits, conversions)
- EE371C Wireless (communications)
- EE374L Biomedical (electronics, LabView)
8For more information
- EE321K Mixed Signals (Davis)
- EE440 Integrated Circuits (Neikirk)
- EE345L Embedded System (Valvano)
- EE345S Digital Signal Process (Evans)
- EE362L Power (Grady)
- EE371C Wireless (Heath)
- EE374L Biomedical (Rylander, Pearce)
9Embedded Systems
- Take three courses from the following list,
including at least one course from Group 1 and
one course from Group 2. - Group 1 Embedded Hardware
- EE 360M Digital Systems Design Using VHDL
- EE 360R Computer-Aided Integrated Circuit Design
- Group 2 Embedded Software
- EE 345L Microprocessor Applications and
Organization - EE 345M Embedded and Real-Time Systems Laboratory
- EE 345S Real-Time Digital Signal Processing
Laboratory - EE 360P Concurrent and Distributed Systems
- At Large Courses in Embedded Systems
- EE 360N Computer Architecture
10Embedded Systems Area
Digital Logic
Introduction to
Design
Microcontrollers
(EE 316 FS)
(EE 319K FS)
Microcontroller
Digital
Computer
Applications and
System Design
Architecture
Algorithms
Interfacing
(EE 360M F)
(EE 345L FS)
(EE 360N FS)
(EE 360C FS)
Electives
Real-Time
Computer-Aided
and Embedded
IC Design
Systems
(EE 345M S)
(EE 360R FS)
Concurrent and
Distributed
Systems
(EE 360P S)
11EE345L Microprocessor Applications and
Organization
- Fixed-point conversion
- Debugging with an oscilloscope and a logic
analyzer - Design of an alarm clock and LCD I/O driver
- Design of a real-time data acquisition system
- Stepper motor interface
- Design of a music player, DAC, data structure
design - Memory interfacing and PCB layout (teams of 6)
- Design of a fixed-point calculator, device
driver - Board-level design, construction and testing of a
complete embedded system
12EE345L design
13EE345M Embedded and Real-Time Systems Lab
- Design of a solid state disk, paged EEPROM memory
interface, file system, layered software design - Data acquisition design, analog filter, digital
filter, spectrum analyzer - Design of real-time distributed data acquisition
implementing a controller area network (CAN) - Real-time operating system, threads, memory
management, blocking semaphores, queues - Robot competition (DC motors, servo motor,
battery circuits, ultrasonic sensors, optical
sensors, IR sensors, game strategy, leadership,
design) (teams of 4-6)
14EE345M Robot Competition
15EE345S Real-Time Digital Signal Processing
Laboratory
- digital signal processing signals, sampling,
filtering, quantization, oversampling, noise
shaping, and data converters. - digital communications Analog/digital
modulation, analog/digital demodulation, pulse
shaping, pseudo-noise sequences, ADSL
transceivers, and wireless LAN transceivers. - digital signal processor architectures Harvard
architecture, special addressing modes, parallel
instructions, pipelining, real-time programming,
and modern digital signal processor
architectures.
16EE345L Design Objectives
- Appeals to others (fun or useful)
- Easy to use/play (quick to understand)
- Appropriate mix of colors, shapes, sounds
- Market value 5
Embedded System
Microcontroller
Outputs
Inputs
17Requirements
- Use 6811 microcontroller
- PCB layout
- Power supply
- External memory
- I/O device
ROM
6811
Input
Output
18Constraints
- Limited to a set of specific parts
- Can add up to 20 worth of added parts
- 2.5 by 3.8 inch PCB
- All electronics must fit on the PCB
- 3 outputs, 6 In/Out, 11 inputs
- 8K ROM, 512 bytes RAM
- 2 MHz clock
19Design Steps
- Concept Art
- Data flow graph
- Components
- Interfaces
- Testing
- High level Design (the game)
- Prototype
- PCB -gt Mechanical -gt Testing -gt Testing
20Data Flow
Snake Game
Start button
Display
Driver
Game engine
Driver
Driver
Sound
Keypad or Joystick
21LED interface
E
B
PNP -Current flows from E to C -B to E voltage
turns it on PA45V means off PA40V means on
C
NPN -Current flows from C to E -E to B voltage
turns it on PD50V means off PD55V means on
B
C
E
Show PCH and PCB files
22LED display buffer
Field
unsigned char Field44 / 0x00 means off
0x0F means on (snake) 0x0A means fast toggle
for head 0x0C means slow toggle for food /
0A
0F
0C
0F
0F
23Interrupt software design
- Arm (C2I) individually to activate
- Enable (I0)
- Invoke (C2F trigger) only when needed
- ISR runs with interrupts disabled
- ISR has short and bounded execution
- Communicate via shared global memory
- No backward jumps
24LED data structure
Next
Index
Select
Mask
8
3
4
3
2
3
1
3
20
20
20
8
2
4
2
2
2
1
2
10
10
10
8
1
4
1
2
1
1
1
08
08
08
8
0
4
0
2
0
1
0
04
04
04
25LED Software
void RTIHan(void) / every 4.096ms / TFLG2
0x40 / acknowledge RTIF / Row
(PORTA0x80)0x78 / bits6-3 1 / J
Pt-gtIndex M Pt-gtMask if(Field3JM)
Row 0x40 / PA6 / if(Field2JM) Row
0x20 / PA5 / if(Field1JM) Row
0x10 / PA4 / if(Field0JM) Row
0x08 / PA3 / PORTA Row / sets PA6-3,
active low / PORTD Pt-gtSelect Pt
Pt-gtNext FlashCnt-- if(FlashCnt0)
FlashCnt 48 LLPt LLPt-gtnext Pt
LLPt-gtstatept
26Speaker Interface
- Interface considerations
- Impedance-gtcurrent
- Capacitance-gtspeed
- Inductance-gtkickback
27Sound Software
void OC1hndlr(void) if(SoundDuration)
SoundDuration-- / active /
if(SoundPeriodlt10000) PORTA 0x80 /
PA7 sound / if(SoundDuration 0)
if(SongPt) SongPt SongPt-gtNext
if(SongPt) SoundDuration
SongPt-gtDuration SoundPeriod
SongPt-gtPeriod
TOC1 TOC1SoundPeriod TFLG1 0x80 /
acknowledge OC1F /
Next
Period
Duration
28Embedded Systems
- Integration and interfacing
- Timing and synchronization are important
- Large quantity, small size
- Debugging is challenging yet important
- Simulation is an effective design tool
- Power management