I'm enjoying the video. I have a question about I2C communication. If multiple slaves are connected to a master and I want to communicate with one of them, how does the master identify each slave? Is the SCL signal the line that sends the address in addition to the CLK signal?
Master sends the address of the slaves it wishes to communicate and the slaves with the matching address will respond by sending ACK. Rest of the slaves won't respond as their address is different.
SDA and SCL lines are open drain by default means the known state is LOW or left open when there is no pull up resistor connected. So pull up resistor is connected internally (but it's not default to I2C chip) so that I2C chip will be able to make it's line high. So high is not default state because pull up resistor is never default to i2C. Please let me know if this is the query you had or something else. I am ready to learn if i have done mistake.
@@ComponentByte Yes, what you have mentioned is correct. In open drain configuration, only 2 states possible: Gnd or Floating. Hence we connect pull-up resistor either internally or externally. There is one more reason that SCL and SDA both followed Wired-AND logic, & in AND gate, we use the pull-up resistor to remove the floating state.
If one slave is trying to access I2C bus by pulling the signal line to high and another slave is trying to access I2C bus by pulling the signal line to low then there will be a confusion regarding how to access the I2C bus that is whether to pull it down or pull it up and to remove this confusion we have open drain concept in I2C protocol where slaves pull the signal line low to access the bus thus I2C lines are open drain
I2C bus has 2 wire, SDA and SCL. By default these wires are at 0 volt or grounded when it's attached with slaves. But for transferring data from master or received from slaves few conditions need to be full filled like master sends START signal. But condition for START signal is SCL = High and signal on SDA line must change from 1 to 0. But this condition can't be met as SDA is always 0 so it can't change from 1 to 0 .so to make it possible we use a Resistor to pull the signal on SDA line HIGH. Without this Resistor SDA line can't produce HIGH signal means we can't send 1 over SDA line. This is one of the reason
In I2C frame structure master sends slave register address and after that it sends data to slave .If master wants to send another data frame, in which address location the data will be stored? is it automatically go to next address location or else again master will send register address location?
Code is available in the internet. If someone understands how to design FSM logic for it then they will be able to write code for it. It was not possible for me to explain the logic and code. This is a basic tutorial about I2C working
I really appreciate that you asked for my content .sorry to say you that Sharing the content prepared by me is not possible (even though I really wanted to share) due to the fear that the content may be available on internet by someone. Last time I shared one of my content with someone and unfortunately I found the same content on one file sharing site.since then I am not sharing with any one due to the fear of copyright. Hope you understand. Thanks.
@@ComponentByte I mean I want to pursue my career in VLSi domain can you suggest me the best online courses or websites that will helpin in projects or learning new things in VLSI aspect.
nice explain sir
good content bro
Thanks sir ,we will expect more like this video's
Welcome. Happy learning.
one of the good playlist for basics
Hope it helps you to learn the basics. Thank you.
Tqsm sir... your really generous in sharing your valuable knowledges
Welcome. Happy learning.
Thank you sir
I'm enjoying the video. I have a question about I2C communication. If multiple slaves are connected to a master and I want to communicate with one of them, how does the master identify each slave? Is the SCL signal the line that sends the address in addition to the CLK signal?
Master sends the address of the slaves it wishes to communicate and the slaves with the matching address will respond by sending ACK. Rest of the slaves won't respond as their address is different.
There is a mistake at 18:38. The SCL & SDA line are high by default due to Pull-up resistor.
SDA and SCL lines are open drain by default means the known state is LOW or left open when there is no pull up resistor connected.
So pull up resistor is connected internally (but it's not default to I2C chip) so that I2C chip will be able to make it's line high. So high is not default state because pull up resistor is never default to i2C.
Please let me know if this is the query you had or something else. I am ready to learn if i have done mistake.
@@ComponentByte Yes, what you have mentioned is correct. In open drain configuration, only 2 states possible: Gnd or Floating. Hence we connect pull-up resistor
either internally or externally.
There is one more reason that SCL and SDA both followed Wired-AND logic, & in AND gate, we use the pull-up resistor to remove the floating state.
Why i2c lines are open drain
If one slave is trying to access I2C bus by pulling the signal line to high and another slave is trying to access I2C bus by pulling the signal line to low then there will be a confusion regarding how to access the I2C bus that is whether to pull it down or pull it up and to remove this confusion we have open drain concept in I2C protocol where slaves pull the signal line low to access the bus thus I2C lines are open drain
Sir can you please put that i2c implementation video. It would be very helpful.
You mean real hardware interfacing code. I will upload it very soon.Thanks.
Sir very informative..kindly make one verification environment using UART
It will be bit difficult for me to make videos on verification without proper tools.
Why pull up resistor is required not understood sir please could you explain me clearly
I2C bus has 2 wire, SDA and SCL. By default these wires are at 0 volt or grounded when it's attached with slaves.
But for transferring data from master or received from slaves few conditions need to be full filled like master sends START signal. But condition for START signal is SCL = High and signal on SDA line must change from 1 to 0. But this condition can't be met as SDA is always 0 so it can't change from 1 to 0 .so to make it possible we use a Resistor to pull the signal on SDA line HIGH.
Without this Resistor SDA line can't produce HIGH signal means we can't send 1 over SDA line.
This is one of the reason
In I2C frame structure master sends slave register address and after that it sends data to slave .If master wants to send another data frame, in which address location the data will be stored? is it automatically go to next address location or else again master will send register address location?
You can watch IIC EEPROM interfacing tutorial which explains Multiple read and write condition.
how the orbitaration logic will be implimented
?
Code is available in the internet. If someone understands how to design FSM logic for it then they will be able to write code for it. It was not possible for me to explain the logic and code. This is a basic tutorial about I2C working
SIR PLEASE PROVIDE US THIS PDF WHICH IS USE BY YOU IN ALL VIDEOS.
I really appreciate that you asked for my content .sorry to say you that Sharing the content prepared by me is not possible (even though I really wanted to share) due to the fear that the content may be available on internet by someone. Last time I shared one of my content with someone and unfortunately I found the same content on one file sharing site.since then I am not sharing with any one due to the fear of copyright. Hope you understand.
Thanks.
sir,kindly tell us the sources for these interfaces??
Sources means ? Sorry, couldn't get your query.
@@ComponentByte I mean I want to pursue my career in VLSi domain can you suggest me the best online courses or websites that will helpin in projects or learning new things in VLSI aspect.
@@ComponentByte best websites for projects
I think there is no such websites. Based on your requirements only you can search those information on internet and learn from it.