Skip to content
JazzMaverick edited this page Dec 11, 2019 · 8 revisions

Rev16.71 (by JazzMac)

  1. Add Reversed Dshot 300/600
  2. Add Dshot tlm375/750, tlm always after a reversed dshot, no command to start/stop tlm
  3. Rremove other protocols
  4. Support only BB2/49Mhz

I added the dshot telemetry function to rev16.7 and revise it to 16.71. This is a tested but still preliminary version.

Thanks for Joelucid bringing us RPM filter in Betaflight.

The RPM telemetry uses different protocol.

  1. Normal Dshot does not support telemetry. Only reversed Dshot does.
  2. Reversed Dshot inverses logic levels and also the 4bit checksum.
  3. Telemetry bit rates are 400/800kbps for dshot 300/600.
  4. Telemetry data is one electrical commutation time (eCOMM) in us.
  5. Formate of the eCOMM time is 12bit fix-precision integer: eeem mmmm mmmm.
  6. Telemetry data add a 4bit XOR checksum (inversed) at the end and is then 16bit in total.
  7. Telemetry packet becomes 20bit further coded from 16bit data using GCR: (0,2) RLL.
  8. Use NRZM to send the packet with MSB first and one start bit.

Thanks Ian444 for the motor noise plots and also test flights with good results. https://www.rcgroups.com/forums/showpost.php?p=43275163&postcount=5269 https://www.rcgroups.com/forums/showpost.php?p=43321381&postcount=5338

Rev16.72

  1. Change timming to tlm375/750
  2. Modify delay between dshot/tlm to 30us to meet spec.
  3. Fix dshot decoder INT0 wrapped issue (dshot packet loss potentially).

a. Add 10us waiting to start tlm because FC needs more time than BB2 to switch lines.

b. Dshot is a RZ signal needs double bandwidth than a NRZ format. Timming is critical especially there is a '0' following '1'. We found that if a dshot packet is dropped because of bad bit time, then a tlm packet is missing. This version try to make response time of INT0 faster. Add addjust bit time tolerance. I found no packet loss but still very few checksum error. More error could be found by mass test data although bit time issus is improved. I think a hardware serial communication is preferred.

https://www.rcgroups.com/forums/showpost.php?p=43349291&postcount=5355

Clone this wiki locally