Clock synchronization and Manchester coding | Networking tutorial (3 of 13)

Поделиться
HTML-код
  • Опубликовано: 4 авг 2024
  • The importance of synchronized clocks and using Manchester coding to send clock and data
    Support me on Patreon: / beneater
    This video is part 3 of an intro to networking tutorial: • Networking tutorial

Комментарии • 144

  • @rahul.r
    @rahul.r 4 года назад +162

    It's amazing how the answer to "how the internet works" depends on whom you ask that question.

    • @eccentricOrange
      @eccentricOrange 3 года назад +4

      @take me back to Mejula No, it's huge pseudorandom numbers

    • @good-frog
      @good-frog 2 года назад +2

      @@eccentricOrange no it's cables going underwater

    • @grimreboot
      @grimreboot 2 года назад +1

      Isn't it some kind of tool fishing trawlers use....

    • @abstractapproach634
      @abstractapproach634 Год назад +2

      How it works uninteresting an objective at a certain level of knowledge (maybe different terms, but they can all be shown equal)
      *The question is why it works*
      At first the ptb just saw anime and trolls, thought "what danger could that pose" (great I feel obliged to rhyme now)
      When they saw what they could see, it fell to acronyms of three
      FBI or NSA, same difference and both are gay
      Then Stallman and Torvalds met, and started a war called the internet
      Now we try to fight, from low ground, for the lowdown to be a right
      RISCV, TOR, anonymous monero vs ISP, NSA, and property open window

  • @AlanCanon2222
    @AlanCanon2222 2 года назад +38

    This series is so good even for intermediate level learners. I do have a non-zero grasp of electronics and TCP/IP, and Ben is filling in a lot of gaps in my knowledge that I didn't know I had.

    • @quicksilver90-g8h
      @quicksilver90-g8h Год назад

      Do you know where i could pick up from after here? I mean after this series?

    • @AlanCanon2222
      @AlanCanon2222 Год назад +1

      @@quicksilver90-g8h Excellent question. The principles taught are so wide in their application that the sky's the limit: it's really up to your imagination and personal inclination. I myself built the Ben Eater clock module (from his 8 bit computer build series). Then I thought of alterations I could make to the basic design (using breadboards makes that very easy). For instance, I thought of building a dual 6502 computer, with two processors. How to make two CPUs share the same bus? They have to take turns. So I added flip flops to the clock module, so that every other clock pulse was routed to a different output. Instead of one LED blinking, two LEDs, call them 1 and 2, alternating their blinks in a "1 - 2, 1 - 2" rhythm, then with another pair of flip flops, made that into a 4/4 rhythm (I'm a musician, bear with me): "1 on, 1 off. 2 on, 2 off", so that each CPU, in my theoretical dual processor design, would get a full cycle of high and low while the other was kept low.
      But that's just me and my imagination: doubtless you might go in a completely different direction.
      I wound up building the Ben Eater 6502, and got it to say Hello World (yay!) and never built the dual 6502 of my dreams. But what about the 16 bit version of the 6502, the 65C816? Another RUclipsr, Adrien Kohlbecker, has an excellent Ben-Eater-inspired build of a machine based on that more sophisticated processor. The CPU is not pin for pin compatible with the 6502, but nearly so. It has a 24 bit address space, making the 8 data pins do double duty, alternating roles as the ordinary 8 bits of data, and the high byte of the 65816's 24 bit address space, so that the 65C816 can address up to 16 MB of memory, which is way more RAM than my first PC came with. Because the 8 data bit pins do double duty, you have to build latches to hold a copy of the data pins from the moment when they're used for the high byte of the address. Kohlbecker has now made a single board design that breaks all of this out into individual connector pins.
      So NOW, I want to take Kohlbecker's 65C816 design, and build two of them, so I can have, not just a dual 6502 machine, but a dual 65C816 design.
      Now the question is, how shall they share memory? How does each CPU know whether it's CPU A or CPU B? Should they share all their memory, or maybe just share the upper 32KB of the first 64KB (so they read the same ROM on startup), or something else. ROM is way slower than RAM. Could I build "shadow RAM" for the second 32 KB (where the ROM lives), so that the computer starts slow, copies the ROM into the RAM behind it, then switches the ROM out, and increases the speed of the clock? That means I'd have to somehow let at least one of the CPUs control the clock speed. How would I do that? I could map one or more of the bits of the address bus for this purpose (the way the 6510 chip did on the Commodore 64, with bytes 0 and 1 of Zero Page RAM. Or, I could use a 6522 VIA chip as a "bus control" device to handle things like bank switching and clock speed.
      Should the two CPUs be completely symmetrical? Or could I make it so that one CPU can IRQ the other one, or allow them to IRQ each other (again, using one output from a VIA chip routed to each of the IRQs for the two processor)? Maybe I could make one CPU the primary, and the other the secondary, where the primary can interrupt the secondary but not vice versa. Then I could use the primary for the computer's "operating system" and the secondary for "user space" processes, which could lead to a CPU stable enough to run processes in a secure manner?
      What about general I/O for my dual CPU design? Should each CPU have its own separate VIAs? Or should they share them somehow? If they share them, how do I control which CPU's IRQ each VIA chip controls?
      So that's just my imagination: doubtless you could think of directions I haven't even thought of.
      Would love to hear more of your thoughts here in this comment thread.

    • @vlad_me_portland
      @vlad_me_portland 4 месяца назад

      @@AlanCanon2222wow that was useful, thanks!

  • @alperenyurdakul1464
    @alperenyurdakul1464 4 года назад +13

    About 5 years later, and you are still informing a lot of people. It's way more clear now thank you.

  • @lorenz9314
    @lorenz9314 9 лет назад +26

    Best explanation on youtube. Just couldn't wrap my head around manchester encoding. Thanks!

  • @zacnetic3103
    @zacnetic3103 6 лет назад +7

    I don't often comment on RUclips videos but I would like to just say that you have been an amazing teacher and provided a fantastic overlook on manchester coding so thank you for finally making me understand it haha.

  • @ro1942
    @ro1942 2 года назад +4

    I'm surprised no one has made a "clock slip" joke yet. Awesome series Ben, thanks for making it!!

  • @selvalooks
    @selvalooks 5 лет назад

    seriously i have read 100's of times about clocks and coding but never able to visualize and understood like this before !!! crisp and clear , even a first timer can easily understood , superb!!! thanks !!!

  • @densetsudrawings6272
    @densetsudrawings6272 3 года назад +2

    Mind blown things that I learned at uni finally makes sense from this video. Amazing.

  • @abhaykondru3570
    @abhaykondru3570 4 года назад +1

    The only video which cleared all my doubts related to clock appreciate that dude!!!😁❤️

  • @bendono
    @bendono 2 года назад +1

    I'm really enjoying your channel. You have a lot of great material here.

  • @train4905
    @train4905 3 года назад +5

    Dear sir I live in the UK myself.
    I love networking,I am also an electrician as well,its amazing how much these two subjects are
    Similar .
    I absolutely loved this video.butifull crafted,superbly explained,brilliant animation.
    Thankyou sir so much.please keep up the superb work.

    • @waldolemmer
      @waldolemmer 2 года назад +1

      I guess English isn't the only language they speak in the UK, because it sounds like English isn't your native language (no offense).

    • @AlanCanon2222
      @AlanCanon2222 2 года назад

      I live in the US. My child's garden of verses on electricity is "An American posited that charge comes in two varieties: then the British did the rest."

  • @Yurih600
    @Yurih600 4 года назад +2

    The difference of clock in a clock line don't occur because resistivity difference, but in a long line the line properly can assume an inductive or capacitive behavior and elements with this behavior makes a shift phase in the data. Very good explanation, keep doing this please.

  • @dkd0m23
    @dkd0m23 4 года назад +3

    Thank you for theses videos, they're really helping me seeing the big picture :)

  • @zezo928
    @zezo928 Год назад +1

    Best sync explanation so far 👌

  • @SuperSarvagya
    @SuperSarvagya 7 лет назад +1

    This a great tutorial! Thanks man! Looking forward to learning more from you!

  • @allthegearnoidea6752
    @allthegearnoidea6752 6 лет назад

    I have recently bought an old HP8073 Pattern generator to play with. Thanks for this video you have reminded me of my university communications classes nearly 20 years. All I need is for you to do a video on multi mode and stepped index fibres and I will truly be back in the day. Many thanks. PS I went to Manchester University

  • @jameserayburn
    @jameserayburn 6 лет назад

    Outstanding! Two thumbs up to you sir.

  • @Sooper35
    @Sooper35 8 лет назад +2

    Clear and thorough. Thank you.

  • @osmargds
    @osmargds 2 года назад

    Amazing explaination! Thank You. I just subscribed to your channel. Love from Brazil!

  • @LuigiTrabacchin
    @LuigiTrabacchin 4 года назад +1

    knew i could find manchester encoding on your channel! explained well.

  • @vladislavkaras491
    @vladislavkaras491 2 месяца назад

    That was greatly explained how encoding works!
    Thank you!

  • @jacksonarackal7223
    @jacksonarackal7223 8 лет назад +5

    Thank you so much m8....this really helped me to understand the encoding method. :-)

  • @SUMIT-sy7qs
    @SUMIT-sy7qs 7 лет назад +70

    At 7:10 Just for information the electrons in in wire move at a very slow speed (few milimeters per second).
    What it is really important here is not how elecrons move but how the electromagnetic waves propagate in the wire.
    Anyway, this video is really interesting because you explain in a very simple way things that is really not obvious to understand for a lambda person.

    • @nukun
      @nukun 4 года назад +7

      What does "lambda person" mean? Sorry for my dump question. 🙏🏼

    • @MrOhioutod
      @MrOhioutod 3 года назад +4

      @@nukun Almost certainly an autocorrect mess-up for "lay" -- as in "layperson," or "non-expert."

    • @nukun
      @nukun 3 года назад

      @@MrOhioutod Thank you!

    • @arthurmead5341
      @arthurmead5341 3 года назад +1

      Do you have more info on this?

    • @SUMIT-sy7qs
      @SUMIT-sy7qs 3 года назад +2

      @@nukun lol It is a french expression meanning 'anyone' ;)

  • @mistakenmillenial6834
    @mistakenmillenial6834 5 лет назад +1

    Finally it all makes sense! Thanks so much :D

  • @CakRama01
    @CakRama01 3 года назад

    What a great serial videos ben, thank you so much

  • @ninjacloud3137
    @ninjacloud3137 5 лет назад

    Awesome Networking turtorial,love U

  • @zanzaraloggan3713
    @zanzaraloggan3713 2 года назад

    this right here is gold, my friends.

  • @samarthtandale9121
    @samarthtandale9121 10 месяцев назад

    Mind blowing explanation 🤯💯🔥

  • @weywey3318
    @weywey3318 9 лет назад +5

    Really Awesome Tutorial. Thanks!

    • @weywey3318
      @weywey3318 9 лет назад

      John Wehland Please do more Tutorials. You are really good at them.

  • @JennJanesko
    @JennJanesko 9 лет назад

    Thank you for the clear explanation!

  • @naomi2801
    @naomi2801 2 года назад

    u are what i searched for

  • @kanthimathis6556
    @kanthimathis6556 7 лет назад

    Very resourceful. Thank you.

  • @mohamedelshamly8520
    @mohamedelshamly8520 7 месяцев назад

    Thanks, amazing explanation

  • @Hamza_mrc
    @Hamza_mrc Год назад +1

    You’re videos are just awesome !❤
    I’ve seen something interesting on synchronization of two clocks (time sync) it would be very interesting to watch a video from you about the PTP (precision time protocol) ! Some nxp (i.rt mx) microcontroller provide this protocol

  • @abdox86
    @abdox86 9 месяцев назад

    3:50 Section name should be "Clock Slip" not "Clock Flip", Thanks Ben this is my 100th time watching this, and I love it ☺

  • @razor10288
    @razor10288 8 лет назад +4

    mate!!! no one could explain why clocking is imp... & u did it in minute....thnks

    • @miyukohai1470
      @miyukohai1470 5 лет назад

      most definitely I work on non Ethernet electronics and I was wondering where the clocks were for an Ethernet system

  • @leong8492
    @leong8492 Год назад

    good work. Many thank!!!

  • @majormagics7163
    @majormagics7163 8 лет назад

    Is there a way to DECODE a datastream in manchester code? I have an animatronic show and i want to program new movements but need to know what the tones are..?!

  • @minhajsixbyte
    @minhajsixbyte 2 года назад +1

    Hi Ben, thanks for creating and sharing these videos. Could you link textbooks in the description section of the video? with that, people who are interested in further reading might be benefitted.

  • @rohitbale15
    @rohitbale15 5 лет назад

    Thanks a lot sir!! That was a great explanation.

  • @bakkasur9614
    @bakkasur9614 7 лет назад

    awesome subscribed !

  • @ccmiint
    @ccmiint 8 лет назад +1

    Thank you!

  • @kathipaw
    @kathipaw 7 лет назад

    Great video! May I ask what software you use for this?

  • @nithyavasudevan272
    @nithyavasudevan272 3 года назад +5

    Dear Sir, I have watched almost every of your videos. I kindly request you to build a series on internet connection on the custom hardware like the 8 bit computer or the 6502 computer. I am currently building a 32 bit computer with vga output and a usb keyboard, mouse input. I am also planing to build an OS for it. From your kind subscriber. Thank you for your kind support.

  • @edwnramos
    @edwnramos 2 года назад

    Thank you so much.

  • @CoderTronics
    @CoderTronics 8 лет назад +1

    Thanks for nice and clear explanation

  • @mysmallcap
    @mysmallcap 6 лет назад

    Thank you sir :)

  • @tylershepard4269
    @tylershepard4269 4 года назад +1

    Would the copper cables be dispersive? If so, clock pulse broadening could also be an issue.

  • @joebaxter6895
    @joebaxter6895 4 года назад

    What kind of certifications are out there for WAN and long haul communication technology that incorporate PSK, FSK, multiplexing and such?

  • @tthermic
    @tthermic 3 года назад +4

    Hi ben, you mention that the recieving computer can distinguish between a low to high transition and a multiple 0's in a row because of the intervals the transitions occur at. How does the receiving computer know what interval to sample the signal at? Do the 2 computers need to agree on the interval before hand?

    • @fairyanimal
      @fairyanimal 3 года назад +1

      it would suffice to agree on some clock sync pattern at the start of every message. i.e. you know that every message starts with 0101. so here is your timing interval you can measure at the receiving end

  • @scitwi9164
    @scitwi9164 7 лет назад +1

    This is kinda similar to the encoding used in USB wires. The difference is that in the USB standard, 0 is encoded as a transition (either way), and 1 is encoded as no transition.

  • @vha1207
    @vha1207 3 года назад

    Thanks a lot 💪

  • @JohnSmith-he5xg
    @JohnSmith-he5xg 6 лет назад +1

    Interesting. I'd never heard about Manchester coding. Doesn't it necessarily involve sacrificing half whatever your medium's maximum possible throughput is though? I'm just thinking you could be signaling in a nonManchester twice in the same period since you don't have to have a transition to represent a symbol.

  • @soulless2169
    @soulless2169 Год назад

    Started with a 7 segment display i wanted to operate, which led me to research shift registers, which led me here. I didnt know it was a rabbit hole 😂 but im not complaining

  • @ArslanAli-qi3yh
    @ArslanAli-qi3yh 7 лет назад +1

    awesome :*

  • @alexprykhodko3097
    @alexprykhodko3097 Год назад

    Thanks!

  • @EmptyGlass99
    @EmptyGlass99 4 года назад

    I'm from Manchester and had not heard about Manchester Coding. My old mathematics teacher had worked in the computer department there.

  • @majormagics7163
    @majormagics7163 7 лет назад

    BEN, where can i find a controller that can reproduce the manchester code? I have an animatronics show that used the manchester fm2 code and want to be able to program new shows. Please advise.

    • @melkiorwiseman5234
      @melkiorwiseman5234 5 лет назад

      I don't know what Ben would say (and because of the way YT seems to periodically turn replies into base comments, I can't be sure whether or not anyone has replied to you), but I'd suggest using a microcontroller.
      I'd be surprised if there wasn't already a "library" for most microcontrollers, and certainly for Arduino, which allows you to transmit and receive Manchester FM2 code on selected pins.

  • @drexflea52
    @drexflea52 4 года назад

    Thanks man...

  • @outtaspacetime
    @outtaspacetime 2 года назад +4

    Hey Ben, thanks for great series! You left out how the clocks exatcly synchronize for manchester coding, so how does this happen?

    • @nabeelsherazi8860
      @nabeelsherazi8860 Год назад +5

      i was able to find out more about this from wikipedia. the process is called "clock recovery" where the two systems figure out (or "recover") what the clock rate is supposed to be from the signal itself.
      as i understand it, the way it works for manchester encoding is that there are only two possible places where a voltage transition can occur: either at the start of a bit period, or exactly in the middle of a bit period. the one that's in the middle is the one that's supposed to represent the 1 or 0, the one that's at the start is just supposed to get the signal in the right place so it can make the transition for the middle of the period.
      so when a computer starts seeing transitions, it picks one and sees if that results in a "regular" data rate (meaning -- you should be seeing some kind of data, i.e. a transition, every single period). if it doesn't, it knows that the one it picked was just a "positioning" transition and not a real data transition, and uses the next (n+1) transition for determining the data rate instead. the "real" data transition will happen at a guaranteed interval and so can be used to figure out the clock rate.

  • @BradCozine
    @BradCozine 5 лет назад +5

    "Respect the clock." -Magnolia

  • @sonekeira
    @sonekeira 6 лет назад +1

    love u

  • @khatharrmalkavian3306
    @khatharrmalkavian3306 4 года назад +1

    Why not just use each rising edge to correct the phase, or even just have a 1v clock signal on the same line?

  • @KieranGarland
    @KieranGarland 4 года назад +3

    Apologies, I'm afriad I still don't understand. Where is the clock with Manchester encoding? Sorry, I know it's a failure of understanding on my end, but I don't see the difference between a wire sending a signal and another sending a clock, and the Manchester encoding. Is the clock somehow bound up with the signal being transmitted, in a way that it isn't with the other set-ups? Thoroughly enoying this series, thank you.

  • @thisisnotok2100
    @thisisnotok2100 2 года назад

    Hi Ben, what if at the start of a connection, the client sent 101010 in its clock speed?

  • @James-mk8jp
    @James-mk8jp Год назад

    Thank you! So what is used today? I've read that Manchester coding isn't ideal for high bitrates. What do our wireless routers use? Been trying to find an answer for a bit now, but can't.

  • @NickRatRadio
    @NickRatRadio 7 лет назад

    Whys it go backwards? how does it know what chunks to flip?

  • @awaisnawaz2791
    @awaisnawaz2791 3 года назад +1

    Hi, thanks for this great video. I had a question if anyone can answer... See if a computer has a rated clock of 3GHz, it wont always be boosted to 3Ghz, it varies with complexity of the task being performed.
    So how is the data synchronized in these circumstances? I hope it isnt a silly question...

    • @worldhello3736
      @worldhello3736 2 года назад

      Curious about this as well. Maybe there’s a protocol that makes sure that two communicating parties are talking at a synchronized rate? Also you might be confused between processing clock speed and communication clock speed.

  • @strategoclownery389
    @strategoclownery389 2 года назад

    what if I wanna send 00000000000000000011111111111111111 through Manchester codes?
    I guess then the computer will guess that the "clock rate" is very low because from all those transitions going from a 0 to 0 and 1 to 1. Therefore it will not ignore the transitions from 0v to 5v between all the zeros and instead think that the transition between 0 and 1 is a little bit off and discard it, right?
    as a solution one could maybe make it so that, the computer always uses the bigger clock rate but would would happen then if I where to send a signal containing only 1 or only 0s ?
    I am a bit confused rn.

  • @snnwstt
    @snnwstt 6 лет назад +1

    So, basically, Manchester coding is about half the speed of what the processing hardware can handle. It may have uses where the "cable" speed is the limiting factor, but otherwise, that sounds like a dramatic lost in efficiency.
    If two clock are not strictly adjusted to the same frequency, but "close", could they not "agree" to send "n" bits, then resynch them, say with a start bit, so they will, in theory, always safely read the data without slip ? Is it not what serial communication was doing? And thus, your efficiency will be more like around n/(n+1) instead of 0.5, as for Manchester coding as I understand it ( assuming that the cable transmission speed can support a speed as good as the processing one involved by the hardware at the "terminals").

    • @melkiorwiseman5234
      @melkiorwiseman5234 5 лет назад

      That's exactly how it's done with RS-232C encoding. The line stays in a known state (usually high) until it's ready to send, then it pulls the line low for a period of one bit to signal the receiver that it's about to send. Then it sends the 8 bits followed by holding the line high for a period of one or two bits (often one but sometimes two, depending on what both ends have agreed on) to signal that the byte has ended.
      Since the receiving clock is synchronised on every start bit, the clocks can drift slightly without causing errors.
      The receiving end often also uses a protocol which allows it to tell the transmitting end to repeat the garbled part of the transmission after an error is received.

  • @asselk8958
    @asselk8958 3 года назад

    Can you tell please why we don’t consider the delay from the moment signal is sent to the moment signal is received, why this period of time is not considered?

  • @alexloktionoff6833
    @alexloktionoff6833 2 года назад

    Can you explain RLL(2,7) encoding with syncing sequence?

  • @craig147680
    @craig147680 3 года назад

    Warships and Submarines have a Cesium Beam frequency standard onboard for their communications networks, Electronic Warfare and Fire Control computers. In this application cost is insignificant compared to the cost of the whole platform.

  • @NiamorH
    @NiamorH 5 лет назад +3

    if you use Manchester coding to send the message 0000 0000, won't it be misinterpreted as 0101 0101 0101 0101 ? since the clock appears to be regular?

    • @Mr_Happy_Face
      @Mr_Happy_Face 5 лет назад

      i guess, and this is only a guess, that you somehow send a rough speed of the clock at the start, then the reciever will compare the data to the clock signal at the start

    • @zoltanszatmary5552
      @zoltanszatmary5552 4 года назад +1

      At 10:21 he explains that there's still a clock, so it won't interpret it as another symbol.

  • @devonfulcher
    @devonfulcher 6 лет назад

    Would it make more sense to us a ternary system in networking instead of binary to avoid the clock? For instance a signal that goes from 2 to 0 could be interpretted as 0 and 2 to 1 would be 1. 0 to 1 would be 0 and 0 to 1 would be 1. 1 to 0 would be 0 and 1 to 2 would be 1.

    • @melkiorwiseman5234
      @melkiorwiseman5234 5 лет назад

      What you propose could be done. In fact, it would be possible to make a system where you use 256 different voltage levels to send the numbers from 0-255 (8 bits), one for each clock cycle.
      The trouble is, the more voltage steps you introduce, the more prone to interference the data is. With the 0-255 system I described, even a power line a few metres away would introduce enough interference to turn the transmission into nonsense on the receiving end, and that's not even considering the interference from various electrical devices constantly being turned on and off.
      TL;DR: It can be done, but at the cost of a less reliable data link.

  • @hussanulmaab872
    @hussanulmaab872 11 месяцев назад

    is the data referring to sender and clock referring to receiver ?

  • @cabritoguitarrista
    @cabritoguitarrista 4 месяца назад

    Is clock slip how we get package loss?

  • @thinkGrey_
    @thinkGrey_ 5 лет назад

    thanks

  • @SKF358
    @SKF358 3 года назад +1

    How does the computer know you're sending the number 75 and not the letter k?

  • @karanjoisher
    @karanjoisher 6 лет назад

    We used clocks because we couldn't reliably interpret the data which was recieved. Using clocks both the communicating nodes know at what rate they should transmit/read the data off the wire.
    So u mentioned gps and using another wire for clock sync as a way to sync clocks between these nodes. I dont understand how Manchester coding gets rid of the clock problems u mentioned, as u still need to read the data at some regular interval i.e u still need a clock right? The reciever can still read at a faster rate or go out of phase even if Manchester Coding is used, so can someone explain me how does it solve the clock issues?

    • @ms-qr4br
      @ms-qr4br 6 лет назад

      Because you are guaranteed one transition at the start of the period, you can back out the clock rate. When the receiver detects a transition either it will be at the beginning of the period, or halfway through to prepare for a repeating bit.
      If you are familiar with micro controllers, if i have a hardware interrupt trigger at every transition and mark the elapsed time off a timer that counts the nanoseconds (or whatever would be appropriate for the speed you're trying to transmit). Ill end up with a list of transitions and times some of which are at the half period, and some of which are on the period. Because we know we have a transition at every period, i know the period is the longer of the two and can throw out all the transitions that happened on the half period.
      The obvious exception is if you send all ones or zeros, in which case throw out half of them.

    • @t_kon
      @t_kon 5 лет назад

      Clock stabilizes the output. It makes the event synchronous. Without clock, it'll be async

  • @jaskaranbindra9939
    @jaskaranbindra9939 2 года назад

    Wow!

  • @asselk8958
    @asselk8958 3 года назад

    May it’s because signal is received so fast that we ignore the delay? Or I’m wrong?

  • @mahkhi7154
    @mahkhi7154 2 года назад

    Instead of Transitions High to Low (=0) and Low to High (=1). Send Fats and Slims. A Fat is a 1 and a Slim is a Zero. E.g. 1 - 1 = 1 and 1 - 0 = 0. Fats and Slims. This will work, however it will Half the Data Rate. You can recover the Clock (Synchronisation) from the Transitions.
    In most Transitions you will have an even Number of 1's and 0's. If you have a Long String of 1's and 0's you will Lose the Clock (drift). However there are Techniques to deal with that I'm not gonna go in to now.

  • @alish_20
    @alish_20 3 года назад

    Not clear one thing, why in the video you didn't say anything about delay. I mean why it is not considered the time it takes for one bit to propagate from TX to RX? Is it not important or what? Can you please explain. Thank

  • @teamupleft7097
    @teamupleft7097 4 года назад +1

    This must be so hard when you account for relativity. Satellite communications are probably an entire degree on their own

  • @anthonywolf5127
    @anthonywolf5127 3 года назад

    couldnt we just read the lenth on a one and figure out how close it is and then multiply it by the decimal percentage its off from the correct length on one bit

  • @MrNotSelc
    @MrNotSelc 3 года назад

    Real explanation starts at 7:00

  • @violinsheetmusicblog
    @violinsheetmusicblog 6 лет назад

    Why do you need two wires and not one?

    • @melkiorwiseman5234
      @melkiorwiseman5234 5 лет назад

      All electrical circuits require two wires. One takes the current out from the source and the other carries it back to the source. But you can use one wire as the "return" for multiple "outgoing" wires.

  • @pedromateus9575
    @pedromateus9575 5 лет назад

    what is an atomic clock?

    • @CODMarioWarfare
      @CODMarioWarfare 5 лет назад +2

      An atomic clock generates extremely precise and regular pulses based on the movement of atoms.
      They're not exactly common in consumer devices.

  • @ajnikhil
    @ajnikhil 9 лет назад +3

    what do you mean by clock running faster / slower ? all clocks run at the same frequency ? Do you mean there is a time difference between the two clocks ? Like one clock is ahead of other by say n secs?

    • @nrub
      @nrub 7 лет назад +3

      I know, it was a year ago but maybe you still want to know the answer. The fact is that clocks are not runing at the same frequency, there might be a little inaccuracy, so they will run a little bit slower or faster. Lets say you have two similar CPU's for example both with clock 3.3GHz, in reality chance that both have really the same clock rate is close to zero. One of them will be faster, maybe 1-2kHz but still. And by faster we talk about more cycles per second, not being ahead of other, clocks we are talking about is not like this one on wall or hand, it doesn't show you time like 3:17AM, it makes pulses very regular.

    • @melkiorwiseman5234
      @melkiorwiseman5234 5 лет назад +2

      "Clock" in this context does not refer to a time-of-day clock like a wristwatch, but to a timing device used to keep something running regularly. Think of it more as being like a metronome in music.

  • @MrNotSelc
    @MrNotSelc 3 года назад

    I still don't understand how the two compuers synchronize :/

  • @chitoiup
    @chitoiup 7 лет назад +3

    Why not use something like 5V for 0 and 10V for 1? Then you don't need a clock, because each data point would be either 5V or 10V. You would send them in pulses. So 0V->5V->0V would mean it's a 0 and 0V->10V->0V would mean it's a 1. There would be no 5V->10V and vice-versa transitions.

    • @TheSunriseAnimation
      @TheSunriseAnimation 7 лет назад +1

      probably because it is sower because there are double as many signals per datasignal we want to send, i thought about making the clock and the data two signals on one line with two different changes in voltage ( the clock for example switches between 0 and 3 volts and the data between 0 and 5) so we have no differences in transmission time.

    • @scitwi9164
      @scitwi9164 7 лет назад +7

      The more different voltage levels to distinguish, the harder it is to distinguish them, especially when there's a noise on the line. But if you have only two levels, they're the easiest to distinguish even on a very noisy line.
      What you described, though, has the same problem as when using 0V and 5V levels - it's just shifted upwards (as if you added a constant DC offset to the signal).

    • @nikolaikalashnikov4253
      @nikolaikalashnikov4253 7 лет назад +2

      As pointed out in the video, the original problem was a long duration of zero voltage... making it hard to distinguish how many zeros the message contained. Which based on clock syncrho, it was determined to be five zeros.
      Your scheme seems to have solved that problem without using a clock:
      Message:
      0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 1
      Your scheme: (Where A is hex for ten):
      Voltage -> 050A05050A050A0A050A05050505050A0
      Manchester encoding:
      Voltage -> 50 05 50 50 05 50 05 05 50 05 50 50 50 50 50 05
      7:36 **So another approach that we can take that's actually quite common is kinda ingenious which is to combine clock & data by using different symbols to represent ones and zeros**
      Your scheme accomplishes this goal in an elegant manner.

    • @t_kon
      @t_kon 5 лет назад

      It's called level triggering. What is used in the video was an edge triggerring. Which is divided into 2, rising edge and falling edge. Problem with level triggerring is that the input itself can have noises and will interfere during that level triggerring period. Which is why falling/rising edge is used instead.

  • @fernando_roman
    @fernando_roman 7 лет назад

    No se ve nada

  • @boris---
    @boris--- 8 месяцев назад

    3:28 yes Clock Slip...

  • @Mtaalas
    @Mtaalas 6 лет назад +1

    The contrast between the lines and the background is really poor.
    It feels like you've recorded on lower resolution than your display and some lines are thus almost invisible. I, and I'm sure many others, would appreciate it if you can upload the video back with proper resolution or with thicker line width and sharper contrast so it's easier to watch.
    The content itself is great regardless!

  • @computeraidedworld1148
    @computeraidedworld1148 2 года назад

    Gentlemen, synchronize your data

  • @mikewilliams1035
    @mikewilliams1035 3 года назад

    100th comment

  • @moa2487
    @moa2487 4 года назад

    Fucking well explained...

  • @swagmaster2079
    @swagmaster2079 4 года назад

    When you go in, but you miss 3:31

  • @spambot7110
    @spambot7110 5 лет назад +3

    your comments around 4:30 are misleading. No-one uses GPS satellites or atomic clocks to synchronize bus clocks. It provides a lot of pointless information (you don't care about the date or time of day when trying to shift in bits from a serial link), and wouldn't even be accurate enough for modern communication links that signal in the realm of hundreds of MHz or in the GHz. Plus it just moves the problem; how do you communicate between that super-duper clock and the rest of the computer?
    I understand you're intentionally suggesting two "bad" options before presenting realistic ones, but i'm not saying they're bad options, i'm saying they're nonsensical.

    • @billmoran3812
      @billmoran3812 4 года назад +4

      spambot71 you aren’t understanding the use of the GPS time signal. It’s not to determine the date and real time. GPS sends a highly. Accurate time pulse that corresponds to the exact interval of one second. This can be used to compare the phase of the computer clock and if there is a difference a correction can be made to synchronize the clock with the GPS time pulse. Thes is called a GPSDO, a GPS Diciplined Oscillator.

    • @chosesomething
      @chosesomething 4 года назад

      @@billmoran3812 Legendary! Where did you get that info.