Ecen 5613 Embedded System Design

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11
At a glance
Powered by AI
The course will cover fundamental concepts of embedded system hardware and firmware design including processor selection, clocks and resets, assembly and C programming, debugging techniques, memory interfaces, and more. Students will build their own embedded systems.

Topics covered include processor selection, power delivery, clocks and resets, assembly and C programming, test equipment, debugging, memory interfaces, serial interfaces, I/O, interrupts, analog circuits, and design reviews.

The course will use the Siemens C501, Atmel AT89C51RC2, and TI MSP432 processors. Students will upgrade their design to use the Atmel and TI processors.

ECEN 5613 EMBEDDED SYSTEM DESIGN

Dr. Linden McClure


Professor Adjunct

University of Colorado
425 UCB, ECEE 1B55
Boulder, CO 80309-0425

 Office: Remote, office hours done by video conferencing or phone


 Embedded Systems Lab: Engineering Center, EE 1B28
 E-mail: [email protected] . Office365
 ESE Program . ECEE Home . CU Home . CU Honor Code . MyCUInfo . D2L . Canvas . ECEE
Faculty Resources
 CU Academic Calendar (Registrar) . CU Bursar . CU Library Access . CU Buff OneCard

Note: Search on this page for NEW to identify files which have been updated within the past 7
days.

ECEN 5613 EMBEDDED SYSTEM DESIGN

ECEN 5613 is a 3 credit hour course and is the first course in CU's Professional Certificate in
Embedded Systems.
ECEN 5613 will be offered through the ECEE department during the Spring 2020 semester
on Monday evenings from 6:30-9:00pm in the CU Boulder Engineering Center (see flyer).

 Instructor/TA Office Hours and TA E-mail Addresses: LINK


 Spring 2020 Tentative Syllabus: PDF (~66KB)
 Spring 2020 Frequently Asked Questions (FAQ): PDF (~64KB)
 Semester Assignment Schedule Graphic: PDF (~86KB)

In this class, the fundamentals of embedded system hardware and firmware design will be
explored, including:
 Processor selection  Debugging techniques
 Power delivery,  Data sheets
decoupling  Bus cycles, transaction  Device drivers
 Clocks and resets types, timing  Interrupts and ISR's
 Assembly programming diagrams, timing  Memory mapped I/O
 Embedded C analysis  Data conversion (DAC's,
programming  Memory maps, chip ADC's)
 Incremental select logic  Design reviews
development (HW, SW)  Serial interfaces (RS-  Design trade-offs
 Test equipment / 232, I2C, SPI)  Entrepreneurship
instrumentation  I/O port pin driver  Passive components
(oscopes, multimeters, circuits
logic analyzers)  In-circuit programming

Each student in the course will develop their own embedded system hardware and firmware
and learn important system integration and debugging skills. This course provides students with
skills and experience necessary to pursue any type of embedded systems career.

Processor Information

The focus of ECEN 5613 Embedded System design is on learning the fundamentals of hardware
and firmware development, and not on learning any particular processor. Students in
Embedded System Design will be using multiple processors, including the Siemens C501, Atmel
AT89C51RC2, and TI MSP432 (ARM Cortex-M4F).

Students are encouraged to read the various course documents below prior to starting the
class. The following documents are also available from Infineon Technologies.

 C500 Architecture and Instruction Set: PDF (~1MB)


 C501 Data Sheet: PDF (~320KB)
 C501 User's Manual: PDF (~1MB)
 C50x Documentation Errata: PDF (~6KB) . HTML (~3KB)

To supplement the Siemens documents listed above, the following Philips ( NXP ) documents


may be useful. They contain the same basic information, but include additional details not
found in the Siemens documents.

 80C51 Family/80C51 Family Architecture: PDF (~75KB)


 80C51 Family/80C51 8-bit Microcontroller Family Data Sheet: PDF (~246KB)
 80C51 Family/80C51 Family Hardware Description: PDF (~153KB)
 80C51 Family/80C51 Family Programmer's Guide and Instruction Set: PDF (~127KB)
During the semester, students will upgrade their processor to the Atmel AT89C51RC2.
Datasheets, errata, application notes, and software tools are available at the Atmel web site.

 Microchip (Atmel) AT89C51RC2 Data Sheet: PDF (~1531KB)


 Atmel AT89C51RC2 Errata: PDF (~77KB)
 Microchip (Atmel) C51 Architecture Reference Utilities: 8051 Hardware Manual, UART
Setting Spreadsheet, Instruction Set, etc.
 Microchip (Atmel) Application Notes, Example Code, and Software Tools: Microchip
(Atmel) Processors (AT89C51RC2) Link

Students will also be using the TI MPSP432 (ARM Cortex-M4F) processor and development
board, in parallel with the 8051 processors above. Datasheets, errata, application notes, and
software tools are available at the TI web site.

 TI MSP432P401R Launchpad: LINK
 TI MSP432 Launchpad Overview "Meet the MSP-EXP432P401R
Launchpad": LINK (~3.7MB) . Local PDF (~3.7MB)
 TI MSP432P401R MCU: LINK
 TI Code Composer Studio User's Guide: PDF (~1.7MB)
 MSP432 C code examples are available via download from TI: ZIP (~1.2MB)
 ARM Application Note 237 "Migrating from 8051 to Cortex
Microcontrollers": PDF (~320KB)
 ARM Developer Web Site LINK
Lab #1

 S2020 Lab #1 Assignment: PDF (~92KB)


 Homework Related to Lab #1
 Course Archives - General Questions about the Course: HTML (~10KB)
 Course Archives - General Questions about the 8051 and Emily52: HTML (~5KB)
 Course Archives - Questions about Test Equipment (Oscilloscopes, Logic Analyzer,
etc.): HTML (~6KB)
 Course Archives - Questions about the Oscillator: HTML (~4KB)

Software Used for Lab #1 and #2:

 Emily 52 Demo Package . Other Related Tools/Information: DOSBox Emulator


 EdSim51 Simulator
 KiCad Schematic/Layout Tools (Free schematic and layout tools)
 Orcad Schematic/Layout Tools (Free Demo Download and Free Demo CD)
 OrCad Starter Schematics (.DSN) and OrCad Library: ZIP (~183KB)

The following documents will be useful for HW #2 and Lab #1:

 National Semiconductor LM7800C/LM140/LM340 Voltage Regulator Data


Sheet: PDF (~513KB)
 Motorola MC7800 Voltage Regulator Data Sheet: PDF (~279KB)
 Intel AP-125 Designing Microcontroller Systems for Electrically Noisy
Environments: PDF (~454KB)
 Intel AP-711 EMI Design Techniques for Microcontrollers in Automotive
Applications: PDF (~409KB)
 TI SCBA007A The Bypass Capacitor in High-Speed Environments: PDF (~68KB)
 Intel AP-155 Oscillators for Microcontrollers: PDF (~979KB)
 Microchip AN686 Understanding and Using Supervisory Circuits: PDF (~93KB)
 Microchip MCP-101 Microcontroller Supervisory Circuit Data Sheet: PDF (~243KB)
 Maxim MAX691 Microprocessor Supervisory Circuit Data Sheet: PDF (~627KB)
 Maxim MAX805L Microprocessor Supervisory Circuit Data Sheet: PDF (~99KB)
 Tektronix Primer XYZs of Oscilloscopes: PDF (~622KB)
 Tektronix Primer ABCs of Probes: PDF (~945KB)
 Atmel ATF16V8C SPLD Data Sheet and Software:
o ATF16V8C Datasheet: PDF (~512KB) . Atmel ATF16V8C Link
o Microchip/Atmel WinCUPL Link . WinCUPL Installation Executable (~21MB)
o WinCUPL User's Guide: PDF (~350KB)
o WinCUPL Tuturial and Supporting Docs: ZIP (~134KB)
o Running WinCUPL in an Ubuntu Virtual Machine with Wine: PDF (~70KB)
o Introduction to Atmel ATF16V8C and WinCUPL (lecture notes): PDF (~287KB)
 Device Programmer (Phyton ChipProg-48, Needham's EMP-20/EMP-100)
o ATF16V8C SPLD Programming Guide for Phyton ChipProg-48: PDF (~343KB)
o [Archive] ATF16V8C SPLD Programming Guide for NEI EMP-100: PDF (~136KB)
o [Archive] EMP-20 Device Programmer Presentation Handouts (1-30-
2005): PDF (~177KB)

Other Related Materials:

 Vocabulary: PDF (~13KB)
 S2020 Parts Kit Contents: PDF (~27KB)
 Laboratory Rules for ECEN 5613: PDF (~9KB)
 Standard Resistor and Capacitor Values: PDF (~12KB)
 Assembly Language Programming Overview: PDF (~101KB)
 Emily52 Overview: PDF (~107KB)
 Code Size and Timing Determination: PDF (~8KB)
 Voltage Regulator Presentation Handouts (1-26-2005): PDF (~52KB)
 Intel Hex Record and Motorola S-Record Formats: PDF (~7KB)
 ECEN 5613 PCB Layout and Partial Schematics: PDF (~456KB)
 Schematic Best Practices: PDF (~20KB)
 Example Perf Board Layout: PDF (~9KB)
 Tips for Board Construction: PDF (~6KB)
 Development Board Presentation Handouts (1-26-2005): PDF (~426KB)
 Metcal Hand Soldering Basics: PDF (~87KB)
 SMT Prototyping Lecture: PDF (~229KB)
 Heat Sink Basic Overview: PDF (~150KB)
 Jonard Industries/OK Industries Wire Wrapping Overview: PDF (~418KB)
 Passive Components Presentation Handouts: PDF (~1.8MB)
 Handling of Power Plastic Transitors: PDF (~114KB)
 Secondary Reference Documents
o Development Board Wire Wrapping ID Labels: DOC (~68KB)
Note: You may need a recent version of Word to edit the drawings much.
o Development Board Wire Wrapping ID Template: Visio
VSD (~831KB) . PDF (~38KB). Enhanced Visio VSD (~912KB) . Enhanced
PDF (~74KB)
Note: You may need to scale the drawing when printing the file.
o Wire Wrapping ID Template (compliments of Paul
Kooros): PDF (~92KB) . PS (~5KB)
Note: Do *NOT* use the "shrink to fit" option when printing the PDF file.
o Chip Pinouts Quick Reference: PDF (~93KB) . DOC (~163KB)
Lab #2

 S2020 Lab #2 Assignment: PDF (~89KB)


 Homework Related to Lab #2

The following documents will be useful for HW #3 and Lab #2:

 AMD Am27C256 32Kx8 EPROM Data Sheet: PDF (~167KB)


 AMD Programming AMD's CMOS EPROMs: PDF (~41KB)
 STMicroelectronics M27C256B 32Kx8 EPROM Data Sheet: PDF (~148KB)
 Fairchild (National Semiconductor) NM27C256 32Kx8 EPROM Data Sheet: PDF (~111KB)
 Catalyst CAT28C256 32Kx8 Parallel EEPROM Data Sheet: PDF (~526KB)
 Cypress Semiconductors CY62256 32Kx8 SRAM Data Sheet: PDF (~282KB)
 Samsung K6T0808C1D 32Kx8 SRAM Data Sheet: PDF (~171KB)
 Hitachi 62256B 32Kx8 SRAM Data Sheet: PDF (~155KB)
 Winbond W24257-70LL 32Kx8 SRAM Data Sheet: PDF (~155KB)
 TI BQ4011YMA-100 32Kx8 NV-SRAM Data Sheet: PDF (~153KB)
 Philips AN457 External Memory Interfacing with 80C51: PDF (~216KB)
 Dallas App Note 91: Reducing ALE Signal Noise: PDF (~80KB)
 Fairchild PN2222A NPN Transistor Data Sheet: PDF (~161KB)
 Fairchild PN2907A PNP Transistor Data Sheet: PDF (~59KB)
 On Semiconductor LS TTL General Data: PDF (~2428KB)
 Fairchild/National 74LSxx Series Data
Sheets: 74LS00, 74LS02, 74LS04, 74LS08, 74LS10, 74LS11, 74LS20, 74LS21, 74LS30, 74LS
32, 74LS74A, 74LS138, 74LS156, 74LS244, 74LS245, 74LS373, 74LS374
 ON Semiconductor/Motorola 74LSxx Series Data
Sheets: 74LS00, 74LS02, 74LS04, 74LS08, 74LS10, 74LS21, 74LS30, 74LS32, 74LS74A, 74L
S138, 74LS156, 74LS244, 74LS245, 74LS373, 74LS374
 Intronix LA1034 LogicPort Logic Analyzer: Software Download
 Intronix LA1034 LogicPort Logic Analyzer Notes: PDF (~97KB)
 Agilent/HP 1662A Logic Analyzer Notes: PDF (~118KB)
 Agilent App Note 1337 Feeling Comfortable with Logic Analyzers: PDF (~2778KB)
 Agilent HP 1662A Logic Analyzer User's Reference: PDF (~2740KB)

Other Related Materials:

 LED Driver Circuits: PDF (~72KB)


 Understanding Timing Diagrams: PDF (~425KB)
 AT89C51RC2 Memory Map Details: PDF (~38KB)
 Device Programmer (Phyton ChipProg-48, Needham's EMP-20/EMP-100)
o Programming an AT89C51RC2 using a Phyton ChipProg-48 Parallel
Programmer: PDF (~128KB)
o Programming an AT89C51RC2 using an EMP-100 Parallel
Programmer: PDF (~128KB)

 Atmel FLIP In-Circuit Programming Utility for AT89C51RC2: FLIP


o Course Notes: Programming an AT89C51RC2 using FLIP: PDF (~128KB)

 Terminal Emulators used in this course:


o Tera Term
o RealTerm
o PuTTY

Lab #3

 S2020 Lab #3 Assignment: PDF (~112KB)


 Homework Related to Lab #3

Software Used for Lab #3 and #4:

 Free SDCC 8051 C Compiler:


o SDCC SourceForge.net Project
o SDCC 2.6.0 Installation Executable (~2.3MB) . SDCC 2.6.0 Manual PDF (~631KB)
o SDCC 3.9.0 Installation Executable (~6.7MB) . SDCC 3.9.0 Manual PDF (~919KB)
 Free Code::Blocks IDE for SDCC and other C/C++ Compilers:
o Code::Blocks IDE Download
o Code::Blocks IDE Wiki
 Free Version Control Systems: Subversion . TortoiseSVN . Git
 Free 8051 Monitor and AS31 Assembler: PAULMON2 8051 Monitor / AS31 / Gnu
Make . as31.exe . as31 Documentation (edited by Prof. McClure)
 Free Editors and Development Systems: VIM Editor . Emacs Editor . DJGPP Development
System
 GNU Make
o Gnu Make Home
o Gnu Make Executable (Version 3.77 for Windows)
o Gnu Make Users Manual
o GNU Make Overview (by Stallman and McGrath): PDF (~39KB)
 Other Free Software: Keil C/Assembly Tools (Free Demo CD)

Course Notes and Usage Notes:

 How to Configure a Project with Code::Blocks & SDCC: PDF (~2MB)


 SDCC Programming Tips for the Atmel AT89C51RC2: PDF (~14KB)
 Notes on SDCC 2.6.0: PDF (~47KB)
 SDCC Syntax Examples and C Starter File (for SDCC 2.6.0 and
3.9.0): sdcc_examples.zip (~52KB) .
 Subversion Version Control System Overview Slides: PDF (~290KB)
 C Programming Style and Firmware Standards: PDF (~558KB) . Andrew Strotheide's
pretty_pdf.bat formatting utility: BAT File (~9KB)
 Make Presentation with Makefile Examples (GNU Make and SDCC): PDF (~26KB) . Simple
Makefile (~1KB) . Advanced Makefile (~2KB)
 SDCC Interrupt Exercise: PDF (~6KB)
 ASCII Table: PDF (~5KB) . Control Codes and Scan Codes: HTML (~3KB)

The following documents will be useful for HW #7 and Lab #3.

 Dallas App Note 83 Fundamentals of RS-232 Serial Communications: PDF (~75KB)


 Maxim MAX232 Data Sheet: PDF (~319KB)
 Maxim MAX485 Data Sheet: PDF (~162KB)
 Maxim MAX485E Data Sheet: PDF (~134KB)
 National App Note AN-216 Summary of Well Known Interface Standards: PDF (~94KB)
 National DS1488 Line Driver Data Sheet: PDF (~162KB)
 National DS1489 Line Receiver Data Sheet: PDF (~197KB)

Lab #4

 NEW S2020 Lab #4 Assignment: PDF (~93KB)


 Homework Related to Lab #4

The following documents will be useful for HW #9, HW #10 and Lab #4.

 Microchip 24LC16B 16K-bit Serial EEPROM Data Sheet: PDF (~405KB)


 Atmel AT24C16C 16K-bit Serial EEPROM Data Sheet: PDF (~1MB)
 Fairchild (National) NM24C16 16K-bit Serial EEPROM Data Sheet: PDF (~103KB)
 Fairchild (National) NM24C04 4K-bit Serial EEPROM Data Sheet: PDF (~105KB)
 Microchip App Note 536 Basic Serial EEPROM Operation: PDF (~161KB)
 Microchip App Note 551 Serial EEPROM Solutions vs. Parallel Solutions: PDF (~71KB)
 Fairchild (National) App Note 794 Using an EEPROM I2C Interface: PDF (~38KB)
 Microchip App Note 537 Serial EEPROM Endurance: PDF (~149KB)
 Microchip App Note 572 Questions and Answers Concerning Serial
EEPROMs: PDF (~67KB)
 Microchip App Note 709 System Level Design Considerations When Using I2C Serial
EEPROM Devices: PDF (~95KB)
 Fairchild (National) App Note 822 Enhancing the Performance of Serial CMOS
EEPROMs: PDF (~62KB)
 Microchip App Note 614 Interfacing the 8051 with 2-wire Serial EEPROMs: PDF (~162KB)
 Microchip App Note 614 8051 Serial EEPROM Interface Source Code: ZIP (~13KB)
 NXP I²C Bus Specification Version 6: PDF (~1.3MB)
 Links to Other I²C Information: NXP I²C-bus Home, SMBus Home
 SED1278F LCD Controller Data Sheet: PDF (~165KB)
 SED1278F LCD Technical Manual (same LCD module pinout as Optrex
DMC20434/DMC16433 LCD Module below): PDF (~214KB)
 SED1278F Technical Manual Errata: PDF (~5KB)
 Hitachi HD44780U LCD Controller Data Sheet: PDF (~390KB)
 Optrex DMC20434 (same interface as DMC16433) LCD Module Data Sheet: PDF (~79KB)
 Links to Other LCD Information: Optrex (Kyocera) LCDs . LCD Theory
 Philips PCF8574 I2C I/O Expander Data Sheet: PDF (~133KB)
 Philips I2C I/O Expander Application Note AN469: PDF (~294KB)
 TI PCF8574 I2C I/O Expander Data Sheet: PDF (~410KB)
 TI PCF8574 I2C I/O Expander Application Note SCPA032: PDF (~217KB)

Other Related Materials:

 I2C EEPROM Lecture Presentation: PDF (~63KB)


 LCD Lecture Presentation: PDF (~741KB)
 Adding an NM24C04 (or NM24C16) EEPROM to your board: PDF (~26KB)
 Adding an LCD (with an HD44780 LCD controller) to your board: PDF (~44KB)

Final Project

 S2020 Final Project Assignment: PDF (~67KB)


 Lab #5 (Possible Final Project Framework, Optional): PDF (~22KB)
 Final Project Cover Page Template (optional format): DOC (~19KB)
 Final Project Report Honor Code Pledge: PDF (~7KB)
 Final Project Report Template (optional format): DOC (~102KB)
 Example Final Project Report (password protected): PDF (~650K) (posted 12/09/2008)
 Course Archives - Questions about the Final Project: HTML (~4KB)
 Final Project
Pictures: S2002 . S2007 . S2009 . S2010 . F2010 . S2011 . F2011 . S2012 . F2012 . S2013

Homework Assignments

Homework for Labs #1 and #2 (Homework #1-#5):

 S2020 Homework #1-#5: PDF (~52KB) [Note: Homework #1 is due by 5pm on


8/30/2019]

Homework for Labs #3 and #4 and beyond (Homework #6-#13):

 S2020 Homework #6-#13: PDF (~73KB)

Useful links

CU Specific:

 Independent Study with Prof. McClure . $33 PCB at Advanced Circuits


 CU FCQ Info . MyCUInfo
 Grading Criteria . CU Policies

Electronic Parts:

 Jameco . JDR Microdevices . DigiKey . Mouser . Spark Fun Electronics (Boulder)


 BG Micro . Radio Shack . Newark . Marlin P. Jones . EarthLCD . Timeline

Reference:

 8052.com: 8051/8052 User's Web Site (includes 8051 Tutorial)


 Electronics Tutorials & Reference: Tutorial 1 . Tutorial 2 . Tutorial 3 . Other
Tutorials . Resistor Color Codes
 Essential C (Tutorial/Refresher), Programming Information
 The C Book (free on-line book) . PDF Version
 Magazines: EDN . Electronic Design . EETimes . Portable Design . Circuit Cellar
Ink . Popular Science . Dr. Dobbs Journal . IEEE
 Magazines: Embedded Systems Design . Embedded Computing Design . Military
Embedded Systems
 Embedded Systems Conference Online
 Jack Ganssle's Embedded Site . Newsletters . Articles . Debouncing, Firmware Standards,
Code Inspections, Etc.
 High-Speed Digital Design (Signal Integrity)
 RS-232 Information (Including Connector Pinout Information)
 Semiconductor Manufacturer Logos (for identifying chips)
 Memory Technology URLs
 DAC and ADC Application Notes and URLs
 Motor and Disk Drive Application Notes and URLs
 Miscellaneous Application Notes and URLs
 W3C Link Checker

Copyright 2020. Links on these pages to non-university sites do not represent endorsement by
the University of Colorado at Boulder or its affiliates.

Keep watching this space! This web site will be updated throughout the semester.
Last Update: 29-Mar-2020

You might also like