Networks for Embedded Systems


Lecture 1. Data communications basic concepts, terminology and theoretical foundations.

Lecture 2. Basics of networking in automotive systems: Network topologies, communication principles and standardised protocols

Lecture 3. The Controller Area Network - CAN (Part I, Data Link Layer in CAN): physical encoding, arbitration, frame structure and frame types (CAN 2.0A and CAN 2.0 B), stuffing, error detection, error management.

Lecture 4. The Controller Area Network - CAN (Part II, Physical Layer in CAN): bit timing procedures, synchronization and re-synchronization, high speed and fault tolerant CAN, theoretical limitations.

Lecture 5. CAN with Flexible Data-Rate - CAN-FD.

Lecture 6. CAN Higher Layer Protocols: SAE J1939, Time Triggered CAN (TTCAN) and CAN Calibration Protocol.

Lecture 7. Local Interconnect Network(LIN). Specifications, v1.3 vs. v2.0. Design principles and overview of the protocol, frame structure, sleep and wake-up signals, physical layer.

Lecture 8. FlexRay. Event-driven and time-driven communication, communication cycles: static segments and dynamic segments, frame format and physical layer.

Lecture 9. Multimedia buses. I2S bus. Domestic Digital Bus (D2B). Media Oriented System Transport (MOST).

Lecture 10. Serial communication interfaces: SPI and I2C.

Lecture 11. Ethernet and BroadRReach.

Lecture 12. Wireless Communication Interfaces. Bluetooth and bluetooth low-energy (LE) or Bluetooth Smart.

Lecture 13. Near Field Communication (NFC) principles, applications and security.

Lecture 14. RF communication interfaces, access control systems and tire pressure monitoring sensors.

Lab topics

Lab 1. Introducing the S12 platform and the CodeWarrior IDE. I/O ports.

Lab 2. The S12 Programming model, Instruction set and Memory addressing.

Lab 3. The S12 Interrupt system, Clock and Reset generation.

Lab 4. The S12 Timer module.

Lab 5. The S12 Pulse Width Modulation (PWM) module.

Lab 6. The S12 Analog-To-Digital Converter Unit (ATD).

Lab 7. Serial communicatin using the S12 platform. sci0.c, sci0.h

Lab 8. Local Interconnect Network (LIN).

Lab 9. Controller Area Network (CAN) - Frame structure, CAN IDs, frame data.

Lab 10. Controller Area Network (CAN) - ID filtering.

Lab 11. Controller Area Network (CAN) - Error detection.

Lab material

Book: A Practical Introduction to Microcontroller Programming with S12 will serve as a guide for Labs 1-6.

Microcontroller reference manual: S12XF512

Sample code: EVB9S12XF512E code