No products in the cart.

Master CAN Protocol for embedded system in (Arabic) بالعربي

Deep Dive in CAN protocol/controller (Theoretical & Practical)


 CAN Protocol for Embedded Systems in Arabic

This course will teach you everything you need to know about the CAN protocol for embedded systems. You will learn about the CAN protocol, CAN frames, CAN bus characteristics, and how to read a CAN controller from a TRM. You will also learn how to use Linux CAN sockets to communicate with CAN devices.

Course Outline

Theoretical Part

  • In-vehicle networks (IVN)
  • Evolution of in-vehicle networks
    • Classic flat wiring harness architecture
    • Domain architecture
    • Zonal architecture
  • A typical wiring harness for a car
  • Central compute based zonal architecture
  • CAN bus introduction
    • What is CAN bus?
    • Who uses CAN bus?
    • CAN bus history
    • CAN bus timeline
    • Bus characteristics
    • OSI model
    • Physical layer
  • CAN protocol specification
    • General characteristics
    • Types of CAN messages
      • Data frame
      • Remote frame
      • Error frame
      • Overload frame
  • CAN bus characteristics
    • CAN node
    • Single ended vs. differential
    • Recessive and dominant signals
    • Bit rate / bus length
    • CAN transceiver
  • CAN bus errors
    • Bit error
    • Stuff error
    • CRC error
    • Acknowledgment error
    • Form error
  • Error confinement mechanism
  • CAN bit monitoring and stuffing

Practical Part

Case Study 1

  • How to read a CAN controller from a technical reference manual (TRM) for a SoC based on Cortex M3
  • CAN bit timing and calculation
  • TX & RX based on polling mechanism
  • Filtration mechanisms
  • Retransmission mechanism based on error
  • CAN test modes
  • Using simulation mode for debugging
  • Troubleshooting for CAN bus single node
  • Running case study 1 on the physical board
  • Analyzing the physical CAN bus traffic

Case Study 2

  • Understanding interrupt mechanism from TRM
  • Implementing TX/RX functions based on interrupt mechanism
  • Two ECUs communicating together
  • Trying on physical board
  • Figuring out different issues on physical CAN bus

Case Study 3

  • Linux networking
  • SocketCAN concept
  • Kernel add CAN support
  • CAN utilities
  • CAN socket:
    • Reading a frame
    • Setting up a filter
    • Sending a frame

I hope you Enjoy the course. For more knowledge in Embedded Systems, My Master C/Embedded C for embedded system For more information about CAN Protocol 



Keroles Shenouda holds a bachelor’s degree in electronics and communication engineering development worked in embedded system field since 2013.

He taught a lot of Engineers in different Embedded System Fields ( programming languages, microcontroller, embedded Linux and AUTOSAR )

published a round 10 papers in multinational conferences (ISCAS2018, DEVCON and DAC, ..etc)

for more info:

learn-in-depth .com



  • strong knowledge in MCU fundamentals, interfacing and embedded C programming

Target audiences

  • Senior Embedded System Engineer
  • Computer Engineer
  • Communication and electronics engineer
  • Mechatronics engineer
  • Computer Science
Select your currency
USD United States (US) dollar