Physics 123b/223b Daily Class/Lab Assignments
Two Semester Digital Course
Day 1 – DC Circuits Part I
Before first class:
Read the Physics 123/223 Hints and Tips document through page 16; read Using the Multimeters on pages 30 and 31.
Watch the Oscilloscope Basics series of videos
Readings from Learning the Art of Electronics, 2nd ed.
Chapter 1: DC Circuits – Read through section 1N.4.5 and read 1S.1
Lab Day 1
Complete Lab 1 through 1L.5; but skip 1L.4 and calculating and building the Thevenin equivalent circuit at end of part 1L.3.
Complete 1L.6, however, use an oscilloscope probe to connect to the function generator, not a BNC cable. The sync out signal on the Silgent function generators is on the back of the device and must be enabled from the front panel menu. Ask for help if you want to try it
Day 2 – RC Circuits in the Time Domain
Chapter 2: RC Circuits – Read sections 2N.1 and 2N.2; read 2N.3 up to “Digression: deriving ZC” on page 64; read 2N.4.2 and 2S.1
Watch the Introduction to Breadboarding video (5:30)
Watch the Bypassing Demonstration Video (11:10)
Here is a recorded video version of the discussion of capacitors in the time domain (56:59) It is optional but feel free to watch if you want a review or preview.
Lab Day 2
Complete section 2L.1; if you have time you are welcome try parts 2L.2.1 and 2L.2.2 to see how an RC circuit operates in the frequency domain.
Day 3 – Diodes and MOSFETs
Chapter 3: Diode Circuits – Read sections 3N.5 and 3N.6.3
Chapter 12: MOSFET Switches – Read sections 12N.1, 12N.2 through 12N.2.2 (ignore references to bipolar transistors) and 12N.4
Watch MOSFET Switching Demonstration (3:44).
Lab Day 3
Complete the exercises in the Day 3 Lab Instructions
Here are images of various diodes to help identifying them: Images of Diodes
Day 4 – Introduction to Digital
Chapter 4: Logic Gates – Read Chapter 14N through section 14N3.2
Lab Day 4
Lab 14: Complete through section 14L.4.1 today. (If you have time, you are welcome to complete 14L.4.2 as well. Otherwise, we will do it next time.)
Day 4 and 5 Lab Addendum
Day 5 – Active Low Inputs and Gate Innards
Chapter 4: Logic Gates – Read through the end of the chapter; read 14W.1
We may watch the following demonstrations in class. If not, please watch theses videos after class.
Digital Noise Margin Demonstration (10:16)
LVDS Differential Signaling Demonstration (2:41)
Lab Day 5
Lab 14: Complete Lab 14L
Day 4 and 5 Lab Addendum
Day 6 – Introduction to Programmable Logic
Chapter 15: Programmable Logic – Read Chapter 15N through section 15N.3.8; Skim 15S
Lab Day 6
Lab 15: Complete tests in 15S.1.3; do Lab section 15L.1
You will need one computer per lab group to connect to the FPGA in today’s lab. We have Windows computers available but you are welcome to use your own (Windows 10 or higher, MacOS, Android or Linux). The advantage of using your own is you will not have to copy your work to a USB drive (which you must supply) or email it to yourself if you want to save it. Also, you must have a WebUSB compatible browser (currently Brave, Edge, Firefox, Safari, Opera, Samsung and Chrome.) installed on your computer to connect to and program the FPGA.
Day 7 – More Combinational Programmable Logic
Chapter 15: Programmable Logic – Read remainder of Chapter 15N; read 15W
Lab Day 7
Lab 15: Complete Lab section 15L.2
Day 8 – Sequential Circuits: Flip-Flops I
Chapter 16: Flip-Flops – Read Chapter 16N through 16N.3
We may watch the following demonstrations in class. If not, please watch these videos after class.
MOSFET Set-Reset Flip-Flop Demonstration (2:41)
Debouncing a SPDT Switch with a SR Flip-Flop (5:09)
Lab Day 8
Lab 16: Complete lab 16L through 16L.4
Day 9 – Sequential Circuits: Flip-Flops II
Chapter 16: Flip-Flops – Read through end of Chapter 16N
Chapter 17: Counters – Read sections 17N.1 and 17N.2
Lab Day 9
Lab 16: Complete 16L.5
Day 10 – Counters I
Chapter 17: Counters – Read Chapter 17N through 17N.5
We may watch the following demonstrations in class. If not, please watch these videos after class.
Demonstration of Synchronous vs. Asynchronous Counters (4:14)
Demonstration of Synchronous vs. Asynchronous Clear (10:35)
Lab Day 10
Lab 17: Complete lab through Section 17L.6 (if you do not get through the entire lab you can finish up next time, the next lab is fairly short)
OPTIONAL: The lab has you display the 74LS469 8-bit counter outputs on the logic indicator LEDs. We have a LCD display board that can show the outputs in binary or hex if you prefer:
To show the 8-bit counter on the LCD Display Board, use the data inputs to display the counter output. You can power the display board from USB or +5V on the breadboard. (If you are feeling ambitious, you can also connect the logic switch outputs to the low eight bits of the address inputs on the display board to show the load value in Hex.) Instructions on using the LCD display board are here: LCD Display Board Instructions
Day 11 – Counters II
Chapter 17: Counters – Read to end Chapter 17N; read Chapter 17S
WebFPGA Documentation – Read Appendix C and Appendix D
Lab Day 11
Lab 17: Complete lab 17L
Day 12 – Memory
Chapter 18: Memory – Read Chapter 18N
Lab Day 12
Lab 18: Complete 18L.2 (this is a long lab, skip 18L.1 for now)
Seven Segment Test Module.v (optional test)
Day 13 – Finite State Machines I
Chapter 18: Memory – Review Chapter 18N.3.1 on the case statement
Chapter 19: Finite State Machines – Read Chapter 19N through Section 19N.3.2 “Implementation using flip-flops and a memory”
Lab Day 13
Lab 19: Complete Lab 19L through 19L.1.4
If you would like more FSM design practice, here is an optional problem (and solution) to hone your skills.
Practice FSM Problem
Practice FSM Problem Solution
Day 14 – Finite State Machines II
Chapter 19: Finite State Machines – Read through end of Chapter 19N; read 19W
Lab Day 14
Lab 19: Complete Lab 19L. Skip 19L.1.5 and the optional exercise at end of 19L.1.6.1
Day 15 – Analog to Digital Conversion
Chapter 20: Analog <-> Digital; PLL – Read Chapter 20N through 20N.4 (skip 20N.3.5)
Lab Day 15
Lab 20: Complete Section 20L.1
Verilog code to use the WebFPGA as a 74LS502 SAR: PLD_74LS502.v
Day 16 – Digital Project Lab I
Day 17 – Digital Project Lab II
Chapter 21N: Digital Project Lab – Read Chapter 21N and skim Chapter 21L. Think about what project you want to work on
Day 18 – Mid-Term Exam (in class)
Covers all material through data conversion (Day 15)
Day 19 – Microcontrollers I
Chapter 22: Introduction – Read Chapter 22N
If you have no procedural programming experience or would like a review of a simple C-like language (Arduino), see the Microcontroller Resources page for a list of reference and training materials and videos. In addition, Section 22S.3 in LAoE includes some additional references on programming in C.
Lab Day 19
Lab 22: Follow directions in Chapter 22S.2 to set up the IDE, then complete the exercises in Chapter 22L
Day 20 – Microcontrollers II
Chapter 23: Stacks, Timers and Input – Read Chapter 23N; read sextions 23S.1 and 23S.2
Lab Day 20
Lab 23: Complete Chapter 23L
Day 21 – Microcontrollers III
Chapter 24: Using Internal Peripherals – Read Chapter 24N
Lab Day 21
Lab 24: Complete the exercises in Chapter 24L
If you have time, read and complete the exercises in Chapter 24W (you can skip 24W.3.2 unless you are really interested in the gory details)
Here are the files you will need to speed up the microcontroller to 48MHz:
https://LAoE.link/ClockSysInit48M.c
https://LAoE.link/ClockSysInit48M.h
Day 22 – Microcontrollers IV
Chapter 25: Timers & Interrupts – Read Chapter 25N; skim Chapter 25O (online at https://LAoE.link/LAoE_Chapter_25O.pdf).
Lab Day 22
Lab 25: Complete Lab 25L
Day 23 – Microcontrollers V
Chapter 26: Serial Communication – Read Chapter 26N
Lab Day 23
Lab 26: Complete Lab 26L
Day 24 – Microcontrollers VI (part 1)
Day 25 – Microcontrollers VI (part 2)
Chapter 27: Using an RTOS – Read Chapter 27N
Lab Day 24
Lab 27: Install embOS following directions in Chapter 27S (you can do this before you come to class).
Complete Lab 27 through 27L.3L. You can substitute a VN10LP or 2N7000 MOSFET for the VN2222 to drive the buzzer.
If you would like to try using your own DAC and Timer functions, here is a partially competed version of BSP.h to use with the Lullaby Jukebox BSP_Skeleton.c
Lab Day 25
Complete Lab 27 through end