• Elements of embedded systems (with program examples of each)
NOTE: emphasize a top-down program structure with subroutines for each one.
logical IO - digital inputs and outputs
analog outputs - immediate
analog inputs - delayed in (show use of nops and loop to wait), use potentiometer
timers including PWM to control transisor/h-bridge for motor control, show sound generation also.
counters including encoder decoding and tachometer decoding
other peripherals such as displays, sounds, etc.
• Control system fundamentals
a simple PID feedback loop using nops and time calcs to ensure time
a multiple step process that waits for an input and does a task with the PID loop. Show an executive subroutine and calls to
dealing with events
event types; asynchronous, delayed
• Concurrent processes
single thread vs concurrent processing
how to implement a single control thread
how to create multiple processes
the need for multiple processes
time critical; regular updates and minimum time between runs
hard vs. soft
• Structured Design
General systems design topics
show the general structure of a program with an executive routine that calls task routines.
show a program that mixes an asynchronous GUI mixed with a realtime routine
Modal System design
show the use of global mode bits to track the mode of the system
show how the mode bits changes the flow of execution in the executive routine.
map flowchart structures to program structure
using a register value to track the location in the flowchart
show the use of state diagrams to model a process and then how the program is written for it.
show basic probability theory
show parallel vs serial failures
show failure estimation using theory for single and chained failure modes
show the methods for categorizing failures as a hazard, danger, etc.
Receiving and sending strings
Command and response structures
Non byte oriented data
Networked structured, ie destination address header
A full feedback control system
• Other topics
output refreshing, LEDs