What is SPI? Basics for beginners!

Ғылым және технология

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...

Пікірлер: 82

  • @Intothefirenow
    @Intothefirenow2 жыл бұрын

    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.

  • @pilover314159
    @pilover3141593 жыл бұрын

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

  • @geoffwade8144
    @geoffwade81443 жыл бұрын

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

  • @joshhaughton1893
    @joshhaughton18932 жыл бұрын

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

  • @abdelrahmanyasser5720
    @abdelrahmanyasser57204 жыл бұрын

    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

  • @djredrover
    @djredrover2 жыл бұрын

    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.

  • @JacklapottTv
    @JacklapottTv5 жыл бұрын

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

  • @MuhammadShahzad-dx5je
    @MuhammadShahzad-dx5je3 жыл бұрын

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

  • @10e999
    @10e9995 жыл бұрын

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

  • @parthmaheshwari3673
    @parthmaheshwari367311 ай бұрын

    Excellent, so clear and concise!

  • @TurbineResearch
    @TurbineResearch3 жыл бұрын

    Thank you . Very clean explanation

  • @mohameda.belakhoua9662
    @mohameda.belakhoua96622 жыл бұрын

    Your videos are great. Thank you!

  • @724albert
    @724albert4 жыл бұрын

    Thank you, very well explained

  • @fpgamachine
    @fpgamachine2 жыл бұрын

    Excellent video, thanks!

  • @carriersignal
    @carriersignal2 жыл бұрын

    Thank you so much. This is a great video!

  • @MrDangerousBOB
    @MrDangerousBOB Жыл бұрын

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

  • @julles79
    @julles794 жыл бұрын

    Great explanation, please do one about I3C. Thanks!

  • @khalidaboushhiwa
    @khalidaboushhiwa Жыл бұрын

    Thanks very much! clear and concise

  • @webtrafficking
    @webtrafficking2 жыл бұрын

    pretty clear concept, thanks~

  • @nikhilbagde8354
    @nikhilbagde83542 жыл бұрын

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

  • @paulmichael3694
    @paulmichael36949 ай бұрын

    Great video! Thank you!

  • @learningexploration4608
    @learningexploration46084 жыл бұрын

    Super, good presentation

  • @freeelectron8261
    @freeelectron82613 жыл бұрын

    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.

  • @Jarrod_C
    @Jarrod_C4 жыл бұрын

    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.

  • @ahmadabdel9114
    @ahmadabdel9114 Жыл бұрын

    thank you for the video.

  • @CMBoydon
    @CMBoydon5 жыл бұрын

    He is alive!

  • @josephc6308
    @josephc63085 жыл бұрын

    Good job. May I ask for a video about DDR

  • @erbkgupta8679
    @erbkgupta86794 жыл бұрын

    Love THis!

  • @phillipneal8194
    @phillipneal81945 жыл бұрын

    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

    5 жыл бұрын

    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!

  • @BDCPT-amPhiHoang
    @BDCPT-amPhiHoang4 жыл бұрын

    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?

  • @jiachenghao1074
    @jiachenghao10743 жыл бұрын

    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.

  • @bhavanisana2256
    @bhavanisana22564 жыл бұрын

    Nice video

  • @MaikonNascimentoEng
    @MaikonNascimentoEng5 жыл бұрын

    Have u done anything with dynamic quantization ?

  • @jumbo999614
    @jumbo9996144 жыл бұрын

    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.

  • @skylarutd
    @skylarutd3 жыл бұрын

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

  • @fmm5322
    @fmm53226 ай бұрын

    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

  • @lakshminarayanaaithal1081
    @lakshminarayanaaithal10815 жыл бұрын

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

  • @Nandland

    @Nandland

    5 жыл бұрын

    I did UART! kzread.info/dash/bejne/iJxkrcaoiMS8l7g.html I will also do I2C eventually...

  • @coolwinder
    @coolwinder5 жыл бұрын

    Keep up! :)

  • @ranjanpal7217
    @ranjanpal72173 жыл бұрын

    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

    3 жыл бұрын

    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

    3 жыл бұрын

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

  • @anildhanawade9896
    @anildhanawade98964 жыл бұрын

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

  • @erbilshops3029
    @erbilshops30292 жыл бұрын

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

  • @naveenbodige4685
    @naveenbodige46854 жыл бұрын

    sir can you please send the simple verilog code for SPI

  • @jumbo999614
    @jumbo9996144 жыл бұрын

    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

    4 жыл бұрын

    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.

  • @FridayParanormal
    @FridayParanormal3 жыл бұрын

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

  • @braceyourselvesfortruth2492
    @braceyourselvesfortruth24922 жыл бұрын

    MISO horrrny! I love you long clock time!

  • @sashac7757
    @sashac77573 жыл бұрын

    Thank you o=to much!! TT

  • @Robbinsffxi
    @Robbinsffxi3 жыл бұрын

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

  • @Jonathan-ru9zl
    @Jonathan-ru9zl Жыл бұрын

    Hi! How SPI master send to slave data request?

  • @zey2012
    @zey20123 жыл бұрын

    You should teach at our uni

  • @mustafaemreyilmaz4180
    @mustafaemreyilmaz41805 жыл бұрын

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

  • @Nandland

    @Nandland

    5 жыл бұрын

    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!

  • @bun_zees3245
    @bun_zees32453 жыл бұрын

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

  • @mattn.8941

    @mattn.8941

    3 жыл бұрын

    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.

  • @abutaymiyyahlectures
    @abutaymiyyahlectures3 жыл бұрын

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

  • @babatundetaiwo2817
    @babatundetaiwo28172 жыл бұрын

    Can I send more than 8 bits on SPI?

  • @Nandland

    @Nandland

    2 жыл бұрын

    Sure thing. Just send multiple bytes.

  • @jianhaowu7368
    @jianhaowu7368 Жыл бұрын

    4:54 a black box will kill it

  • @i_am_ironman3380
    @i_am_ironman33807 ай бұрын

    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

  • @cambo513
    @cambo5133 жыл бұрын

    hallo meneer mestdagh

  • @robbethorrez6625

    @robbethorrez6625

    3 жыл бұрын

    Dag Benji

  • @eminakgun4301
    @eminakgun43015 жыл бұрын

    Do what is I2C pls

  • @BBRR442
    @BBRR4423 жыл бұрын

    this guys eyes are intense

  • @SiavashRaveh
    @SiavashRaveh4 жыл бұрын

    Hi, you have sold this tutorial on udemy

  • @stevealemdar9052

    @stevealemdar9052

    4 жыл бұрын

    is there any free lesson on udemy about digital design

  • @reemagulmuhammad8521
    @reemagulmuhammad85212 жыл бұрын

    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 Жыл бұрын

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

  • @marco43974

    @marco43974

    Жыл бұрын

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

  • @poppatang4216
    @poppatang42162 жыл бұрын

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

  • @eldorado3523

    @eldorado3523

    Жыл бұрын

    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
    @johnfrancis9234 жыл бұрын

    great explanation. but not explaining the modes.

  • @hekto_pyc9998
    @hekto_pyc99985 жыл бұрын

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

  • @donepearce
    @donepearce2 жыл бұрын

    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
    @BBRR4423 жыл бұрын

    master and slave is racist

  • @marco43974

    @marco43974

    Жыл бұрын

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

Келесі