Understanding UART

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ธ.ค. 2024

ความคิดเห็น • 136

  • @AJRobinson
    @AJRobinson 2 ปีที่แล้ว +96

    After watching 6 videos, this one was clear, concise, wasn't 13 minutes long, didn't have awful hand-writing, and included everything I needed to know. Thanks!

  • @jigyasupant453
    @jigyasupant453 ปีที่แล้ว +25

    Highly appreciate the efforts put in to explain everything in a concise manner. Thanks!!

  • @walterwei3155
    @walterwei3155 2 หลายเดือนก่อน +2

    One of the best explanation videos I have seen in a long time. A great help for my exams!

  • @Someone-fu7wz
    @Someone-fu7wz 9 หลายเดือนก่อน +1

    When someone understands a thing he knows how to explain it clearly! Thank you :D

  • @abhimanyu2842
    @abhimanyu2842 4 ปีที่แล้ว +25

    Small Correction S has value hex value as 0x53 and decimal value as 83.

  • @siricortana9550
    @siricortana9550 11 หลายเดือนก่อน +4

    Short and comprehensive -- amazing video!

  • @occamraiser
    @occamraiser ปีที่แล้ว +3

    Ahh, happy days of measuring one and a half start bits to work out the width of the clock/pulses to manually read the data from a remote UART. Life was such fun writing process control software in the 1980s :)

  • @norvalchenu6102
    @norvalchenu6102 4 ปีที่แล้ว +18

    I found this video very useful. Thank you so much!!

  • @shvideo1
    @shvideo1 4 ปีที่แล้ว +15

    Excellent video so very clearly explained. This is the best I have seen on this topic. Thank you for covering all the bases.

  • @chetananam475
    @chetananam475 3 ปีที่แล้ว +4

    Extremely clear cut explanation!

  • @BALO_BERSERK
    @BALO_BERSERK ปีที่แล้ว +2

    Excellent video. You clarified many doubts and I understood new concepts.

  • @selvakumarr6672
    @selvakumarr6672 ปีที่แล้ว +1

    The parity bit is more clear now. Thanks.

  • @aravindb9881
    @aravindb9881 4 หลายเดือนก่อน +1

    Thanks, parity concept explanation is really excellent.

  • @ser_igel
    @ser_igel 4 หลายเดือนก่อน +1

    UART still lives in the hearts and motherboards of plotter devices like CNC machines and 3D printers
    i'm watching this video because i didn't understand how can i connect several motor drivers and a couple of probes via just three wires but it's all clear now

  • @motivationalcomred
    @motivationalcomred ปีที่แล้ว +2

    uart(universal asynchronous reciever transmitter) - parity(error detection) - asynchronous so both sender and reciever should transmit at same speeD(baud rate) - tx,rx are registers used in transmitting and recieving data

  • @limenspicewithshaheenkhali5222
    @limenspicewithshaheenkhali5222 4 ปีที่แล้ว +6

    Thnku so much for such an easy explanation

  • @gyricyace9215
    @gyricyace9215 2 ปีที่แล้ว +2

    yeah rohde & schwarz rulezzz ;) pretty good explanation, with few precise questions left to be solved by myself, but i will figure that out soon! keep up the good work! thanks a lot

  • @curtpiazza1688
    @curtpiazza1688 11 หลายเดือนก่อน +1

    Clear concise explanation! 😊

  • @isuckatthisgame
    @isuckatthisgame 8 หลายเดือนก่อน +2

    0% bull shit
    0% advertisements
    50% swag
    50% spot on content

    • @pauldenisowski
      @pauldenisowski 8 หลายเดือนก่อน

      Thanks! Really appreciate the feedback!

  • @Annie_EE
    @Annie_EE ปีที่แล้ว +1

    This is a great introduction

  • @dipsylogic1715
    @dipsylogic1715 3 ปีที่แล้ว +4

    Incredible explanation

  • @pascalkreis1524
    @pascalkreis1524 3 ปีที่แล้ว +3

    Very well done. Thank you for this great explanation.

  • @SmoothCode
    @SmoothCode 3 ปีที่แล้ว +1

    Teaching like a GOD.

  • @sung-hyunchoi25
    @sung-hyunchoi25 4 ปีที่แล้ว +4

    THANKS FOR GREAT EXPLANATION!

  • @saumittrasarker7138
    @saumittrasarker7138 3 ปีที่แล้ว +3

    Thank you sir for a clear concept video. best wishes for you.

  • @MusaYmc
    @MusaYmc 2 ปีที่แล้ว +2

    Neat and tidy explanation, tnx!

  • @Ranmitita
    @Ranmitita 4 ปีที่แล้ว +3

    Great video, thanks for this!

  • @vinoth3895
    @vinoth3895 4 ปีที่แล้ว +6

    Thank you!

  • @SuperGoodka
    @SuperGoodka 4 ปีที่แล้ว +3

    thanks a lot! its very easy to understand

  • @suryakrishsaiyan
    @suryakrishsaiyan 8 หลายเดือนก่อน +2

    I have a question here: How do you know if it is a stop bit or a sequence of 1's as data. For example, if i need to send 0xffff, when will UART know that the data has ended?

    • @elektron2kim666
      @elektron2kim666 5 หลายเดือนก่อน

      It's usually automatic in "drivers" so you load in something and use a command like 'write "oxffff"' from instructions on the internet. The driver is something like 'Uart.h' or whatever. It's probably 300 lines in C or MicroPython and you need to write 5 lines very carefully to make it happen or you use some more advanced software doing most of it.

  • @abheetl9743
    @abheetl9743 2 ปีที่แล้ว +2

    Excellent. To the point.

  • @maxint2680
    @maxint2680 3 ปีที่แล้ว +4

    The stop bit just looks like a normal "1" bit. How to distinguish a stop bit from a useful "1" bit, or a useful "1" bit from a stop bit? It is not explained in the video - I did not see the use of any prepositioned "length field" or "escape sequence". Can anyone help me with this?

    • @maxint2680
      @maxint2680 3 ปีที่แล้ว +4

      After doing some searching, I believe the frame length is also pre-configured just like the baud rate. (Please let me know if I am wrong)

    • @pauldenisowski
      @pauldenisowski 3 ปีที่แล้ว +8

      @@maxint2680 Yes, that's correct: Normally in serial communications, you have to explicitly specify (i.e. configure) certain parameters, which need to match on both ends of the connection. These are the speed (baud rate - e.g. 9600), the number of data bits (7 or 8, usually), the number of stop bits (almost always 1), and the parity type (none, even, or odd). So if you know these values, you can derive the length of the frame. If you use PuTTY as a terminal program, these values can be found under "Connection -> Serial"

    • @maxint2680
      @maxint2680 3 ปีที่แล้ว +3

      @@pauldenisowski Detailed explanation. Thanks!

  • @akashbidap
    @akashbidap 2 ปีที่แล้ว +1

    admirably explained sir enjoyed the video
    😍

  • @aumotion
    @aumotion ปีที่แล้ว +1

    Nowadays UART often reaches 3 Mbps, i have even used 6 Mbps. Serious SOC have many UARTs peripherals. UART is trivial to handle on the software side. UART is ... GREAT.

    • @pauldenisowski
      @pauldenisowski ปีที่แล้ว

      UART will always have a special place in my heart :)

  • @ozonewagle
    @ozonewagle 7 หลายเดือนก่อน

    I have some confusions.
    1. The LSB is indicated first in waveform but actually receiver is receiving the MSB first.
    2. What kind of line coding techniques are used; it is told that NRZ-I is used but the waveforms just represent Unipolar NRZ.
    3. How cannot the receiver misinterpret as the end of data if consecutive 1's is present in the data which is similar as stop bits?

    • @pauldenisowski
      @pauldenisowski 7 หลายเดือนก่อน

      1. The order of the bits (LSB or MSB) has to be agreed upon by the transmitter and receiver (and clearly must match at both ends)
      2. NRZ is the most common type of line coding used
      3. The transmitter and receiver must be configured to use the same baud rate, number of data bits, parity type, etc. From these two pieces of information, it is possible to derive the length of the frame (number of bits) and distinguish between a payload "1" and the stop bit.

  • @FabioSpelta
    @FabioSpelta 4 ปีที่แล้ว +4

    EPIC explanation thank you!

  • @royeriksen103
    @royeriksen103 หลายเดือนก่อน

    Thank you. Very good explained

  • @marcinpozniak1605
    @marcinpozniak1605 5 หลายเดือนก่อน +2

    4:10 'S' is 0x53 in ascii, otherwise the video was flawless just as the other one ;)

  • @Autotrope
    @Autotrope 3 ปีที่แล้ว +2

    Great explanation

  • @milo7605
    @milo7605 2 ปีที่แล้ว +1

    very usefull and concise, thank you!!!

  • @battelground1526
    @battelground1526 3 ปีที่แล้ว +2

    i have not understand that parity bit.means if data bits are 4-1s then parity bit sould be low(0).

    • @pauldenisowski
      @pauldenisowski 3 ปีที่แล้ว +1

      Depends on the type of parity - even versus odd. In even parity, the number of ones in the user bits + parity bit must be even, so if you send 1 1 1 1 and are using even parity, the parity bit would be zero. If you were using odd parity, the total number of ones would need to be odd, and 1 1 1 1 would require a one as the parity bit.

  • @kirlasharat2714
    @kirlasharat2714 ปีที่แล้ว +1

    actually i have one doubt , inside the UART we have transmitter and receiver . will both transmitter and receiver will work at same clock frequency

    • @pauldenisowski
      @pauldenisowski 8 หลายเดือนก่อน

      In order to UART to work, but transmitter and receiver have to be configured to run at the same speed (asynchronous - no shared clock).

  • @Thinkeaic
    @Thinkeaic 6 หลายเดือนก่อน +1

    Best video ever

  • @JeremyCook
    @JeremyCook ปีที่แล้ว +2

    As others have said, very good - not too long, but seems to hit the important details well!

  • @erenoz2910
    @erenoz2910 3 ปีที่แล้ว +1

    okay but how is something like "11111111" transmitted? how does the receiver tell the data apart from the stop bit?

    • @igornedashkivskyi1472
      @igornedashkivskyi1472 8 หลายเดือนก่อน

      You are always have "start" bit for this purpose which are "0" (low level one), this is kind of something change or begin at the line.

  • @DarkNevrozz
    @DarkNevrozz 3 ปีที่แล้ว +1

    Very well explainded thanks !

  • @rahmanmd8460
    @rahmanmd8460 3 ปีที่แล้ว +2

    4:15 its ox53

  • @sudhansumtripathy
    @sudhansumtripathy 7 หลายเดือนก่อน +1

    can we have a FlexRay tutorial for the braking of M Benz

    • @pauldenisowski
      @pauldenisowski 7 หลายเดือนก่อน +1

      I'm working on some automotive protocol presentations that should be ready later this year :)

  • @ronan5228
    @ronan5228 9 หลายเดือนก่อน +1

    Good video, but a minor correction! 0x52 is listed as ASCII "S" but it is actually 0x53, caused me some confusion while watching :)

    • @pauldenisowski
      @pauldenisowski 8 หลายเดือนก่อน +1

      (laughs) I wish I had a dollar for every person who noticed that :) You're absolutely correct - thanks!

  • @vijayashreep4651
    @vijayashreep4651 3 หลายเดือนก่อน +1

    Hii Nice explanation.Can u also add material on SM bus and JTAG

    • @pauldenisowski
      @pauldenisowski 2 หลายเดือนก่อน

      JTAG is on my longer-term list of topics, but probably won't get to it for a while.

  • @danielvelkov116
    @danielvelkov116 4 ปีที่แล้ว +1

    Can it be used for media(sound,image) transfer from (for e.g) a bluetooth module? What is the cost of implementing this interface in comparison with I^2C, CAN or MLBB?

    • @pauldenisowski
      @pauldenisowski 4 ปีที่แล้ว +1

      My understanding is that a UART is included in most Bluetooth chips for the host-controller interface, with USB being another popular choice. Generally speaking, UART is often cheaper and easier to implement than other protocols but has lower data throughput. That said, the suitability and cost of using one protocol vs. another is a function of many things, so I couldn't really comment on that part of the question without knowing a lot more about the application, other components in the system, etc.

  • @Windy254
    @Windy254 9 หลายเดือนก่อน +1

    Thank you.

    • @pauldenisowski
      @pauldenisowski 8 หลายเดือนก่อน

      Thanks for watching!

  • @jcbritobr
    @jcbritobr 7 หลายเดือนก่อน +1

    Nice stuff.

  • @Ankit.max.
    @Ankit.max. ปีที่แล้ว

    we are not mention in code ,that type of method so where we use that type of method

  • @abandxz
    @abandxz 3 ปีที่แล้ว

    I'm facing problems with one of device , where the display required 7-n-1 setting but for the input need 8-n-1

    • @pauldenisowski
      @pauldenisowski 3 ปีที่แล้ว +1

      7N1 means seven bits, no parity bit and one stop bit, whereas 8N1 means eight bits, no parity bit and one stop bit, so these settings are most likely incompatible. If one of the endpoints is a configurable terminal program (like Hyperterm, PuTTY, etc.) you should be able to configure these parameters.

  • @devided4299
    @devided4299 2 ปีที่แล้ว +1

    Aren't there supposed to be 8 data bits, for 8 bits equal to 1 bite?

    • @pauldenisowski
      @pauldenisowski ปีที่แล้ว

      Typically the user data is 8 bits long. That said, UART doesn't specify how long the payload should be. I still remember when 7-bit ASCII was the norm in serial text transmission.

  • @VvtheD3M0N
    @VvtheD3M0N 2 ปีที่แล้ว

    so to go from & bit ASCII to LSB, you just have to reverse the order of the bit?

  • @saumilkapadia88
    @saumilkapadia88 3 ปีที่แล้ว +1

    Very nice !

  • @watermak123
    @watermak123 8 หลายเดือนก่อน

    i have a question imagine a data with all 1's then how does the receiver identify the stop bit

    • @pauldenisowski
      @pauldenisowski 7 หลายเดือนก่อน

      UART requires that both sides be configurated with the same bit rate and the number of data bits (this is fixed for all UART frames exchanged and cannot be "signaled"). So the receiver will know how long the frame is and thus can identify the stop bit.

  • @egorgreb3828
    @egorgreb3828 2 ปีที่แล้ว +1

    Awesome!

  • @tutankamon31
    @tutankamon31 2 ปีที่แล้ว +1

    Thanks for great explanation. 0x52 should be 1010010 in binary system.

    • @pauldenisowski
      @pauldenisowski 2 ปีที่แล้ว

      Lol - I've had about a half dozen people catch that already :) I guess I should be happy that people are watching the video that closely. Thanks!!!

  • @ThanhThanh-zu3gu
    @ThanhThanh-zu3gu 3 ปีที่แล้ว +1

    thank you

  • @getinthespace7715
    @getinthespace7715 7 หลายเดือนก่อน +1

    Awesome.

    • @pauldenisowski
      @pauldenisowski 7 หลายเดือนก่อน

      Appreciate the feedback - thanks for watching!

  • @spaceman1328
    @spaceman1328 3 ปีที่แล้ว +1

    More thn basic 🙌

  • @rizwanrazvi-tl1qg
    @rizwanrazvi-tl1qg ปีที่แล้ว

    hi...I want take 8bits data and 2 bits parity in design .Is it possible?

    • @pauldenisowski
      @pauldenisowski ปีที่แล้ว

      Sorry, not with "standard" UART. Is there a reason why you would want a second parity (well, error-checking) bit?

  • @sriramkrishnamurthy4473
    @sriramkrishnamurthy4473 3 ปีที่แล้ว +2

    i love u bro amaze

  • @sanjaysethi7033
    @sanjaysethi7033 ปีที่แล้ว +1

    There’s a very silly error here:
    ASCII for “S” = 0x53 NOT 0x52!!

    • @pauldenisowski
      @pauldenisowski 10 หลายเดือนก่อน +1

      Yep, must have fat-fingered that one (binary is correct). Thanks!

  • @mythix8070
    @mythix8070 3 ปีที่แล้ว +1

    I'm a bit late but can I have the presentation I need it for school

  • @subinkumar7051
    @subinkumar7051 หลายเดือนก่อน

    superb

  • @TheMrR9
    @TheMrR9 ปีที่แล้ว +2

    based

  • @Toto-cm5ux
    @Toto-cm5ux ปีที่แล้ว +1

    For people who doesn't understand math, S is 0x53 not 0x52

    • @pauldenisowski
      @pauldenisowski ปีที่แล้ว +1

      Actually, it's for people who can't type :) The binary is correct :)

  • @ArnoldBooth-n6z
    @ArnoldBooth-n6z 3 หลายเดือนก่อน

    080 Breitenberg Ridges

  • @HarveyMarguerite
    @HarveyMarguerite 3 หลายเดือนก่อน

    364 Eldora Dale

  • @melvinnashasa2979
    @melvinnashasa2979 2 หลายเดือนก่อน

    4111 Rhianna Cape

  • @RudolphOphelia
    @RudolphOphelia 3 หลายเดือนก่อน

    033 Braun Fords

  • @jacktorrance2336
    @jacktorrance2336 10 หลายเดือนก่อน +1

    0x52 != 1010011

    • @pauldenisowski
      @pauldenisowski 8 หลายเดือนก่อน

      Thanks - you're absolutely right :)

  • @ArmstrongAnastasia
    @ArmstrongAnastasia 2 หลายเดือนก่อน

    0076 Evert Islands

  • @alexisfordres6399
    @alexisfordres6399 3 หลายเดือนก่อน

    7677 Franecki Station

  • @WilsonSolomon-t7f
    @WilsonSolomon-t7f 3 หลายเดือนก่อน

    Beatrice Square

  • @ChristianaEsther-x5s
    @ChristianaEsther-x5s 2 หลายเดือนก่อน

    Kohler Green

  • @JohnJohn-gy2st
    @JohnJohn-gy2st ปีที่แล้ว +1

    Hello

  • @AmyAnderson-f6g
    @AmyAnderson-f6g 2 หลายเดือนก่อน

    Stehr Locks

  • @Estuan
    @Estuan 3 ปีที่แล้ว +1

    Pónganle subtitulos al español :c

  • @BillyLeo-u8j
    @BillyLeo-u8j 3 หลายเดือนก่อน

    Hamill Spur

  • @y_x2
    @y_x2 7 หลายเดือนก่อน

    UART need 3 wires not 2!!! UART are rated in bit per second NOT baud rate!!! Two stop bits is never used for at least 60 years...

    • @pauldenisowski
      @pauldenisowski 7 หลายเดือนก่อน

      Yes, more than one stop bit is extremely rare. But I'm not sure what you mean by UART needing 3 wires - could you clarify? Thanks!

    • @zxchtl
      @zxchtl 7 หลายเดือนก่อน

      @@pauldenisowskicould be referencing a ground wire

  • @MargeryDelia
    @MargeryDelia 2 หลายเดือนก่อน

    9165 Kylee Mission

  • @HewlettSelena
    @HewlettSelena 3 หลายเดือนก่อน

    6679 Caterina Brooks

  • @FloridaGwin
    @FloridaGwin 3 หลายเดือนก่อน

    98589 Conor Trafficway

  • @mohsenjavaher7782
    @mohsenjavaher7782 5 หลายเดือนก่อน +1

    Thank you