Two Semester Course Description – Digital Term
Instructor David Abrams |
Course Description The spring 2023 version of 123b/223b will not teach the full course material of Learning the Art of Electronics. It will cover the digital half only (with the inclusion of mixed signal data conversion). We will not cover the analog portion of the material so if you you need to learn about bipolar transistors, JFETs, RC/RLC circuits in the frequency domain, filters, operational amplifiers, voltage regulation, lock-in amplifiers and PID controllers, you should wait until the analog half of the course is offered. The two parts of the course are designed to be self-contained, you can take one, the other or both depending on your interests and needs. Please feel free to contact me (dabrams@fas.harvard.edu) with any questions about the course. This course surveys practical digital electronics, starting from Ohm’s Law through microcontrollers, with little mathematical or physical explanation but much opportunity to design and build circuits. Each of the class meetings devotes about 2 1/2 hours to a laboratory session. The small class size allows a format closer to seminar than to ordinary lecture. Since the course aims above all to enable students to design useful circuits, it concentrates on the most effective techniques for learning digital electronics and microcontrollers. We start with an introduction to the analog circuits basics: voltage, current, resistance and capacitance (with some overlap with the analog term – call it a “review”). We then look briefly at the MOSFET transistor as a switch, the basic building block of modern digital electronics, before jumping into digital circuits. The course looks first at discrete-gate design, then at analog-digital interfacing. Students will learn about programmable logic devices (PLDs, we will explore a modern FPGA) and programming them through a logic compiler (Verilog). About 30% of the content concerns the application of microcomputers, microcontrollers, and the design of their interfaces. The laboratories conclude with a series of sessions in which students use a single-chip ARM uController programmed in C and debugged with a laptop computer. We try to keep the code simple so that the concentration of the course remains on interfacing to the uController, not programming. We will, however, explore sophisticated embedded systems topics including interrupt handling and Real Time Operating Systems. See the RTOS demo on YouTube: 27L Lullaby Jukebox Demonstration The course covers about 65% of the material in the old full combined course. Hopefully that will make taking the course somewhat more manageable. It also allows us to add a [very fun] two-day lab where you get to use the FPGA to create a complete system. Some examples of suggested projects include: a capacitance meter, a reaction timer, a digital clock, a digital voltmeter, a bicycle odometer, and several others. Prerequisite: Secondary school algebra. A course in basic physics is useful in understanding the analog basics at the beginning of the course and in debugging non-working circuits. Some previous exposure to C (or Arduino) programming is helpful but not required. (Khan Academy has a set of free introduction to programming lessons.) We have provided some introductory material on programming in C on our Microcontroller Resources page. Notes: Limited to 20 students. Physics 123b is also offered as Physics 223b. Students may only take one for credit. Undergraduate physics students should enroll in Physics 123b. Graduate students should enroll in Physics 223b. Both registrations use this Physics 123b Canvas site. The class requires “permission of instructor” only to avoid being oversubscribed. We grant permission in the order it is requested until the class is full, then admit on a provisional basis. You will need a computer (Windows, Mac or Linux) with at least one USB B port (or a C to B adapter) to do the lab exercises. If you do not have access to one, we have a limited supply of [Windows] loaners available. |