How SPI & I2C Work - Communication Protocols | Embedded Systems Explained

preview_player
Показать описание
In part of my Embedded Systems Explained series I'll be explaining the fundamentals of SPI & I2C and telling you how to experiment with them at home.

0:00 Introduction
0:17 Why do we need SPI & I2C?
1:37 SPI
5:09 I2C
8:41 How to experiment?
9:30 Outro

My name is Fabi and I am an Engineer and Tech Enthusiast from Romania. On my YouTube channel I do thorough reviews of gadgets, showcase my programming projects and show you which cars I am driving.

This is part 2 of my Embedded Systems Explained series!

Why do we need SPI and I2C though when we already have UART? Well, there's 2 main drawbacks to this serial communication. First of all, it's asynchronous, secondly, UART is meant for only two devices, whereas many times, multiple devices need to be connected to a system through the same communication protocol.

SPI or Serial Peripheral Interface is a communication protocol which allows for data transfer between multiple systems. The SPI protocol allows for only one controller (or main device) on the SPI bus.

I2C or Inter-Integrated Circuit allows for communication between multiple systems, with the difference being that the I2C protocol also allows for more than one controller on the I2C bus.
Рекомендации по теме
Комментарии
Автор

What subject in the field of Embedded Systems are you interested in learning about next? :)

TheFabytm
Автор

Very very helpful as I cram for a job interview to remind me of stuff I haven't used in many years. Very much appreciated.

johnbabrick
Автор

Great job dude.
Best series for embedded systems beginners.
Keep up the good work 👏

ultimateaquatics
Автор

Very clear and informative. Thanks so much for this video!

i-chunhuang
Автор

Thanks for the video! Really good overview of the two protocols.

BigSlaaneshFan
Автор

Bro explanation superb but we want practical approach please make a video how spi, i2c, Uart works with different types of devices using hardware that will be really helpful

tomlathom
Автор

These are very high quality and high value velocity videos and I very much appreciate the value offering.

One suggestion to make them even better would be to start with a real world concrete example of how the technology being discussed is actually used. e.g. Where is SPI used?
Why does it solve this problem better than other alternatives?
Where is I2C used?
Why does it solve this problem better than other alternatives?

Going from the concrete to the abstract is very helpful for orienting a discussion.
Even more helpful would be telling the story of why the technology was actually invented.
i.e. What problem was the inventor trying to solve?
Why were the other tools available at the time inadequate?
How did this technology meet the need better than the alternatives?

This information can be helpful not only in orienting for understanding, but also for motivating the student because it will be easier to imagine situations in which having this skill would be useful.
This, in turn, would make it easier to choose a project to explore the development of the skill.

AlexRyan
Автор

Great video! Been struggling to understand these two interface types and I think this helped a lot

grantscott
Автор

Good video. However, I am still sticking to master-slave notations

rostkgb
Автор

Hello, thank you so much for the video ! It is great help for a beginner in Embedded System to clearly understand what is going on.
I just have a question regarding the explanation you're giving at 3:00 : "when a controller send data to a peripheral, the peripheral needs to send data back at the same time" but you quickly follow by saying that the controller can send a little more clock signal in order to let the peripheral gather data and send them back.
So do the peripheral needs to send data at the same or not ?
I'm a little confused....

sho-xy
Автор

Great explanation!!! When are you uploading videos of practical working of these?

MeghanaRPrakash
Автор

It would have been nice if you had also covered device addressing for each bus type, otherwise you did a great job!

Monotoba
Автор

great video, I'm following this serie. Good job

deniselectron
Автор

Awesome video!! Thank you very much for doing this! BTW, I would like to propose the Knight/Padawan nomenclature

Cusdublus
Автор

Please explain CAN, LIN, and flexray protocol

ViratKohli_Lovers
Автор

Wait, they changed names why? Not sure what politics has to do with SPI and I2C?

jh-lpcg
Автор

Excellent video! and
simply explained

emmanuelnoguez
Автор

my two devices are not working simultaneously with spi.
when i connect miso to both devices it doesn't work.
any help??

specialrelativity
Автор

@TheFabytm. Thanks for the detailed explanation. Please could you make a video on AXI interface?

vanessaingrid
Автор

Do you know to use code composer studio? Please show a demo on Adc using graphs in code composer studio. If possible please show a demo on Fft of a signal in code composer atudio

nirupamajana
join shbcf.ru