DORDT UNIVERSITY ENGINEERING DEPARTMENT
EMBEDDED MICROCONTROLLER SYSTEMS--EGR 304
(Spring 2023)

PROBLEM SETS

(Last update: 5/05/2023 9:06 pm)
PS
#  
Assigned Due Returned Assignment
13

5/01 5/05 5/05   Read the classroom slides on security.
 
  Do 3.1, 3.2 and 2.3 (click blue link).
12

4/21 4/28 5/05   Read this classroom slides on transmission lines.
 
  Look over these application notes from Texas
  Instruments on transmission lines. The section
  in AN-807 on the "tabular method" may optionally
  be helpful on this homework assignment but is
  not necessary to solve the homework problems.
  AN-806, and AN-807, and AN-808.
 
  Do 2.1 and 2.2 (click blue link).
 
  Optional: A transmission line theory tutorial
  Optional: Video on VSWR and return loss
  Optional: Video on Crossneedle VSWR meters
11

4/17 4/21 4/22   Topics: Privacy & Security in Embedded Systems
             Message Brokering Services
  Read: Chapter 17 "Security and Privacy" in
             Section III of our textbook.
             Also read Message Brokers from IBM.
 
  Do these problems from your textbook,
  17.1, 17.3
  Both Problems are on page 491.
  For problem 17.1, Example 17.2 is on page 475.
 
  Hint: In the state diagram for Problem 17.3 the
  open arrows (no labels) pointing into states "A"
  and "B" indicate that on power up the state
  machine will be in either state at random.
10

3/31 4/12 4/20   Topics: Synchronous serial interfacing, USB
 
  Browse: the Universal Serial Bus Specification
             version 2.0 (Click the link above and
             download the zip file. Then within the
             zip file find file usb20.pdf. Browse
             that file.)
 
  Read: Selected pages of the above file as
             suggested in the essay questions.
 
  Download these essay questions.
  Use a word-processor to answer the essay
             questions.

 
  Turn in the assignment by uploading to Canvas
             in the usual way. (click the due date.)
 
  Optional: Browse the entire web site of usb.org
             The specs. are in the "document library"
             which can be accessed from a small link
             in the fine-print near the bottom of the
             home page.
9

3/24 3/31 Graded
auto-
matic-
ally

Nothing
to
return

Sol'ns
  Topics: Synchronous serial interfacing, Ethernet
  Read this Ethernet Tutorial.
 
  Take this twenty-question quiz on Ethernet.
  E-mail your quiz grade to Prof. De Boer.
  You are encouraged to repeat the quiz until
  you get a perfect grade. Turn in only your
  best grade.
 
  Optional: Example Python sockets using TCP/IP
  Optional: Books in Dordt's Library
  Optional: Wikipedia article Ethernet
8

3/17 3/24 3/25   Topics: Task scheduling, Measuring freq, period
             Memory, AC load control, Serial
             interfacing and RS-232, Ethernet
 
  Read RS-232 in Wikipedia
 
  Do this problem:
  Plot voltage vs. time of the Tx line in RS-232
  for sending this text: "Z#" (without the
  quotation marks, with a capital "Z"). Assume
  ±12 V signal voltages, 53 kbaud, eight data
  bits, and one stop bit. Be sure to label your
  axes properly. An ASCII table can be found in
  many places, e.g. http://www.asciitable.com
  Note that the illustration in the Wikipedia
  reading does not have properly labeled axes.
  Specifically the the independent axis lacks
  scale and units.
 
  Optional: The entire RS-232 standard is
  available from Dordt's library. Interface
  Between Data Terminal Equipment And Data
  Circuit-Terminating Equipment Employing Serial
  Binary Data Interchange
TK7887.5 .I57 1997
 
  Optional: Read about teleprinters.
 
  Very Optional: Listen to a Teletype machine.
  And see a Teletype machine connected to a
  Digital Equipment Corporation (DEC, a brand)
  model PDP-8/e computer. This computer could be
  booted "manually" via a bank of switches that
  allows the direct entry of machine code word-by
  word, executing each instruction as fast as the
  operator can enter the code. Wow, that's fast!
 
  Optional: Example of RS-232 debug ports in
  various products leaving security vulnerabilities.
7

3/03 3/17 3/17   Topics: Interrupts & Critical Regions
  Read: Class notes interrupts
  Also read Chapter 9 in Lee and Seshia
 
  Do this problem on interrupts.
6

2/17 3/03 3/04   Topics: Position sensing, interrupts
  Read: Class notes on position sensing
  including relative vs. absolute position,
  issues with vibration, quadrature sensing,
  V-scan and U-scan techniques.
  Also read Section 10.2 in Lee and Seshia
  Also read this overview on interrupts
  and this on Arduino interrupt programming
 
  Do these problems on encoders and interrupts.
 
  Optional related information:
  Details on a particular relative encoder
  Wikipedia article: "Rotary encoder"
  Detail of a 13-bit grey code absolute encoder.
  Wikipedia on Single-track grey code
  If you are a fan of the Raspberry Pi and/or
  Multithreaded programming (a foundation for
  object-oriented programming) you might like to
  look at Ch 11 in Lee and Seshia.
 
  On Monday, 2/20 Prof dDB mentioned in class that the
  due date would be delayed to Monday, 2/27. That
  finally got posted here on Thursday evening, 2/23.
  On 2/24 Prof dDB further delayed it to Friday, 3/03.
5

2/06 2/20 2/21   Topics: Digital-to-analog conversion, actuators
             solenoids, motors
  Scan through Chapters 2 and 3 of The Data
  Conversion Handbook, 2005 ed. Walt Kester.
 
  Browse these Wikipedia articles motors. 7
  DC Motor
  Stepper Motor
  Switched Reluctance Motor
  AC Motor
 
  Also read Jones on Stepping Motors
 
  Do these problems on motors
  Helpful link: Lin model 211-13-01 and note
  the "Torque Curves" tab.
 
  (On Wed. 2/08 the due date was changed
  from 2/10 to 2/17. Then on 2/15 the due date was
  futher delayed to 2/20.)
4

1/30 2/03 2/04   Topics: Driving powerful loads, switch debouncing
            source modeling, decibels, signals and
            wiring, single-ended vs. differential
            analog-to-digital conversion, aliasing.
  Read: Classroom slides.
            Lee & Sechia, all of Ch 7, and in Ch. 10
            Sections 10.1.1, 10.1.2, 10.1.4, 10.1.5.
 
  Do in Lee & Sachia on page 207, Ex. 2, 3.
  Also draw a schematic to show to connect a
  hex-pad to an Arduino and be able to read the
  key-presses. Assume that the loop() program
  will repeat rapidly (at least 100 times a
  second). Specify how to connect the keypad to
  specific GPIO pins of the Arduino, how to set
  up each GPIO pin, and how to collect the key-
  presses in the loop procedure. Here is a
  typical hex keypad
3

1/20 1/27 2/02   Topics: Parallel Interfacing, I/O drivers
  Read: Classroom slides.
            Multiplexing and Charlieplexing,
            Multiplexing a Keypad,
            Debouncing a switch or keyboard
                                                      (don't miss p2)
  Do Problem Set #3 found here.
  LED (LTL4243) information you will need is here.
  Use "Test Condition" or "Typical" data.
  Nominal forward current is 10 mA.
  (Abs. max. data is the verge of breakdown.)
  Use the due date link to turn work in.
2

1/16 1/20     Topics: Version control of software
  Read: Classroom slides
  This assignment is designed to be worked mostly
  during the lab on Monday, 1/16.
 
  Follow this guide.
  Your finished work will be in dDB's repo.
  No other work needs to be turned in.
1

1/13 1/16     Read the Preface and Chapter 1 from the
  Lee & Seshia textbook.
  View "Development Environments Overview"
  Briefly browse Getting Started with Arduino.
  Briefly browse this datasheet.
 
  Do the introductory problems
  Note the microcontroller chip on the Arduino Uno
  is part number "ATmega328P-PU"
 
  Turn all problem sets in electronically. For this
  assignment, save your answers as doc or docx
  format. Upload the file to Canvas by clicking on
  the due date (link) for this assignment.

Note 1) Homework solutions are usually available one or two class periods after the due date. Click the "returned date" on this page to access the solutions. If the "Returned" date is not a link (is black, not gold) then the solution is not yet posted. Check back later. If you click the link and get a login screen instead of the solutions, log in using your usual courses@dordt username and password. Then use the back icon (or alt-left-arrow on the keyboard) twice to get back to the link on this page and click the link again. The link only works when you are logged in to courses@dordt.

Note 2) Problems sets shown above with no "assigned" date are tentative. More problems might be added, expected due dates might change, but problems shown will eventually be assigned.

Note 3) If you are having difficulty reading the latest version of this page it may have to do with your browser's cached memory. Read this note on cached pages to solve the problem.