Table of Contents
ETH Course 402-0248-00L: Electronics for Physicists II (Digital) - EFP2
Also known as EFP2
As of Spring 2019, teaching of this course will be taken over by Dr. Yves Acremann
- Semester: Spring Semester
- Taught by: Tobi Delbruck, Inst. of Neuroinformatics, UZH and ETHZ, ,
- ETH Catalog: 227-1042-00L Electronics for Physicists II (Digital)
- Department: ETH Zurich Department of Physics (D-PHYS)
- Language: English.
- Credits: 4 credit points.
- Exam: There is no exam but students must successfully complete the class projects. This is a pass/fail course. Only students who complete the exercises will receive a pass. Students who do not complete the exercises will not receive any grade.
- Companion course: Electronics for Physicists I (Analog), Fall semester, taught by Roland Horisberger.
<html> <table style=“width:194px;”><tr><td align=“center” style=“height:194px;background:url(https://picasaweb.google.com/s/c/transparent_album_background.gif) no-repeat left”><a href=“https://photos.app.goo.gl/L48uTJuCH4BPuixd2”><img src=“https://lh6.googleusercontent.com/-AKbtBWkQ9gY/TprEr1ZNBWE/AAAAAAAADLc/gFz4GxcUC34/s160-c/ElectronicsForPhysicistsIIDigital.jpg” width=“320” height=“320” style=“margin:1px 0 0 4px;”></a></td></tr><tr><td style=“text-align:center;font-family:arial,sans-serif;font-size:11px”><a href=“https://photos.app.goo.gl/L48uTJuCH4BPuixd2” style=“color:#4D4D4D;font-weight:bold;text-decoration:none;”>Electronics for Physicists II (Digital)</a></td></tr></table> </html>
Aim
This course teaches the basics of digital electronics, to provide hands-on experience with using COTS (Commodity Off The Shelf) components to build systems. The course complements the preceding analog course by teaching logic design and digital systems that convert and process analog information. It covers the use of microcontrollers (AVR architecture) and reconfigurable logic (Xilinx FPGA) from basics to physical implementation, including PCB design and surface-mount assembly. The aim of the course is to remove the fear of starting a project and offer the students a first experience at many levels of design.
Contents
The course consists of short lectures on theory and exercises using two different hardware platforms - a microcontroller board with Universal Serial Bus (USB) interface, and a Field Programmable Gate Array (FPGA) board. In addition the course includes exercises in printed circuit board (PCB) design and PCB surface mount assembly.
New: In 2014 we will be using an Arduino uC platform for the first time.
Prerequisites and Requirements
Students should have taken Analog Electronics for Physicists or equivalent and should have had some programming experience, preferably with C. Students (or at least each group of 2 students) need a laptop computer, preferably Windows (7×64 preferred) or Linux (Linux users must largely support themselves…).
Resources
- smd - surface mount assembly for Bronce_V2 and Cooper boards.
- smd - surface mount device assambly for Arduino Nano (New in 2014)
- uc - arduino / ATmega328 - New in 2014.
- uc - microcontroller embedded systems programming / AVR32 - For 2013 and previous years.
Schedule
See also Calendar below.
PCB design and assembly, embedded microcontroller programming
Meeting | Week (of year) | Topic | Lecture | Exercise | See |
---|---|---|---|---|---|
1 | 8 | Introduction and organization. Microcontroller architectures and programming. Architecture (registers and hardware). Reading a datasheet. Demonstration of programming and using Arduino Nano board. | 1-EPF2 Intro | Setup development tools; run demo program. Arrange time for soldering your own microcontroller PCB. | Arduino quiz uc-arduino Soldering doodle |
2 | 9 | Writing your own Arduino application. Pulse Width Modulation (PWM) outputs for producing analog output and controlling servo motor. | Discussing quiz on ATmega datasheet and Arduino Sketch. Introducing GPIO and PWM. Electret mics and audio amplifier. 2015 slides 3-uC | uc-arduino During week before lecture: Surface mount assembly; soldering PCBs. During class exercise: Build audio amp and servo power supply. | - 2-SolderingArduinoNano soldering instructions slides Installing Sketches bootloader firmware to your Nano |
3 | 10 | Analog to Digital Converters (ADCs): Successive approximation register (SAR) ADC. Simple DSP. | 2015 slides 4-micBoard | Finish microphone preamp on protoboard, acquire and process signals, and control servo motor in response to volume of sound using DSP and PWM output. | Lab 3 uc-arduino |
4 | 11 | Writing your own Arduino application for DSP (Digital Signal Processing). USB interfacing. Using the ADC on the ATmega328P. Interrupt Service Routines (ISRs). Device side USB and host side USB. | 2015 slides 4-micBoard | Acquire and process sound signal, and control servo motor in response to volume of sound using PWM output. | uc-arduino |
5 | 12 | PCB design: PCB schematics. Getting software, making a schematic and new library component, finding parts, PCB footprints. | PCB design slides | Start to design daughterboard for microcontroller board which adds analog components. Draw schematic of daughterboard. | Lab 4 pcb |
6 | 13 | PCB design: PCB layout. Board components: Resistors (Carbon, thin and thick film metal, wire wound), capacitors (COG/X7R/Z5U, electrolytic, ceramic), amplifiers, optocouplers, SCRs and triacs, headers, package types. Board layout tips. Power supply decoupling and power routing with star power nets. | PCB design slides PCB layout, technology, stackup slides | Start to design daughterboard for microcontroller board which adds analog components. Draw schematic of daughterboard. | Lab 4 pcb |
start of logic design part of course | fpga2 and gateway | |||||
---|---|---|---|---|---|---|
7 | 14 | Introduction to using reconfigurable logic (FPGAs, CPLDs, etc). Introduction to Hardware Description Languages (HDLs). | Logic Design 1 | Install FPGA toolsmeet, finish Gateway exercise 1. | gateway | |
15 | Easter break | |||||
16 | Easter break | |||||
17 | Easter break | |||||
8 | 18 | Logic design continued. Introduction to verilog HDL and exercises. Review of Gateway exercises 1-5,7 | Logic design 2 | Gateway exercises 2,3,4,(5 if possible). | gateway Gateway exercises 1-10 (zip archive) | |
10 | 19 | Review of Gateway exercises 8-10 | Logic design 3 FPGA insights from Luca Longinotti | Understand Gateway exercises 8-10. | gateway | |
11 | 20 | Sequential logic with state machines. Representation of states and state transitions, state transition actions. Demonstration of silicon retina. and FSM design for handshaking with an event-based silicon retina. Gateway 11-12. | Logic design 4 Notes on FSM design for AER monitor | Understand Gateway 11-12 | gateway Gateway 11-12 zip archive Joystick PMOD controller IP for snake game | |
12 | 21 | Review IP blocks in Gateway 1-12. | Work on snake game. | gateway | ||
14 | 22 | Semester summary. Project demonstrations: Show your complete snake game or other video FPGA demo using developed modules. Go to cafe for drinks to celebrate summer break! |
Instructors
This class is taught by Tobi Delbruck based on material developed by Khaled Benkrid and Tom Clayton at the University of Edinburgh for the logic design using FPGAs part. In 2014, the course was also taught by Alejandro Linares-Barranco, D-ITET guest professor, Univ. of Sevilla. In 2015 and 2016, the teaching assistant is Ilya Kiselev.
Feedback
Students, please provide feedback about how to improve the course.
Calendar
See also ETH Academic Calendar. Refresh if you don't see the google calendar below.
<html> <iframe src=“https://www.google.com/calendar/embed?height=600&wkst=1&bgcolor=%23FFFFFF&src=pf1ecga4ri5bbbnggp1tbj7mro%40group.calendar.google.com&color=%23182C57&ctz=Europe%2FBerlin” style=“ border-width:0 ” width=“800” height=“600” frameborder=“0” scrolling=“no”></iframe> </html>