-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtodo
More file actions
142 lines (101 loc) · 10.9 KB
/
todo
File metadata and controls
142 lines (101 loc) · 10.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
Note : commented lines (with ";") are done / clearly attributed somewhere.
The rest is not yet done or could be improved.
; GOAL V01 • You can describe the various aspects of embedded systems engineering: requirements → architecture → implementation → validation
; GOAL V01 • You reviewed, and can apply, the basic concepts from the development process (modeling, design/implementation, analysis) to realize and verify embedded systems.
; GOAL V01 • You can explain what an embedded system is, and how it can be framed within the «Sense, Think, Act, Communicate» paradigm.
GOAL L01 • You will familiarize yourself with the teaching platform “ESPresso” and the tools/toolchain.
GOAL L01 • You can understand the “Sense-Think-Act-Communicate” model in practice (coffee machine example).
GOAL L01 • You can make sense of the three development steps “Modeling, Implementing, Analyzing”.
GOAL L01 • You will be able to use UML diagrams (FSM as state diagram).
GOAL L01 • You can implement functionalities in C according to the description in the functional specification.
GOAL V02 • You can describe typical sensor characteristics and preprocessing techniques, and explain the difference between simple and more intelligent sensors.
; GOAL V02 • You can describe the analog signal chain and explain conceptionally how its individual components work (Sample & Hold, ADC/DAC, Quantization, Nyquist, Aliasing, Under-/Oversampling).
GOAL V02 • You can make use of software engineering techniques like bare metal super-loops, polling and interrupts, look-up tables and callbacks.
GOAL L02 • You will review how to set up and use an ADC of a microcontroller (STM32 MCU in the STM environment).
GOAL L02 • You understand the importance of selecting the right sampling frequency for an ADC.
GOAL L02 • You can read in an NTC thermistor and deal with its raw ADC data.
GOAL L02 • You can apply data conversions and optimizations through look-up tables (LUT) in the process.
GOAL L02 • You can measure the execution time of your code.
; GOAL V03 • You can explain the working principle of an IMU and what it is typically used for.
; GOAL V03 • You can implement and utilize a circular buffer for applications like filtering, feature extraction or decoupling (buffering) on a microcontroller.
; GOAL V03 • You can implement simple averaging filters and more generally FIR and IIR (biquad) filters in C.
; GOAL V03 • You can understand the basic mechanism and realize an implementation of a filter like the complementary filter for the purpose of sensor fusion.
GOAL L03 • You will review how to read in a sensor via I2C on a microcontroller in the STM environment.
GOAL L03 • You can process the measured data and convert it into more significant information using signal conditioning and filtering techniques.
GOAL L03 • You can combine data from more than one sensor source via a complementary filter (sensor fusion).
GOAL L03 • You can analyze acquired and processed data with a digital oscilloscope.
GOAL L03 • (Optional) You can put the complementary filter in relation with more efficient sensor fusion algorithms.
GOAL V04 • You can explain the basic working principle of a actuator like a brushed DC motor.
GOAL V04 • You can interface a DC motor to a microcontroller, including the necessary components in hardware and software (timer, PWM, H-bridge, current sensor, encoder).
; GOAL V04 • You can implement and tune a basic motor controller (bang-bang control, PID control with feedback/feedforward, cascaded control).
; GOAL L04 • You can implement a general digital PID control loop function on the microcontroller.
; GOAL L04 • You can tune different types of PID controllers using empirical methods.
GOAL L04 • You can measure the frequency response of a single control loop as well as the cascaded system.
; GOAL V05 • You can generate a motion profile and implement trajectory tracking with a PID controller.
; GOAL V05 • You can describe non-idealities caused by saturation or discretization of the controller.
GOAL V05 • You can explain the basic working principles of brushless DC and stepper motors.
GOAL L05 • You can utilize a PID controller for trajectory tracking.
GOAL L05 • You can implement homing and soft limits for a motor system with encoder.
GOAL L05 • You can apply a temperature sensor to realize overtemperature protection.
; GOAL V06 • You know about the importance of low power in the context of embedded systems.
; GOAL V06 • You can estimate a system’s constrained power budget or battery lifetime.
; GOAL V06 • You can explain how to use the various low power modes available in the STM microcontrollers.
; GOAL V06 • You can describe the different low power optimization concepts.
GOAL L06 • You can configure an STMicroelectronics microcontroller in different low power modes.
GOAL L06 • You get an understanding of what the different low power modes do.
GOAL L06 • You can wake up the microcontroller from a deep sleep mode.
GOAL L06 • You can assess the current consumption in different low power modes.
; GOAL V07 • You can describe how data is structured and transmitted through layers (OSI model).
; GOAL V07 • You can interpret basic frame structures (headers, payloads, footers).
; GOAL V07 • You can classify communication patterns and network topologies.
; GOAL V07 • You can recognize how the Modbus protocol fits into the OSI model and how it communicates.
GOAL L07 • You understand the underlying principle of the OSI model—particularly, what the application,network, data link and physical layers do.
GOAL L07 • You can build a simple custom protocol from the OSI model building blocks.
GOAL L07 • You experience how the client-server architecture in the Modbus protocol works.
GOAL L07 • You can configure a Modbus client and server to send and receive data via Modbus RTU.
GOAL L07 • You can analyze the data signal from a Modbus communication with an Analog Discovery oscilloscope and logic analyzer.
; GOAL V08 • You can describe the key properties of the CAN bus regarding the physical layer (incl. differential signaling, termination resistors, NRZ coding).
; GOAL V08 • You can explain the communication exchange on a CAN bus regarding the data link layer (incl. message format, bit stuffing, masking / message filtering).
GOAL L08 • You can understand how the basic CAN communication works.
; GOAL L08 • You can configure a CAN message filter.
; GOAL L08 • You can program a microcontroller to send and receive data through CAN messages.
; GOAL L08 • You can analyze the data signal from a CAN communication with an Analog Discovery oscilloscope and logic analyzer.
; GOAL V09 • You can describe the basic architecture and topology of the Universal Serial Bus (USB), including physical and data link layers.
; GOAL V09 • You know the concepts of USB Hub and USB On-The-Go.
; GOAL V09 • You can explain USB enumeration and the basics of USB communication (transfer types, endpoint types, packet types, descriptors).
; GOAL L09 • You can understand the inner workings of the USB physical and data link layers.
; GOAL L09 • You can set up and use a virtual COM port, and thus interface an embedded system with a PC through the Communication Device Class (CDC).
; GOAL L09 • You can implement an embedded system that acts as a basic user interface device like a computer mouse based on the Human Interface Device (HID) device class.
; GOAL V10 • You can distinguish the basic concepts behind the Ethernet and WiFi.
; GOAL V10 • You can explain the different mechanisms of multiplexing and medium access control.
; GOAL V10 • You can assess the throughput and bandwidth of a communication channel.
GOAL L10 • You can use the USB transfer type “Isochronous” with the Audio Decive Class.
GOAL L10 • You can use the USB transfer type “Bulk” with the Mass Storage Device Class.
; GOAL V11 • You can understand the working principles of the transport and network/internet layers of theOSI and TCP/IP reference models.
; GOAL V11 • You can describe the structure and usage of the AT Command Set.
; GOAL V11 • You can make use of the core concepts of the Message Queuing Telemetry Transport (MQTT)protocol for efficient IoT messaging.
; GOAL L11 • You can set up a WiFi communication via AT commands.
; GOAL L11 • You can understand the differences of the TCP and UDP protocols (OSI layer 4, transport layer).
; GOAL L11 • You can publish data and subscribe to a topic via the MQTT protocol.
; GOAL L11 • You can understand how to connect to a remote web server via HTTP.
; GOAL V12 • You know the challenges and benefits of edge computing and Internet of Things (IoT) applications.
; GOAL V12 • You can explain the Bluetooth Low Energy (BLE) architecture.
; GOAL V12 • You can handle BLE connections including scanning and advertising from central and peripheral devices.
GOAL V12 • You can understand the basic pairing mechanism in BLE. % CHECK if fullfilled -> mit Vorlesungsslides abgleichen...
; GOAL V12 • You can distinguish between the roles of BLE peripherals and centrals.
; GOAL V12 • You can implement how to advertise your own BLE device and scan for other nearby BLE devices.
; GOAL V12 • You can connect and pair your BLE device with another BLE device via AT commands.
GOAL V13 • You can distinguish the basic BLE profiles and protocols (GAP/SM vs. GATT/ATT) within the host subsystem of the BLE protocol stack.
GOAL V13 • You can explain the core functionalities and working principles of the GATT profile and the ATT protocol.
GOAL V13 • You can utilize GATT services to communicate and transfer data between two devices, including the configuration of involved profiles, services and characteristics (attributes).
GOAL V13 • You can look up and correctly select available profiles, characteristics and UUIDs in the respective specification documents (e.g., Assigned Numbers).
; GOAL L13 • You can scan for GATT services and characteristics on a connected device.
; GOAL L13 • You can send and receive data via one or several characteristics.
; GOAL L13 • You can set up and handle the data exchange as a GATT server.
; GOAL V14 • You know about the importance of data logging and some useful logging data (sensor value, time stamp pairs).
; GOAL V14 • You can understand the functionalities of the real-time clock (RTC) peripheral and its use, namely waking up a sleeping system and providing absolute time-of-day/calendar (including alarms, time synchronization).
GOAL V14 • You can understand the reset behavior and utilize the watchdog timer (WDT) peripheral on an STM32 MCU.
GOAL L14 • You can configure a real-time clock (RTC) in calendar mode.
GOAL L14 • You can collect data and send it off board to a different location for further processing.
GOAL L14 • You can make use of a CRC-function for enhancing system robustness.
GOAL L14 • You can deploy a watchdog timer (WDT) and explain what it does.