Shimano Di2 was never CANBUS - Correcting a dumb rumour

Поділитися
Вставка
  • Опубліковано 25 лип 2024
  • Rumours about by arm chair fake-gineers. I'm putting an end to this idiocy once and for all
    0:00 The fake rumour
    1:23 Differential Signaling
    2:55 CANBUS overview
    5:26 Capacitively couples signals
    8:13 DI2 on Oscillascope
    12:28 List of reasons
  • Наука та технологія

КОМЕНТАРІ • 17

  • @mm-ride19
    @mm-ride19 5 днів тому

    Thanks Keith for this video - it helped me get started looking at the e-tube bus to try and work out why my Di2 bike intermittently does bad things (that's a whole other story). There is way more happening on the bus than I expected. There seems to be a "sleep" mode where the voltage drops a few hundred mV and it is idle, and then when it needs to do something, it does some wake up signalling and goes into the active mode. There seems to be two different message lengths - a longer one about 130us, and then a shorter one about 50us, both using the BPSK signalling you describe. The longer ones appear to be the data carrying ones. The short ones can appear just after one of the longer ones, perhaps as an ack message, or they can also appear as an idle/heartbeat message if there has been no activity on the bus for about 1ms. So there is lots happening on the e-tube bus and none of it looks anything like CAN. And there is also all the big voltage dips and noise when the derailleurs actually move!

  • @ArashFallah
    @ArashFallah 4 місяці тому +7

    Now go and edit the CAN bus page in Wikipedia!
    "The CAN bus protocol has been used on the Shimano DI2 electronic gear shift system for road bicycles since 2009, and is also used by the Ansmann and BionX systems in their direct drive motor."

  • @zachbrown7272
    @zachbrown7272 4 місяці тому +2

    Keith, another excellent video. As someone who's worked on robots, cars, 3d printers, basically a whole myriad of devices with CAN in them, I've listened to a lot of people explain CAN and you've probably done one of the best jobs yet. With regards to the capacitive coupling of the differential signal, I noticed that you're using ceramic capacitors. Keep in mind that the capacitors value goes down as a DC bias is applied. So depending on the size and dielectric of the cap, you may be working with a capacitor that is 10% of the value you expected it to be.

    • @kwakeham
      @kwakeham  4 місяці тому +1

      Thanks. I'm by no means a CANbus expert but I've been using a lot of this stuff more and more lately. I never thought of that about the DC bias affecting the capacitance since I was using them to AC couple. I tried a few values but mostly derived my starting points from a Paper from TI about coupling differential RS485. I simulated in LTspice as well and got about the same results.... it works sort of, until real life stops it.

  • @polluelo1980mark
    @polluelo1980mark 4 місяці тому +1

    First generation DI2 was not CAN, that was very rudimentairy signal to get the thing shifting. By memory there was a seperate signal wire to each derailleur and with one 'modulation' it shifted up and with another down.

  • @BogdanTheGeek
    @BogdanTheGeek 4 місяці тому +1

    I get your frustration with RS486 over power line, but it is possible and reliable. I am not sure what transivers you are using, but I have implemented this exact feature for a product and it worked. Granted, you need quite high data rates and you can't supply much current (~10-50mA) but it is possible. Difficult, but possible.

  • @philippep.8122
    @philippep.8122 3 місяці тому +1

    10:21: i am not sure where you get that CAN bus speed has to be 1Mbps. I do CAN bus decoders for motorcycles and they run at 500Kbps. You can have up to 1Mbps but doesn’t mean have to. It's even on the snippet you are showing: "maximum".

  • @sabamacx
    @sabamacx 4 місяці тому +2

    Aha! So it's CANBUS over 1-wire protocol! You're just looking at the wrong OSI layer!

  • @c0d3z3r01
    @c0d3z3r01 28 днів тому

    Well, there seem to be multiple generations of Di2, where one of the earlier ones was BPSK. Later ones seem to use a proprietary protocol based on SW-CAN.
    You are only talking about regular CAN bus. Did you know about SW-CAN (single wire can)? Maybe Shimano created a proprietary variant that can be AC coupled on a DC power line, like Yamar Electronics did with their DCAN500 transceiver.
    Oh btw, also check out TI Appnote SLLA336, which can probably applied to CAN as well.

  • @madetheweekend
    @madetheweekend 4 місяці тому

    Finally, somebody is opening the di2 door! 👍 Take my money and take this all the way!

    • @kwakeham
      @kwakeham  4 місяці тому +1

      I've got an LTspice simulation designed of a very very simple comparator based BPSK demodulator that simulates well but it's still way more complex than what Shimano actually uses. With my OOK modem being a decent first step I kind of want to see if I can get some faster speeds by copying the BPSK modulation but I need more thought on how.

  • @zoenagy9458
    @zoenagy9458 4 місяці тому +1

    check shimano patents, and IC that generates PSK, could be standard

  • @EstelonAgarwaen
    @EstelonAgarwaen 3 місяці тому

    Somebody make a derailleur system over BACnet already lol

  • @Jackisaboss1208
    @Jackisaboss1208 3 місяці тому

    Good old ISO 11898

  • @poopy_pants_joe1194
    @poopy_pants_joe1194 3 місяці тому

    The crank is going to blow apart... who cares about canbus?