| |
|
 |
 |
|
Hands-on Introduction
to Embedded Electronic Control and Firmware Development
|
|
|
 |
 |
|
Course Overview
| |
 |
 |
|
|
This
8 session mini-course is a practical, hands-on introduction
to microcontrollers, embedded electronic control, and firmware
development.
Discover
how microcontrollers are
responsible for the operation, safety, and functionality of
all kinds of devices including digital watches, thermostats,
automobile engines, and industrial machines.
Learn
how to apply microcontroller hardware to old and new designs,
while learning to program a versatile experimenter's board
developed by the course instructor.
|
This
course includes a versatile
experimenter's
board designed
by the instructor to demonstrate
several different practical
applications of microcontrollers.
|
Objectives
of this course are:
- To instill
in students a fundamental understanding of microcontroller architectures
and microcontroller-based electronic control with comparisons
of parts from leading manufacturers (including Motorola and Microchip
Technologies).
- To provide
a working knowledge of microcontroller programming with simple
hands-on excercises using the Microchip PIC16 assembly-language
instruction set and Microchip MPLAB development software.
- To
provide students with everything they need to continue learning
on their own after the course is completed. Each student keeps
a complete firmware development system. The instructor provides
follow-up email support.
- To illustrate
the advantages of good design technique using labels, subroutines,
and macros to keep programming code readable and transportable.
 |
Upon
completion of the course, students will have a fundamental
understanding of what microcontrollers do, the tools used
for development, and the nature of assembly-language programming.
Students
will be familiar with analog-to-digital and digital-to-analog
conversion, power output, keypad scanning, using LED and
LCD displays, and powering motors and lamps.
|
Who
Should Attend
- Mechanical,
civil, aeronautical, chemical, and manufacturing engineers.
- Industrial
process planners and industrial electricians.
- Managers
and administrators of technical programs.
- Patent
attorneys, medical personnel, and budget officers.
- Other
professionals working outside electrical engineering who need
a basic understanding of the subject field.
- Anyone
who is interested in knowing more about embedded control, including
those with a hobby interest.
Prerequisites
Although
this is an introductory course, students should be familiar with:
- binary
counting (000,001,010,011,100)
- boolean
logic (AND, OR, NOR, XOR, etc.)
- basic
electrical principles (AC, DC, current, voltage, etc.)
- MS-DOS
and Microsoft Windows basic operation and file management
Students
should possess reasonable keyboard skills. Experience with any programming
or scripting language is helpful but not mandatory. No advanced
mathematics skills are required.
Hands-on
sessions will include installation and troubleshooting of development
software on PDC computer lab machines running WindowsNT. This software
runs under Windows95/98/NT and does NOT require a fast processor
or lots of memory.
This is not a ladder-logic programming course
and does not involve PLCs (Programmable Logic Controllers).
Because PLCs are internally based on microntroller technology, this
course will still provide valuable insight into the inner workings
of this kind of industrial equipment.
Each student will receive:
-
A
Microchip In-Circuit Debugger (MPLAB-ICD) kit:
|
MPLAB software on CD and an in-circuit debugger for
the PIC16F87x series of microcontroller facilitates
easy programming and debugging in realtime without the
need for a UV eraser or other cumbersome hardware.
(Computer
not included).
PIC16F components feature flash memory and on-chip debugging
to speed the development process.
|
|
- A
versatile experimenter's board:
|
Designed
by the course instructor specifically for this course.
This
board can sense temperature and light and includes
a matrixed keypad, LED display, relay,
and a pulse-width-modulated MOSFET power output circuit
capable of driving small 12V lamps, motors, etc.
|
|
-
Complete
documentation of the experimenter's board, including schematics,
PCB layouts, and sample software. The board features multiple
channels of analog-to-digital conversion, a simple digital-to-analog
output for controlling lamps, motors, etc., and various other
popular features.
-
A
list of recommended books and online resources.
-
Email
and Internet technical
support from the course instructor after the course is completed
(some limitations apply).
|
|
|
 |
 |
|
Course Outline
| |
 |
 |
|
Session 1
A brief history of the computer.
What is a "microprocessor"?
Common architectures: Harvard vs. Princeton.
What is a "peripheral"?
What is a "port"? What is a "pin"?
Modern day microcontroller architectures from Motorola and Microchip
Technologies.
Details of the PIC16 mid-range family of processors from Microchip.
Session
2
Create a specification for an experimenter's board.
Choose a microcontroller.
A closer look at the Microchip PIC16F877.
Creation of a real design: power supply, master oscillator, etc.
Creation of a schematic, printed-circuit layout, etc.
Presentation of the final manufactured product.
What can be accomplished with the final experimenter's board.
Session
3
Introduction to the PDC computer lab, network, and login.
Introduction to the Microchip ICD kit and a review of the contents.
Installation of the ICD kit.
creation of a firmware project using files supplied by the instructor
to test the experimenter's board.
Class closes with all software installed and hardware tested, ready
to start programming.
Session
4
The remaining four sessions will focus on:
- programming environment directives (MPLAB and MPASM)
- the instruction set (PIC16 mid-range RISC language)
- troubleshooting techniques.
The instruction set is introduced through a series of simple exercises.
Session
5
Instruction set exercises continue with the creation of
simple flow-control routines:
- jump
if greater-than, less-than, or equal.
- time
delays.
Common programming errors to watch out for.
Session
6
A closer look at software provided by the instructor, including
the "Shell Application" servicing the LEDs, keypad, analog-to-digital
converter, and other peripherals on experimenter's board, all running
in the background under interrupt control.
Session
7
The class will define a sophisticated application for the
experimenter's board, divide the project spec into manageable subroutines,
and start coding.
Session
8
Coding continues from the previous session.
The instructor will help students troubleshoot problems
and learn more about the development software.
Following
completion of the course, the instructor will accept additional
questions via email from class participants.
|
|
|
 |
 |
|
Instructor
| |
 |
 |
|
James David
Smith is the president and chief designer for Soundsculpture
Incorporated, a Toronto-based developer of electronics and machines
for entertainment and industry.
Mr. Smith is an accredited
member of the Microchip consultant program, providing technical
support for users of Microchip components. Products designed by
Mr. Smith include:
-
PLS (programmable limit switch) technology used in Magna auto-parts
plants.
- The
SwingPro consumer golf-swing analyzer.
- The
Soundsculpture RC4 Radio Control System used in high-profile
theatrical
productions around the world (including productions of Beauty
and the Beast and The Phantom of the Opera).
- Various
custom-designed control devices used at Ontario Place, the
CN
Tower, and various film and theatrical productions.
Mr. Smith
has written various application notes including "Managing Variations
Between In-Circuit Emulators and Real Components in Critical Designs",
and "Successful Microcontroller Emulation in High Static Environments".
|
|
|
 |
 |
|
TextBooks:
| |
 |
 |
|
All required materials are provided in the course, including manuals
for the development system, PDF files and/or manuals for selected
components, and complete documentation for the experimenter's board.
The instructor
will provide course notes on PIC16 assembly language instructions,
programming code for common structures (including testing for greater-than,
less-than, and equal), and a verbosely commented advanced application
for the supplied experimenter's board.
Return
to James David Smith Home | |