Difference between CPPM and S-BUS?

Gary Seven

Rocketman
Hey everyone. I've been mulling over picking up the Naze32 and building either a quad or hex with it, just for the "tinker factor." From what I've read so far the Naze can utilize CPPM, which I assume is a serial connection like S-BUS, but is not the same as S-BUS. Because my only experience so far is with the Naza-M V2 combined with S-BUS, I assume the two (CPPM and SBus) are not interchangeable.

What is the difference between these two protocols? If you like just point to a good "how to" link. Thanks!
 


Old Man

Active Member
The latest AMA magazine has an article that describes the differences sort of well. Worth reading.


Sent from my iPhone using Tapatalk
 


econfly

Member
The short answer is that S.Bus and CPPM are very different and not at all interchangeable unless you happen to have hardware that can read both.

S.Bus is a digital protocol where each channel is encoded with a value ranging from 0 to 2047. The channels values in binary are ordered, divided into bytes, and transmitted as a 100 kilobit/sec serial signal (generally known as a UART). To read the signal and identify channel values you have to decode it, extract the bytes of information, align them, and pull out the 11-bit (0 to 2047) values for each channel. You then convert the channel values to the usual pulse-width values. The bottom line on S.Bus is you can't just look at the signal on an oscilloscope and identify channels, nor can you do anything useful with the signal without first decoding it. The nice thing about S.Bus is it preserves channel values precisely, it has parity checking in the serial encoding, and it can be read with ease using a micro controller with hardware UART decoding built in.

Combined PPM is much simpler (and completely different). You can see individual channels on an oscilloscope and extracting channel values is a straightforward process. The channels, represented by pulse widths, are just stacked one after the other. Like all PPM/PWM signals, the downside is that precise signaling requires precise edge creation and detection, and you end up with effective resolution generally lower than the 11 bits used by S.Bus. This doesn't matter much for RC purposes, however, because resolution of, say, 8 bits, is more than enough for real world use.

For practical purposes, none of this much matters unless you are building hardware or software to deal with these signals. Otherwise you just buy hardware that can read the signal or use decoders or converters to get the job done.
 
Last edited by a moderator:


Old Man

Active Member
Sorry Gary, I failed to note you're in Spain. The AMA is the Academy of Model Aeronautics but the doesn't matter. The description in the magazine blows compared to what econfly provided.
 

Top