What is SPI? Basics for beginners!

Sdílet
Vložit
  • čas přidán 3. 08. 2024
  • NEW! Buy my book, the best FPGA book for beginners: nandland.com/book-getting-sta...
    SPI stands for Serial Peripheral Interface. It's a very common communication interface used on Microcontrollers and FPGAs. This video shows the basics of SPI including Clk, MOSI, MISO, and SS lines, and how each of them function.
    Support my Patreon to keep me making great content! / nandland
    Also get yourself an FPGA board, The Go Board, so you can try this out with a real FPGA!
    www.nandland.com/goboard/intr...
  • Věda a technologie

Komentáře • 82

  • @Intothefirenow
    @Intothefirenow Před 2 lety +22

    MISO happy that you posted these chill informational videos. I like learning the basics through chill videos like these because it's not as intimidating as an in-depth textbook.

  • @geoffwade8144
    @geoffwade8144 Před 4 lety +2

    You’re very smart, not because of what you know, but how clearly you can explain it. Thank you.

  • @pilover314159
    @pilover314159 Před 4 lety +7

    To you an all those who make educational content on youtube. Thank you for changing my life :)

  • @joshhaughton1893
    @joshhaughton1893 Před 2 lety +1

    Excellent video. Covers a lot of high level information on the different types as well as pros and cons of each. Much appreciated.

  • @abdelrahmanyasser5720
    @abdelrahmanyasser5720 Před 4 lety +2

    it's very cool that you mention other interface protocols in the video
    really great the comparing between them ... best video ever about this topic

  • @JacklapottTv
    @JacklapottTv Před 5 lety +9

    Yessssss, i was about to ask for a video about spi :D

  • @10e999
    @10e999 Před 5 lety +15

    excellent.
    Of course, great SPI tutorial already exist on CZcams, but they are targeted at firmware engineer, not FPGA engineer.
    I'm looking forward for the next episode.

  • @djredrover
    @djredrover Před 2 lety +5

    Hey man, these tutorials are absolutely awesome as I am preparing for my ASIC SoC interview. I appreciate you. Btw, you should put a limiter or a a heavy compressor on your audio channel to get rid of that reoccurring tick sound throughout your videos. Cheers.

  • @parthmaheshwari3673
    @parthmaheshwari3673 Před rokem

    Excellent, so clear and concise!

  • @MuhammadShahzad-dx5je
    @MuhammadShahzad-dx5je Před 3 lety

    Thank you so much for such nice and simple explanation sir!

  • @TurbineResearch
    @TurbineResearch Před 3 lety +1

    Thank you . Very clean explanation

  • @724albert
    @724albert Před 4 lety

    Thank you, very well explained

  • @mohameda.belakhoua9662

    Your videos are great. Thank you!

  • @fpgamachine
    @fpgamachine Před 2 lety

    Excellent video, thanks!

  • @carriersignal
    @carriersignal Před 2 lety

    Thank you so much. This is a great video!

  • @webtrafficking
    @webtrafficking Před 2 lety

    pretty clear concept, thanks~

  • @paulmichael3694
    @paulmichael3694 Před 10 měsíci

    Great video! Thank you!

  • @khalidaboushhiwa
    @khalidaboushhiwa Před rokem

    Thanks very much! clear and concise

  • @learningexploration4608

    Super, good presentation

  • @MrDangerousBOB
    @MrDangerousBOB Před rokem

    Thanks for the explaination! Just started as an embedded engineer and needed a quick refresher after reading our projects whitepaper (;

  • @nikhilbagde8354
    @nikhilbagde8354 Před 2 lety

    love your content brooo thanks soo much it is will always help

  • @julles79
    @julles79 Před 4 lety

    Great explanation, please do one about I3C. Thanks!

  • @ahmadabdel9114
    @ahmadabdel9114 Před rokem

    thank you for the video.

  • @Jarrod_C
    @Jarrod_C Před 4 lety

    Thank you! I wish you had explained those 4 variants more into detail. I havent watched your future videos so maybe you explain it later.

  • @freeelectron8261
    @freeelectron8261 Před 3 lety +3

    You sir have a gift for clear explanation! Can you write an FPGA eBook and do more advanced FPGA tutorials using different Pmod boards. Thanks for all your hard work creating these tutorials.

  • @CMBoydon
    @CMBoydon Před 5 lety

    He is alive!

  • @erbkgupta8679
    @erbkgupta8679 Před 4 lety

    Love THis!

  • @bhavanisana2256
    @bhavanisana2256 Před 4 lety

    Nice video

  • @coolwinder
    @coolwinder Před 5 lety

    Keep up! :)

  • @josephc6308
    @josephc6308 Před 5 lety +1

    Good job. May I ask for a video about DDR

  • @BDCPT-amPhiHoang
    @BDCPT-amPhiHoang Před 4 lety

    Hi nandland, i think your video is great. But can you explain why SPI have to split into 4 modes, like why do they have CPOL, CPHA?

  • @sashac7757
    @sashac7757 Před 4 lety

    Thank you o=to much!! TT

  • @phillipneal8194
    @phillipneal8194 Před 5 lety

    Thanks for the explanation of SPI. Will you have code for sending and receiving and how to sort out the data sent and received ?

    • @Nandland
      @Nandland  Před 5 lety +1

      github.com/nandland. Check out spi-master repository. Working on the videos for that now. Subscribe to my patreon www.patreon.com/nandland to get early access!

  • @FridayHouseXYZ
    @FridayHouseXYZ Před 3 lety

    You had to yawn! Other then that, great vid! Very informative good sir. Explains many things I had questions about. Thank you.

  • @jiachenghao1074
    @jiachenghao1074 Před 3 lety

    how to configure the FPGA starting with qspi . Could you make a vedio to show where is the QSPI keycap,and how to find it in the board userguide. thank you.

  • @MaikonNascimentoEng
    @MaikonNascimentoEng Před 5 lety

    Have u done anything with dynamic quantization ?

  • @lakshminarayanaaithal1081

    Please do more videos on these type of interface like usart rs232

    • @Nandland
      @Nandland  Před 5 lety

      I did UART! czcams.com/video/Vh0KdoXaVgU/video.html I will also do I2C eventually...

  • @zey2012
    @zey2012 Před 3 lety

    You should teach at our uni

  • @skylarutd
    @skylarutd Před 3 lety

    Hey, pls can you tell me what happens if we go for multi master multi slave setup

  • @jumbo999614
    @jumbo999614 Před 4 lety

    Hi, I'm new to Arduino. I'm really confused about the different between hardware and software SPI.
    Does hardware SPI mean physically plug jumper wire on pin like mosi,miso, clk, clk, sda, etc. and other ends to Arduino's Input/output pins and no need to define them in the code?
    And software SPI is just define non existing hardware pins on the code?
    Right now I'm trying to get my TFT's built-in SD card to work. Both have pins labeled CLK/SCK and CS. How do you wire them? Are those shareable or something? Please help.

  • @braceyourselvesfortruth2492

    MISO horrrny! I love you long clock time!

  • @ranjanpal7217
    @ranjanpal7217 Před 3 lety

    Amazing Explanation. I have a query on this topic. In SPI there is no Acknowledgement bit. Can you please elaborate on this. Specifically does it mean that with SPI communication protocol our micro-controller (Raspberry Pi) wont be able to receive data at fixed sampling rate from the ADC (Ex. ADS1015)?

    • @Nandland
      @Nandland  Před 3 lety

      Sure it can. Have the RPi poll the ADC at whatever frequency you need. DMA is a good option for this if RPi supports over SPI

    • @ranjanpal7217
      @ranjanpal7217 Před 3 lety

      @@Nandland Thanks a lot the clarification..could plz suggest some links to understand how can I poll my Raspberry Pi with ADC?

  • @jumbo999614
    @jumbo999614 Před 4 lety

    I have TFT LCD and SD card reader. Both use MOSI, MISI, and SCK. But arduino board has 1 pin for each. Can i share them between TFT & SD Card Reader by using column rail on breadboard?

    • @Nandland
      @Nandland  Před 4 lety

      Maybe. You need to have unique Chip-Selects, also the TFT LCD and SD Card reader need to both communicate using the same SPI Mode.

  • @fmm5322
    @fmm5322 Před 7 měsíci

    I want to read the contents of the register in spi state machine.. I want to send the first address of the register. And read the specified no of bits on miso line.. How to do that in verilog

  • @naveenbodige4685
    @naveenbodige4685 Před 4 lety

    sir can you please send the simple verilog code for SPI

  • @anildhanawade9896
    @anildhanawade9896 Před 4 lety

    Why do we have a 4 modes in the SPI communication?

  • @jianhaowu7368
    @jianhaowu7368 Před 2 lety +1

    4:54 a black box will kill it

  • @erbilshops3029
    @erbilshops3029 Před 2 lety

    But can i send two functions from master to two slave and make them work together ?

  • @mustafaemreyilmaz4180
    @mustafaemreyilmaz4180 Před 5 lety

    it is gonna be a little irrelevant but can we sample at both rising and falling edge ?

    • @Nandland
      @Nandland  Před 5 lety

      That's not built into any SPI modes. So what you would be doing is sampling just as the data was changing, which would cause metastability issues. Not recommended!

  • @i_am_ironman3380
    @i_am_ironman3380 Před 9 měsíci

    Master Of Puppets lyrics © Creeping Death Music
    End of passion play, crumbling away
    I'm your source of self-destruction
    Veins that pump with fear, sucking darkest clear
    Leading on your death's construction
    Taste me, you will see
    More is all you need
    Dedicated to
    How I'm killing you
    Come crawling faster
    Obey your master
    Your life burns faster
    Obey your master, master
    Master of puppets, I'm pulling your strings
    Twisting your mind and smashing your dreams
    Blinded by me, you can't see a thing
    Just call my name, 'cause I'll hear you scream
    Master, master
    Just call my name, 'cause I'll hear you scream
    Master, master
    Needlework the way, never you betray
    Life of death becoming clearer
    Pain monopoly, ritual misery
    Chop your breakfast on a mirror
    Taste me, you will see
    More is all you need
    Dedicated to
    How I'm killing you
    Come crawling faster
    Obey your master
    Your life burns faster
    Obey your master, master
    Master of puppets, I'm pulling your strings
    Twisting your mind and smashing your dreams
    Blinded by me, you can't see a thing
    Just call my name, 'cause I'll hear you scream
    Master, master
    Just call my name, 'cause I'll hear you scream
    Master, master (master)
    Where's the dreams that I've been after?
    (Master, master)
    You promised only lies
    (Laughter, laughter)
    All I hear or see is laughter
    (Laughter, laughter)
    Laughing at my cries
    Fix me!
    Hell is worth all that, natural habitat
    Just a rhyme without a reason
    Never-ending maze, drift on numbered days
    Now your life is out of season
    I will occupy
    I will help you die
    I will run through you
    Now I rule you too
    Come crawling faster
    Obey your master
    Your life burns faster
    Obey your master, master
    Master of puppets, I'm pulling your strings
    Twisting your mind and smashing your dreams
    Blinded by me, you can't see a thing
    Just call my name, 'cause I'll hear you scream
    Master, master
    Just call my name, 'cause I'll hear you scream
    Master, master
    Source: Musixmatch
    Songwriters: James Alan Hetfield / Lars Ulrich / Kirk L. Hammett / Clifford Lee Burton
    Master Of Puppets lyrics © Creeping Death Music

  • @Jonathan-ru9zl
    @Jonathan-ru9zl Před rokem

    Hi! How SPI master send to slave data request?

  • @Robbinsffxi
    @Robbinsffxi Před 3 lety

    Question:
    Do the slaves ignore the clock signal when "Slave Select" is not triggered?

  • @bun_zees3245
    @bun_zees3245 Před 3 lety

    What about NRF24l01 , it works on SPI , and has a range of upto 1 km

    • @mattn.8941
      @mattn.8941 Před 3 lety

      What about it? I assume you're referring to the distances he mentioned. He meant the protocol isn't great for transmitting data over wires longer than one meter. Data being transmitted over RF has its own limits.

  • @cambo513
    @cambo513 Před 3 lety +1

    hallo meneer mestdagh

  • @abutaymiyyahlectures
    @abutaymiyyahlectures Před 3 lety

    anyone knows of any spi lcd interface explanation online, either in video or in text is fine

  • @BBRR442
    @BBRR442 Před 3 lety

    this guys eyes are intense

  • @SiavashRaveh
    @SiavashRaveh Před 4 lety

    Hi, you have sold this tutorial on udemy

    • @stevealemdar9052
      @stevealemdar9052 Před 4 lety

      is there any free lesson on udemy about digital design

  • @eminakgun4301
    @eminakgun4301 Před 5 lety

    Do what is I2C pls

  • @babatundetaiwo2817
    @babatundetaiwo2817 Před 2 lety

    Can I send more than 8 bits on SPI?

    • @Nandland
      @Nandland  Před 2 lety

      Sure thing. Just send multiple bytes.

  • @reemagulmuhammad8521
    @reemagulmuhammad8521 Před 2 lety

    1. Translate the logic to find the position of the first high in an 8 bit data item into program
    (Assembly or C language). The data must be read using interrupt driven SPI protocol. The
    data should be scanned from D7 to D0. Give the results for XX where XX is your Roll No.
    Table.1 SPI Registers and their bit allocation
    The vector address for SPI ISR is at 0018 Hex address of ROM Location whereas its Vector Name
    in WinAVR is SPI_STC_vect
    Help please.

  • @andrew_kopp
    @andrew_kopp Před rokem

    Awesome tutorial! You should update the video to also include the new naming convention for SPI pins (SDI/SDO & COPI/CIPO)

    • @marco43974
      @marco43974 Před rokem

      This "new" naming convention unofficial and confusing and should not be used (and will not). Let's keep politics away from SPI.

  • @poppatang4216
    @poppatang4216 Před 2 lety

    Sidebar: your favorite alternative to master/slave terminology? I like Captain/crew. Saying slave so often just gives me the heebie jeebies

    • @eldorado3523
      @eldorado3523 Před rokem

      that's because of the political and social hell your country is in. It conditioned you like pavlov's dog. Words have or lack power depending on the context, it's not the word that should be powerful in of itself, and this is something people are too dumb to realize, instead trying to cushion themselves from everything, which just leads to more sensitivities.

  • @johnfrancis923
    @johnfrancis923 Před 4 lety

    great explanation. but not explaining the modes.

  • @hekto_pyc9998
    @hekto_pyc9998 Před 5 lety

    С протоколами я знаком, а вот с плис нет. 👍🇷🇺

  • @donepearce
    @donepearce Před 2 lety

    The MISO MOSI nomenclature is OK, but not perfect. I would rather have seen MOSI SOMI. That keeps the transmitting device first and the receiving device second.

  • @BBRR442
    @BBRR442 Před 3 lety

    master and slave is racist

    • @marco43974
      @marco43974 Před rokem

      In relation to people, devices on the SPI bus do not mind it.