SPI Hardware & PCB Design - Phil's Lab

2024 ж. 22 Мам.
22 381 Рет қаралды

SPI implementation tips (pull-ups, termination, schematic and PCB design). PCBs by PCBWay www.pcbway.com
[SUPPORT]
Hardware design courses: phils-lab-shop.fedevel.education
Course content: www.phils-lab.net/courses
Patreon: / phils94
Free trial of Altium Designer: www.altium.com/yt/philslab
[GIT]
www.github.com/pms67
[SOCIAL]
/ philslabyt
[LINKS]
PCB Arts Meet-Up: www.eventbrite.de/e/pcb-arts-...
SPI Basics: www.circuitbasics.com/basics-...
www.analog.com/en/resources/a...
I2C Hardware & PCB Design Video: • I2C Hardware & PCB Des...
[TIMESTAMPS]
00:00 Introduction
02:00 PCBWay
02:41 Embedded World '24
03:30 SPI Basics
10:28 Pull-Up Resistors
13:50 Termination, Impedance Control, Delay Matching
18:27 Schematic Tips
21:18 PCB Design Tips
23:07 Example: Point-to-Point
25:42 Example: Multi-Subnode
33:01 Outro

Пікірлер
  • - Given your feedback (with which I agree), future videos will continue using MOSI/MISO. Regarding COPI/CIPO vs MOSI/MISO vs SDO/SDI, I typically am used to (and I believe most people are) MOSI/MISO naming conventions. While researching and looking for content for this video, I came across COPI/CIPO, which is apparently the preferred naming convention (OSHWA, for example). Wasn't sure what to use for this video, and have read your comments (some for, some against). I should have gone into more detail on the naming conventions in the video - sorry about that! - Correction: daisy-chain (single NCS, series SDO/SDI from controller through peripherals) and multi-subnode (multiple NCSs). More info here: www.analog.com/en/resources/analog-dialogue/articles/introduction-to-spi-interface.html - Embedded World '24 - make sure to stop by the Fedevel booth 5-316, 9-11th April in Nürnberg. Robert Feranec and I are looking forward to seeing you there! (Also, make sure to grab a free Phil's Lab PCB coaster while you're there! :)) - PCB Arts Meet-Up: www.eventbrite.de/e/pcb-arts-tech-meetup-tickets-826749609337

    @PhilsLab@PhilsLabАй бұрын
    • Things are changing to be more thoughtful about the use of the offensive words master and slave. Thus the change in terminology in recent years. Especially after the Floyd killing in the USA and more awareness of systemic racism in our culture and language. Same goes for the head branch in version control changing from master to main.

      @rallymax2@rallymax2Ай бұрын
    • @@rallymax2 Does changing of the name changes meaning? The entire world trying to battle evil by banning word "evil", which itself is a pretty good indicator for the direction world is heading.

      @n3r0z3r0@n3r0z3r0Ай бұрын
    • ​@@rallymax2 The point here is: Changing the names from MISO/MOSI to CIPO/COPI (the OSHWA changed this too, now is POCI and PICO, even worse to "convert", because one of the words can be "offensively" is Polish), will do not solve any racism or similar problem. Master and Slave will has different meanings depending on the context. In our case, electric engineering, represents an hierarchy between devices in a communication role. And this changing, will cause real impacts, but negatively, because, a many of documentations, books, and etc, uses the traditional naming, so, this will cause many confusions into old and new engineers, causing mistakes and errors on projects, because the confusion between the naming's, and trying to "convert" MISO to COPI, and etc. In the case of git, changing from "master" to "main", was good, makes more sense. But, in the SPI? Just some people judge "Offensively", man, come on, this will not solve any problem, I admit, the people that decide to change this, has good intention, but, in Brazil we have a speak for this: "Hell is full of good intentions".

      @ouroboros.education@ouroboros.educationАй бұрын
    • Also, at 6:23, your slide shows both sensor 1 & 2 as peripheral 1. Not a big deal, I figured if we're mentioning corrections...

      @stevenwatson1547@stevenwatson1547Ай бұрын
    • Good. Master and Slave are universally understood, across languages and countries.

      @PabloB740@PabloB7409 күн бұрын
  • Thank you so much for providing high quality content that is thoroughly detailed for free. Your videos have helped me out a ton in learning electronics and pcb design :).

    @NewedEngine@NewedEngineАй бұрын
    • I'm glad to hear that, thank you!

      @PhilsLab@PhilsLabАй бұрын
  • The entire my life I had a single most important question, - WHY everyone spends so much time to invent new names for pins for standard interface, - sck-di-do-cs / scl-mosi-miso-nss/, ... and now THIS, - CLK-COPI-CIPO-NCS? Just why?

    @n3r0z3r0@n3r0z3r0Ай бұрын
    • Because snowflakes. Apparently there were people who didn't like the terms 'slave' and 'master', even though the context was correct 🤷‍♂️

      @msmith2961@msmith2961Ай бұрын
  • Finally overcame my burn out I commented on back on your DSP guitar pedal video, now I’m leading the design of a Flight Controller board for a 1U CubeSat at my school that is using SPI for some of its peripherals. Another perfectly timed upload ! Thanks for consistently uploading, always look forward to your notifications (:

    @Sanchees3@Sanchees3Ай бұрын
    • Awesome, I remember your comment - glad to hear that you have recovered from that. And congratulations on leading your design team, that sounds like a very cool project!

      @PhilsLab@PhilsLabАй бұрын
  • i am not an electronic, but i love listening to Phil

    @FortuneMineMe@FortuneMineMeАй бұрын
    • Thank you :)

      @PhilsLab@PhilsLabАй бұрын
  • Thank you so much for this. Currently designing a board that talks to ~12 SPI devices, and researching on this topic has been a headache. But I'm glad that I'm on the right track.

    @FranzSarmiento17@FranzSarmiento17Ай бұрын
  • Again a really nice Video - Thanks! Meself was playing around with SPI a few weeks ago. The term "mid-speed" is a high-speed for me since i was always using I2C. I got my 20MHz MCU (Atmega4809) to run 10MHz SPI clock and could feed a little 160x120 RGB display with it. For Beginners: I wired it up by glueing my SPI-Flash (Display Data for the RGB-LCD) to the board and connecting it with enamelled copper wire. Works fine even on that speed. Don't be afraid to use it! Thanks for teaching and encouraging the community to use this Bus

    @blackxiivexil8255@blackxiivexil8255Ай бұрын
  • great and very useful video as always from the maestro of pcb Philp . thanks for your efforts.

    @osamaalkassem@osamaalkassemАй бұрын
  • Always leading the way Phil. Thank you for another truly excellent upload.

    @lptf5441@lptf5441Ай бұрын
    • Thanks a lot!

      @PhilsLab@PhilsLabАй бұрын
  • Great video as always! I like the deep dives on serial protocols. I think one on CAN would be cool if that's one of your competencies.

    @markhofmeister702@markhofmeister702Ай бұрын
    • Thanks a lot, Mark - CAN is on the list of videos to make.

      @PhilsLab@PhilsLabАй бұрын
  • Perfect timing Phil. Currently designing a PCB with four SPI devices. Didn't think about pullup resistors on the CS lines, but will do now. Thank you for sharing your extensive knowledge. 😊

    @TYGAMatt@TYGAMattАй бұрын
    • Awesome, thanks, Matt - glad it's helpful!

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab Phil, most of your stuff is way over my head. I'm just a self taught hobbyist who reads a lot of datasheets, but it's gems like this that put the icing on the cake. Keep up the good work. Cheers. Matt.

      @TYGAMatt@TYGAMattАй бұрын
    • @@PhilsLab sorry to trouble you. In my PCB, without a bit of a reshuffle of components I'm struggling to get the pullup of one of the CS lines close to the peripheral. It's simple if close to the MCU pin. Is this a problem? If you say I should do a redesign then so be it but just wanted your opinion. No rush. Cheers. Matt

      @TYGAMatt@TYGAMattАй бұрын
    • ​@@TYGAMattclose to the peripheral is best but it shouldn't matter except if you are really push a very long cs line on a large pcb where it might cause minor problems.

      @michaelcummings7246@michaelcummings7246Ай бұрын
    • As Michael already commented, the CS line can be pretty much anywhere (within reason). I like to pop them next to the peripherals, as to me that is part of that group.

      @PhilsLab@PhilsLabАй бұрын
  • Great video! Hmm, I wanna spin up my own quadcopter fc when I get some free time, thanks for the inspiration

    @jt16omes@jt16omesАй бұрын
  • Phil you are doing a sensational job. Thank you very much for your effort. An important topic for me and I think for the followers would be CAN. Surely if you teach us this subject will be clear to all of us.

    @silvestrastancu1224@silvestrastancu1224Ай бұрын
    • Thank you, Silvestra! CAN is definitely on the list of videos to make this year.

      @PhilsLab@PhilsLabАй бұрын
  • Great video again! Would be amazing if you could do one on proper grounding of PCBs at some point. I am very much a beginner and proper ground planes, avoiding ground loops in digital circuits etc. are still driving me nuts.

    @yeahiiiable@yeahiiiableАй бұрын
  • And I love listening to your wisdom. :)

    @ami6packs@ami6packsАй бұрын
  • Great video as usual, keep up the good work. 👍

    @escott6509@escott6509Ай бұрын
    • Thank you!

      @PhilsLab@PhilsLabАй бұрын
  • great videos as always .thanks for every word

    @osamaalkassem@osamaalkassemАй бұрын
    • Thank you!

      @PhilsLab@PhilsLabАй бұрын
  • The videos get better and better topic-wise

    @konturgestalter@konturgestalterАй бұрын
    • Thank you!

      @PhilsLab@PhilsLabАй бұрын
  • Promise (fingers crossed) I fast forwarded through the Bumble-B parts 😁. Great video as always!

    @tadebaka@tadebakaАй бұрын
    • Haha I hope I didn't reveal too much :D

      @PhilsLab@PhilsLabАй бұрын
  • Great video as always! If you intend to do a video on the firmware end may I suggest you include a bit about using a microcontroller as an SPI peripheral? I've had a difficult time finding good material on how to do this properly but your content is always top notch.

    @oliverer3@oliverer3Ай бұрын
    • Thank you! I haven't really had a need for a MCU as a SPI peripheral, but maybe at some point in the future!

      @PhilsLab@PhilsLabАй бұрын
  • Thanks, Phil 👍

    @bob_mosavo@bob_mosavoАй бұрын
    • Thanks for watching :)

      @PhilsLab@PhilsLabАй бұрын
  • Love the content. Recently got your course on advanced hardware. Any future plans to go more into detail with the FPGA microblaze/zynq and doing software bring up?

    @Tagzmon@TagzmonАй бұрын
    • Thanks for signing up to the course! Yeah, I have a few FPGA/Microblaze/Zynq tutorials coming up this year :)

      @PhilsLab@PhilsLabАй бұрын
    • ​@@PhilsLab Best way to know if follow your KZhead page or other social media? I'm so down to take that course!

      @Tagzmon@TagzmonАй бұрын
  • Your PCB design has improved a lot from long time ago. It would be nice to watch a video with some suggestions and thoughts on what you care about when placing SMD components. For example: component alignments, spacing, groups; tracing main voltages; separating analog from digital signals, add vias next to GND pads like capacitors' Pads; and so on. This kind of content is not easy to find online, at least in one video that resumes it. I have some basic knowledge but i see a lot of room to improvement.

    @FixDaily@FixDailyАй бұрын
    • Thank you! I have a video on PCB aesthetics which goes over some of the essentials. Otherwise, it's quite difficult to convey that without showing a full design walkthrough (of which I have a few on my channel).

      @PhilsLab@PhilsLabАй бұрын
  • another great tutorial :)

    @perceptron9834@perceptron9834Ай бұрын
    • Thanks a lot! :)

      @PhilsLab@PhilsLabАй бұрын
  • is there a tutorial or GitHub repo or something for the first drone pcb? I would really love to see it, as I'm trying to design my own :)

    @jeffreydijkstra3391@jeffreydijkstra3391Ай бұрын
  • Hey Phil, what do you use to make the block diagrams for the slides?

    @lozano-dev@lozano-devАй бұрын
  • Nice video!

    @TheEngineeringExperienceYT@TheEngineeringExperienceYTАй бұрын
    • Thank you!

      @PhilsLab@PhilsLabАй бұрын
  • Fantastic!

    @youtubeviewer7077@youtubeviewer7077Ай бұрын
    • Thank you!

      @PhilsLab@PhilsLabАй бұрын
  • Great vid. It would have been good to cover the modes instead of skipping it. I have been tripped up when first working with SPI years ago. I heard some senior engineer on the amp hour got tripped up for weeks on some wrong mode. Of course the most basic logic analyser can be used to diagnose mode problems in minutes.

    @originalmianos@originalmianosАй бұрын
    • Thanks! Yes, I'm definitely planning on covering that for the SPI driver video. There I'll also go over clock, data width, etc. settings.

      @PhilsLab@PhilsLabАй бұрын
  • Hi Phil, great video.....I'm curious, why do you use the Tag Connect connector with the feet? I know it allows you to debug easily, but I use the model without the feet and the associated retainer on the other side to achieve the same result. This way I don't have to have the 4 holes for the feet, just the 6 pads and the three locating pins.

    @stuartlea1@stuartlea1Ай бұрын
    • Thanks, Stuart. Often times the PCB is in an assembly/enclosure which doesn't permit access to the other side of the PCB or there isn't enough space to fit in the retainer. Also, I don't want to have to fiddle around with a retainer and find it far easier to rely on the legs. I've found the retainer can come loose fairly easily. Lastly, unless I'm super constrained with board space, I don't see a reason not to use the legged version.

      @PhilsLab@PhilsLabАй бұрын
  • Daisy Chain - multiple periphery in series, single NCS

    @pupzemly1@pupzemly1Ай бұрын
    • You're right - I mixed up the terms.

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab Might be nice to talk about daisy chaining MOSI on first chip to MISO on second chip. I find this is very useful when using motor controllers like Trinamic or STM (L6470). All in all, great video Phil!

      @bobperet681@bobperet681Ай бұрын
  • As a newbie i learnt and liked from phil's lab.but now i got to do project with handling 10.1 inch 1080*600 tft display,,so, from your designs, which can i able to select the Hw and modify according to my display and GUI needs??or should i go for dual core h745?

    @Vishwahslifestyle@VishwahslifestyleАй бұрын
  • reeally like your videos Phil! how about a video explaining the CAN communicstion hardware and design along with some sensors..

    @alaeddinekh3716@alaeddinekh3716Ай бұрын
    • Thanks! CAN is definitely on the list.

      @PhilsLab@PhilsLabАй бұрын
  • Extraordinario video. Muchas gracias

    @argentinomacrifuevidaltamb3772@argentinomacrifuevidaltamb3772Ай бұрын
    • Thank you!

      @PhilsLab@PhilsLabАй бұрын
  • Another great video! Your channel has been a godsend for the tasks I've been given at work to develop some sensors. It would re really great to hear your thoughts on how to handle high speed ADC. I have some projects where sampling in the region of 3-10 Msamples/s with the least fuss as possible would be really helpful, but the literature I've seen on this hasn't been particularly illuminating on how best achieve this. Is this a task best suited to FPGA or would an STM32H7 have enough grunt with the inbuild ADCs?

    @ZozobraDoom@ZozobraDoomАй бұрын
    • Thank you, glad to hear that! Depends on what you want to then do with those samples, what effective bit depth you require, etc.. Some H7s can apparently handle several 3.6 MSPS channels (at "16" bits).

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab thanks for the reply! 10 or 12-bit would probably be adequate for my needs. The goal is to detect a pulse a few usec in duration and then trigger a secondary analysis system within a few usec if the pulse height is greater than a certain threshold which captures using the same ADC before resting the acquisition system. Digging around the H7 series capabilities it looks like interleaving the ADCs together can increase the sample rate well into the upper range I'm shooting for, but when I read up on how to achieve this practically it looks like it falls short in reality. I will be starting some tests in a few weeks with a nucelo board, however people have complained that the ADCs on the nucelo boards aren't great because of the board layout etc, so I may have to roll my own.

      @ZozobraDoom@ZozobraDoomАй бұрын
  • To avoid short circuit when the SPI lines leave the board, how much resistance in series do we need to add to each line? Thanks.

    @fedimakni1200@fedimakni1200Ай бұрын
    • They are there to limit the short-circuit current, so Ohm's law with your IO voltage and max. current drive of the outputs. Keep in mind this'll slow edges down though.

      @PhilsLab@PhilsLabАй бұрын
  • THANK U Fill for the great video I wonder if you present an altium design cource?

    @user-lk5jq2qb6j@user-lk5jq2qb6jАй бұрын
    • Thanks for watching! That is on the list of courses to make.

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab so excited!

      @user-lk5jq2qb6j@user-lk5jq2qb6jАй бұрын
  • I know that your KiCad 7 video has just come out few month ago, but KiCad 8 has so many cool improvements. Will you be doing a KiCad 8 tutorial soon?

    @gergelyhalasz9754@gergelyhalasz9754Ай бұрын
    • Yeah, I actually have been playing around with KiCad 8 for a bit! It'll either be an ESP32 design or an NXP RT MCU design. Probably won't be until at least June/July though I'm afraid.

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab That's very close enough. 😁 I love your videos and the fact that you cover so many aspects of electrical/PCB design in detail!

      @gergelyhalasz9754@gergelyhalasz9754Ай бұрын
    • Thank you very much!

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab The NXP RT MCU is unknown to me. Although if not in the KiCad 8 video, perhaps you could show a design about it in a video. Unfortunately, I haven't seen all your videos yet, sorry if you've already done one about it, but I'll catch up on the rest in time.

      @gergelyhalasz9754@gergelyhalasz9754Ай бұрын
    • I don't have a video on NXP MCUs yet, so that would be the first (if I end up going with that in the KiCad 8 vid). Wanted to show how to design around a number of different MCUs anyway (other than ESPs, STMs...).

      @PhilsLab@PhilsLabАй бұрын
  • I think you probably should elaborate a bit on why you're using COPI & CIPO as opposed to the more ubiquitous (and frankly standard) MOSI & MISO. Also NCS is very non standard. Anyone who's learning this for the first time has enough acronyms to deal with.

    @schtalefisch@schtalefischАй бұрын
    • Snowflake friendly terms apparently 🙄

      @msmith2961@msmith2961Ай бұрын
  • Hi Phil, in your video about series termination you mention, that the input waveform will only be failry clean for the last load. In case of and SPI bus with multiple peripherals, especially when pathing through components, wouldn't this be in issue since only the last peripheral will receive a clean waveform and the other ones will receive only half the amplitude? At least thats how i inderstood it in you series termination video.

    @essebrotmitwurst1698@essebrotmitwurst1698Ай бұрын
    • That's correct - in the case of multiple loads, however, if loads are kept 'close' this isn't an issue. But if loads are further apart, the series 'termination' is there more to slow down the edges, which can help improve SI. In any case, the recommendation is to slow down edges (either via control in the controller, or via series resistors), keeping trace lengths short, and loads close together.

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab I have no experience in designing PCBs but in my case I think I'll have fairly long traces since i need to connect 20 large sensor chips but then I'll implement these series resistors as you recommended. Thank you for the quick reply and have a nice day :)

      @essebrotmitwurst1698@essebrotmitwurst1698Ай бұрын
  • I am using a 120MHz microcontroller and it can toggle GPIOs at max 50MHz. If I clock the SPI at 10MHz, will the rise time and fall time correspond to 100MHz (10x)? Does fall time and rise time change with the configured clock rate of the SPI? Or is it fixed for a particular micro-controller?

    @rushijariwala1840@rushijariwala1840Ай бұрын
    • 1/10th of clock period is just a very rough rule of thumb, it can easily be faster than that. Depends on controller and peripheral that you use - I'd suggest checking the IBIS files.

      @PhilsLab@PhilsLabАй бұрын
  • Thanks as always Phil. Next video UART?

    @doronlola1763@doronlola1763Ай бұрын
    • Thanks for watching! Definitely at some point.

      @PhilsLab@PhilsLabАй бұрын
  • how can I measure ringing and reflections on signal lines and how to measure how good is my RF impedance matching ?

    @perceptron9834@perceptron9834Ай бұрын
    • Low-inductance probe connection to an oscilloscope and measure on the relevant RF lines (e.g. at the receiving end).

      @PhilsLab@PhilsLabАй бұрын
  • Please make a video on CAN bus, especially with stm32f103 and tja1050. Thanks

    @ami6packs@ami6packsАй бұрын
    • CAN is on the list :)

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab great. Thank you.

      @ami6packs@ami6packsАй бұрын
  • I would like to see small projects that realise sensor fusion applications and explain them to beginners. At least if it's something you're interested in :)

    @lsill2530@lsill2530Ай бұрын
    • I have a whole sensor fusion series on the channel, in case you are interested!

      @PhilsLab@PhilsLabАй бұрын
  • Hi your videos are great i learned a lot from them and started to watch them regularly from #1 can you please do one bldc motor controller similar to that of odrive moetus or something that woul be really helpful

    @kaving6451@kaving6451Ай бұрын
    • Thank you! I recently came across an awesome series of videos by TI on motor control. Part 1 is here: kzhead.info/sun/mdSNpr6kpaSpg2g/bejne.html

      @PhilsLab@PhilsLabАй бұрын
  • The renaming of the pins is still confusing for me

    @a.ijuhasz135@a.ijuhasz135Ай бұрын
  • Phil, Design idea: STM32 master talks to an FPGA over SPI. The STM32 should also be able to program the FPGA flash configuration.

    @damny0utoobe@damny0utoobeАй бұрын
    • I do have that config in some work designs, but I'm afraid I can't really make those public haha.

      @PhilsLab@PhilsLabАй бұрын
  • It is not so clear to me, why is it good practice to put placeholder resistors at output drivers?

    @antonioe.2396@antonioe.2396Ай бұрын
  • Hey Phil! I'm intrested in your micro quad copter project. Do you mind make a video about it or share a project? I'm in the process of designing one myself, but it's my first one. Thought about using new U5 MCU as well. Which remote and motors are you using? How big is your micro quad copter?

    @TriodeTetrode@TriodeTetrodeАй бұрын
    • Hey, Thanks! Yeah, I plan on making a few videos on the aspects of the hardware and firmware design. I found a frame kit on Amazon (with motors, and battery) and designed a PCB around that. PCB is ~35x35mm. Motors are those micro coreless 1S ones. Remote I'm making my own with a TI CC2500 2.4GHz transceiver.

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab Thanks for answering. Do you mind sharing frame amazon link? Also I'm wondering about your USB-C. Are you using 16 pin USB-C(USB 2.0)?

      @TriodeTetrode@TriodeTetrodeАй бұрын
    • This is the one I went with: www.amazon.de/gp/product/B08SWKGF33/ref=ppx_yo_dt_b_asin_title_o02_s01?ie=UTF8&psc=1 The USB-C connector is a GCT USB4105-GF-A-060

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab Thanks a lot. I just recently ordered exactly this USB-C because I would like to move from micro/mini USB to USB-C. But I don't need the USB 3.0 speeds and 24 pins is a lot harder to solder. 16 pins seems exactly perfect. I really like how beautiful your schematics and layout looks. Wish I could make same ;) I'm hoping for more Altium videos ;)

      @TriodeTetrode@TriodeTetrodeАй бұрын
    • @@PhilsLab One more question Phil if you don't mind. What made you decide to use power layer as 3rd layer? Not enough space? Did you use whole layer as a power layer or routed power and rest of it GND?

      @TriodeTetrode@TriodeTetrodeАй бұрын
  • I really wanted to go to Embedded World but have to go to Saudi Arabia instead, arrive back in Munich the day after it finish's. Not happy.

    @iancooper418@iancooper418Ай бұрын
    • Ah that's a shame, Ian - maybe next year?

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab I had planned a week at our factory and was going to "disappear" for a day but i am only there to do a FAT test and then fly straight out. As you say See you next year.

      @iancooper418@iancooper418Ай бұрын
  • 👍🙏❤️

    @tamaseduard5145@tamaseduard5145Ай бұрын
  • This push of replacing Master with Controller is a disservice to everybody especially newcommers: Most of the datasheets talk about Master / Slave. Paarts you used had SI (Slave In) and not CI. Not a good first contact with the topic. Not only are there new terms, some functions even have multiple names. I would recommend keeping the Master / Slave notion as the benefit (and motivation..) of the renaming is questionable at best. Some TI-Datasheets even mix the terms. Introducing artificial noise into a 40 year old standard.

    @TheSwissGabber@TheSwissGabberАй бұрын
    • Agreed - I should've been clearer in the video about the various naming conventions. While researching, looking online for content for this video, I came across these new, suggested definitions (OSHWA, Texas Instruments, etc..). Last time I used MOSI/MISO in videos I got a few complaints about that as well.

      @PhilsLab@PhilsLabАй бұрын
    • The terms "master" and "slave" are used inconsistently in electronics, sometimes referring to controllers and peripherals, sometimes referring to addresses without hierarchical distinction. "Controller" and "peripheral" breaks with convention, but the convention in question was ambiguous to begin with. Like, who looks at a circuit diagram for the first time and thinks "which of those chips is the master and which the slaves"? They didn't name it the "Serial Slave Interface", because the meaning would have been less clear. Either way is unfriendly to newcomers now, but the controller/peripheral nomenclature would at least become friendly to newcomers over time as documentation is updated. And frankly, if having two names for the same thing during a transition period is too big an obstacle for newcomers to overcome, they won't be able to navigate USB cables let alone signal protocols, let alone all the different ways to indicate inverting and pins on ICs.

      @SnakebitSTI@SnakebitSTI3 күн бұрын
  • Bro I'm electronic and communication student how student I improve my core skill

    @Dhanushyeh@DhanushyehАй бұрын
    • Pick a project idea that interests you and build it from scratch, start to finish - block diagram, hardware, firmware, .. etc. This is the number one way (in my eyes) of improving.

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLabany ideas for a project? Is there any web where you could find projects to join or collaborate?

      @jordibatlledelallave1930@jordibatlledelallave1930Ай бұрын
    • For me it's always been based on what I'm interested in - then I'm more likely to have a use for the final design, and finish it. If you're into audio, there is a lot you could build (DIY synth, DSP FX processor, etc..), otherwise, a micro quadcopter is pretty cool and touches on many embedded system concepts. Regarding where to find open-source/collaborative projects, I'd try looking through the embedded/electronics sub-reddits.

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLabThanks! i’m very intersted in taking part or learning in firmware/embedded software projects in several fields such as motor control, battery management systems, etc. Any clue on what could be a good oportunity to start from scratch?

      @jordibatlledelallave1930@jordibatlledelallave1930Ай бұрын
    • I'm biased, but I'd go with a micro quadcopter :) Contains a bit of everything - motor control, battery management, DSP, control, etc etc

      @PhilsLab@PhilsLabАй бұрын
  • Why not MISO/ MOSI? Never heard of copi ant the other thing

    @MyMcMichael@MyMcMichaelАй бұрын
    • That's what I was used to as well - when double-checking and gathering info for this video, I came across these definitions that are apparently more 'up-to-date' (along with serial data in, serial data out (SDI, SDO)).

      @PhilsLab@PhilsLabАй бұрын
    • COPI and CIPO are the politically correct way, because saying slave might offend your temperature sensor IC.

      @tamas-ruszka@tamas-ruszkaАй бұрын
    • Yeah, I don't think it will stick. Master and slave are the correct terms, but certain elements are trying to make those terms "problematic". Latest I've heard is that "field-work" is an unacceptable term as it evokes slaves working in fields; this is the level to which we have descended. These are the same fools who tried to change grease nipples and manifolds in cars 🤦‍♂

      @superjimnz@superjimnzАй бұрын
    • Because the woke have arrived in this field too. If I hurt the feelings of the ICs, I might think of changing the naming. Until the ICs are not complaining, I’m stibking to MISO/MOSI.

      @666aron@666aronАй бұрын
  • Wait, are the 'copi/cipo' politically corrected terms for 'mosi/miso'? Never seen an spi board with those abbreviations.

    @msmith2961@msmith2961Ай бұрын
  • MOSI, MISO? whats with the COPI CIPO?

    @arpcatchall822@arpcatchall822Ай бұрын
  • 😝 "Promosm"

    @ethanmatthews7998@ethanmatthews7998Ай бұрын
  • I have always known them as MISO and MOSI pins for the last few decades. What happened? They got to you too?

    @JonahTsai@JonahTsaiАй бұрын
    • Same here. These seem to be the new conventions though, along with SDO/SDI (serial data out, serial data in).

      @PhilsLab@PhilsLabАй бұрын
    • @@PhilsLab Since some people have problems with MISO, MOSI, SS, I really like phils COPI, CIPO because the SDO and SDI was not clear enough as a replacement in my opinion.

      @piranha1337@piranha1337Ай бұрын
    • ​@@piranha1337I don't get why they didn't just call it "manager" and "subordinate", then keep the acronym the same as MOSI/MISO

      @drojf@drojfАй бұрын
    • ​@@drojf I don't get why most people didn't say something "we won't change anything in those namings", instead they reinvent the bicycle. :)

      @Sanchogus@SanchogusАй бұрын
  • MISO MOSI CS/SS * there fixed it yea even if i know most of what u said those odd names u used make me confused what is what

    @sanjikaneki6226@sanjikaneki6226Ай бұрын
  • I'm just a student and I'm new to this, so I'm not "used to" anything. COPI and CIPO are pretty clear, in fact even more accurate, and I think it's for the better using the new convention. There's people still hurting because of slavery and that's why they are asking to change MISO/MOSI. As always, excellent video Phil.

    @antonioe.2396@antonioe.2396Ай бұрын
  • It's Master Input Slave Output, not some damn CIPO, not even datasheet you've used as example uses that terminology

    @xani666@xani666Ай бұрын
  • I see you've already addressed it but please don't use Marxist language like CIPO or that other BS, stick to standard terms that have been used for decades like MISO and MOSI, it makes it easier for newbies to search and have access to all the documentation and app notes generated in the past decades. This is not a political channel but new terms like that only lead to confusion, in more political subjects it is used so that no one has an accurate definition and makes communication harder, that's the goal despite whatever story about virtue signaling they tell you.

    @Gengh13@Gengh13Ай бұрын
    • Why most west people think that communism ideas were like LGBTKIA+? :)

      @Sanchogus@SanchogusАй бұрын
  • Hi Phil Could you design and show how to do a project for the new architecture like RISC-V SBC and functioning bord like Arduino/RasberyPI but with no ARM on board? But made not in China.... and then sell this units for devs? It would be good if it have external Encoder/Decoder chip of h264 and h265 for smooth KZhead / video Watch? Its a very slow "CPU"... maybe multi-core/multi-Processor RISC-V design. *Maybe implementation of risc-v core in a new SOC chip design in OpenLine softwre etc... (source YT:zero to ASIC Course)?

    @sexyfacet@sexyfacetАй бұрын
KZhead