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 ECEE Home . CU Home . CU Honor Code . MyCUInfo . D2L . ECEE Faculty Resources CU Academic Calendar (Registrar) . CU Bursar . CU Library Access . CU Buff OneCard Google . Yahoo Merriam-Webster
Search
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 the first course in CU's Professional Certificate in Embedded Systems. ECEN 5613 will be offered through the ECEE department during the Spring 2018 semester on Monday evenings from 6:00-8:30pm in room ECCS 1B14 (see flyer). Instructor/TA Office Hours and TA E-mail Addresses: LINK Spring 2018 Tentative Syllabus: PDF (~66KB) [Updated 1/16/2018] Spring 2018 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 Device drivers Power delivery, decoupling Data sheets Interrupts and ISR's Clocks and resets Bus cycles, transaction types, timing Memory mapped I/O Assembly programming diagrams, timing analysis Data conversion (DAC's, ADC's) Embedded C programming Memory maps, chip select logic Design reviews Incremental development (HW, SW) Serial interfaces (RS-232, I2C, SPI) Design trade-offs Test equipment / instrumentation I/O port pin driver circuits Entrepreneurship (oscopes, multimeters, logic analyzers) In-circuit programming Passive components 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 This semester, 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 C501 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: PDF (~3.7MB) TI MSP432P401R MCU: LINK ARM Application Note 237 "Migrating from 8051 to Cortex Microcontrollers": PDF (~320KB) ARM Developer Web Site LINK MSP432 C code examples are available via download from TI: ZIP (~1.2MB)
Lab #1 S2018 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: ATF16V8C Datasheet: PDF (~512KB) . Atmel ATF16V8C Link . Microchip/Atmel WinCUPL Link WinCUPL User's Guide: PDF (~350KB) WinCUPL Tuturial and Supporting Docs: ZIP (~134KB) Introduction to Atmel ATF16V8C and WinCUPL (lecture notes): PDF (~287KB) Device Programmer (Phyton ChipProg-48, Needham's EMP-20/EMP-100) ATF16V8C SPLD Programming Guide for Phyton ChipProg-48: PDF (~343KB) [Archive] ATF16V8C SPLD Programming Guide for NEI EMP-100: PDF (~136KB) [Archive] EMP-20 Device Programmer Presentation Handouts (1-30-2005): PDF (~177KB) Other Related Materials: Vocabulary: PDF (~13KB) S2018 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) Jonard Industries/OK Industries Wire Wrapping Overview: PDF (~418KB) Development Board Wire Wrapping ID Labels: DOC (~68KB) Note: You may need a recent version of Word to edit the drawings much. 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. 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. Passive Components Presentation Handouts: PDF (~1.8MB) Heat Sink Basic Overview: PDF (~150KB) Chip Pinouts Quick Reference: PDF (~93KB) . DOC (~163KB)
Lab #2 S2018 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, 74LS32, 74LS74A, 74LS138, 74LS156, 74LS244, 74LS245, 74LS373, 74LS374 ON Semiconductor/Motorola 74LSxx Series Data Sheets: 74LS00, 74LS02, 74LS04, 74LS08, 74LS10, 74LS21, 74LS30, 74LS32, 74LS74A, 74LS138, 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) Programming an AT89C51RC2 using a Phyton ChipProg-48 Parallel Programmer: PDF (~128KB) Programming an AT89C51RC2 using an EMP-100 Parallel Programmer: PDF (~128KB) Atmel FLIP In-Circuit Programming Utility for AT89C51RC2: FLIP Course Notes: Programming an AT89C51RC2 using FLIP: PDF (~128KB) Terminal Emulators used in this course: Tera Term RealTerm PuTTY
Lab #3 NEW S2018 Lab #3 Assignment: PDF (~112KB) Homework Related to Lab #3 Software Used for Lab #3 and #4: Free SDCC 8051 C Compiler: SDCC SourceForge.net Project SDCC 2.6.0 Installation Executable (~2.3MB) . SDCC 2.6.0 Manual PDF (~631KB) SDCC 3.6.0 Installation Executable (~6.7MB) . SDCC 3.6.0 Manual PDF (~919KB) Free Code::Blocks IDE for SDCC and other C/C++ Compilers: Code::Blocks IDE Download 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 Gnu Make Home Gnu Make Executable (Version 3.77 for Windows) Gnu Make Users Manual 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 2.6.0 Syntax Examples and C Starter File: sdcc_syntax_examples.c (~5KB) . sdcc_syntax_examples.rst (~91KB) 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 F2017 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 S2018 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): S2018 Homework #1-#5: PDF (~52KB) [Note: Homework #1 is due by 5pm on 1/19/2018] Homework for Labs #3 and #4 (Homework #6-#11): S2018 Homework #6-#11: PDF (~73KB) Homework not associated with a lab assignment (Homework #12-#13): S2018 Homework #12-13: PDF (~27KB)
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 2018. 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: 2-Mar-2018 ECEE Home Page