Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
272 views92 pages

UAV Data Transmission and Communication Protocols

The document discusses communication protocols used for internal and external communication in UAVs. It describes protocols like UART, SPI, I2C that are used for internal communication between components. It also discusses protocols like RC, WiFi that are used for external communication with ground stations and satellites.

Uploaded by

Reza Nugraha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
272 views92 pages

UAV Data Transmission and Communication Protocols

The document discusses communication protocols used for internal and external communication in UAVs. It describes protocols like UART, SPI, I2C that are used for internal communication between components. It also discusses protocols like RC, WiFi that are used for external communication with ground stations and satellites.

Uploaded by

Reza Nugraha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 92

UAV Data Transmission

and Protocols
“Communication is
an essential part of
any UAV”
UAV communication overview

Multi-layered communication, starting from embedded


systems protocols, binding low level components, finished on
global and extraterrestrial communication.

A great, multi-layered communication drone is … Mars Rover.


Communication components, global overview (macro scale)
Communication components in local (micro scale)
Internal communication
and protocols (micro-scale)
Internal communication

Covers all communication protocols binding drone building


components/modules.

Both for commercial and military drones.

Common physical layer is cooper (wire, PCB circuit), rare is


optical and/or wireless. Transmission distance is some mm up
to some m.

Both digital and analogue signals.


Internal communication,
analogue protocols
Analogue protocols are most common for analogue video
transmission. Sometimes for sensing.

Most common use for analogue video nowadays is FPV.

Analogue video along with analogue transmission present


lowest possible latency, essential in FPV racing.

Flight Controller is responsible for OSD (directly or via


external video processor).
Internal communication, digital
protocols
Flight Controllers used in UAV are build using popular MCUs,
like: Atmega, STM (ARM), Intel Movidius, sometimes low
voltage Intel/AMD x86/x64.

Thus digital protocols are those well known from IoT and
Embedded Systems, i.e. I2C, SPI, Serial, CAN, 1-wire, etc.
Serial (COM, UART)
Internal digital com. - UART
Possibly widest recognized serial protocol and one of the
oldest still valid and present in variety of latest devices.

Asynchronous: there is no clock signal between nodes. 1-to-1


only.

Uses at least 2 wires for bidirectional transmission: RX->TX


& TX->RX + GND.

The most popular is RS-232 dated ... 1960 (1969) :-).

Original voltage range is -15V...-3V & +3V...+15V.


Internal digital com. - UART

Besides RX & TX there is a number of signalling wires that are


(were) important in case of the dial-up connections and
half-duplex communication: RI, DCD, RTS CTS, DSR, DTR.
Currently they are not commonly used in case of fixed, wired
connections in UAVs as it would involve bunch of additional
wires (original RS-232 connector was type DB9/DB25).

Nowadays, only 3 pins are used for full duplex communication


(2 for one-directional): GND, RX, TX.
Internal digital com. - UART
UAV components share TTL logic as for the transmission (0..+5V)
or (0..+3.3V), opposite to the original RS-232 that was -15 to -3
and then +3 to +15V.

Many devices are able to accept both 3.3V and 5V logic that
excludes necessity to use logical level (voltage) converters.

It is common to drive 5V input with 3.3V logic device but mind,


opposite can be tricky and burn the receiver! Check
documentation for details to see if 3.3V logic device’s input is able
to handle 5V. If in doubt, use converter, they are ready, uni or
bi-directional devices, available on the market.
Internal digital com. - UART
RS-232: -15V…-3V presents logical 1, while +3V +15V
present logical 0.

From the embedded system this voltage is


problematic cause you need to generate relatively
high, and negative voltage from constrained power
source.

Majority of the nowaday devices identify 0..3V as


logical 0, and >3V as logical 1, thus both 3.3V and 5V
logic works.
Internal digital com. - UART

Communication speed is between 50bps and over 1Mbps.

Most common is between 9600 and 115200bps.

Maximum transmission speed is related to the distance


(longer = slower).

Other properties: parity bit, stop bit.


Internal digital com. - UART

Usage

In case of the UAVs, UART is commonly ● Flashing of the FC/components


used to: (usually serial over USB or over
Bluetooth)
● Telemetry
● External systems
communication and signalling
● Not so common for sensors but
some of them do use it (i.e. air
quality sensors).
Internal digital com. - UART

Hint

In the UAVs it may happen that: ● UART connections are usually


implemented with non-shielded
wires, thus motors via their
electromagnetic field may
interfere UART transmission.
SPI
Internal digital com. - SPI
Protocol supports 1 to many topology, but only one at a time
can transmit data.

Synchronous protocol, using separate clock signal for all


devices.

At least 3 wires (plus GND) for single device-device


connection, and then +1 wire for each extra device appearing
on the bus. If there are only 2 devices on the bus, you can limit
to 2 wires (plus GND) and permanently enable them.

Master (usually FC) controls the bus to let Slaves transmit.


Internal digital com. - SPI

MISO - Master In Slave Out - transmission channel (wire/bus)


from the device (Slave) to the controller (Master)

MOSI - Master Out Slave In - transmission channel (wire/bus)


from the controller (Master) to the device (Slave)

SCK - Serial Clock - common clock signal for all devices,


controlled by the Master

SS - Slave Select - enables Slave device to send data to the bus


Internal digital com. - SPI

Bandwidth up to 20Mbps.
Logical levels up to the technology, usually one of the TTLs:
0..5V, 0...3.3V.

There are variations: 3-wire (common MISO/MOSI for a


half-duplex transmission), multi I/O (multi channel) to
parallelise and speed up transmission, i.e. when accessing
flash.

Both extensions are rather rare in the drone’s hardware.


Internal digital com. - SPI

There are 4 modes, controlling clock polarity and probing


timing (rising edge/falling edge).

Mode must be same for Master and Slave(s) otherwise won’t


work.

Most common is mode = 0:


CPOL=0, CPHA=0; //*

* CPOL=0 ->rising edge; CPHA=0 - sampling phase in the mid of the data signal change (data signal cycle starts on falling edge of SCK)
2
IC
Internal digital com. - I2C (TWI)

Synchronous protocol with 1 to many topology.

Uses only two wires for bi-directional transmission:

● SDA - data
● SCL - clock

Transmission speed is up to 5Mbps, but typical is much slower:


100-400kbps.
Internal digital com. - I2C (TWI)

Devices share common bus. One device governs the bus


(Master).

Each device has a unique digital address (7-bit) on the I2C bus.
Many I2C devices (sensors, actuators) have a solderable pad
to change one or two bits of their address, to enable more
than one device of same type/manufacturer co-exist.

Bus requires pull-up resistors but it is common that Master


device provides them internally.
Internal digital com. - I2C (TWI)

Logical levels up to the technology, usually one of the TTLs:


0..5V, 0...3.3V.

I2C is very popular in UAVs because it uses two wires only. It is


common that FC uses I2C sensors, in particular barometer,
IMU, compass (magnetometer), proximity sensors, etc.
other
Internal digital com. - inne

There are many other (i.e. 1-Wire) protocols but are not very
common in UAVs.

The only exception is CAN that is present in rather “large” and


“professional” constructions, usually related to the PLC
controller and sharing components with automotive.

CAN protocol is very popular in the case of UGV, cars, trucks


(general automotive, majority of cars, manufactured after the
year 2000, are equipped with CAN bus onboard), and planes.
PWM (actuators)
Internal digital com. - PWM

Pulse Width Modulation (PWM)

- Used to control servos and DC motor speed (indirectly).


- PWM uses duty cycle to control energy transferred to
the actuator. It uses square wave signal with varying 1 to
0 ratio (duty cycle) while signal frequency is fixed.
Internal digital com. - PWM
Pulse Width Modulation:

- So called “Analogue” (standard) servo motors use 50Hz


(period = 20ms)
- Latest “digital” servo motors use higher, i.e. 300Hz that means
better response and lower latency
- Duty cycle defines angle
External communication
and protocols
(macro-scale)
External communication

External communication is essential to let the UAV co-exist


and be “usable”. It is used to contact ground components
(ground station), other aerial objects, satellite navigation, etc.

This communication due to its nature is:

WIRELESS

This principle applies both for UAV and UGV.


RC - Remote Control
External com. - RC

RC is essential part of any UAV.

Depending on the autonomy level and flight mode, it can be


crucial for operation (manual flight), supplementary
(correcting autonomous flight) or just suspended (when fully
autonomous flight) but in any case it is obligatory nowadays to
let the operator take control in case of emergency or
unforeseen circumstances.
External com. - RC

Physical layer:

- Old, analogue radio communication carrying PWM


signals were 27MHz i 35MHz.
- It needed unique sub-frequencies among operators, so it was
common to exchange oscillator pairs to stay unique from other
users. The advantage was: great range, disadvantage: interferences.
- Currently we use digital transmission in 2.4GHz i 5.8
GHz.
- Rare: 433MHz and 868MHz/915MHz (in US and Asia).
External com. - RC

Logical layer:

- Common RC protocols are:

- PWM - XBUS
- PPM (CPPM) - MSP (Multiwii)
- PCM - SUMD (Graupner)
- CPPM - SUMH (j.w.)
- SBUS (Futaba, Frsky) - CRSF - Crossfire (TBS)
- DSM (DSM2 i DSMX) - FPort (Frsky)
- Spektrum Satellite - SPI_RX
- FlySky IBUS
RC PWM
External com. - RC PWM

- Analogue.
- Typical “servo” duty cycle, encoded with FM. One
directional, from RC controller to the drone’s RC
receiver.
- Simple and limited in the number of concurrent channels
to be transmitted (usually 4 independent, PWM
channels).
- Easy to decode.
- Obsolete still considered as generic.
RC CPPM
External com. - RC (C)PPM
- Analogue
- CPPM transmitter composes PWM channels into the one
radio channel, then receiver decomposes them and
directs to the separate PWMs controlling servos/motors.
- Disadvantage: slow.
- 8 channel transmission utilises around 50% of the radio
bandwidth.
- When connecting RC to FC using PWM, there is one wire
per channel needed (plus power and GND) so in i.e. 8
channel system there are 10 wires in total.
External com. - RC CPPM
- It is rather old technology and obsolete still legacy:
majority of the manufacturers offer it, if not directly then
indirectly as converters from proprietary to (C)PPM.
- The advantage comparing to the PWM receiver is that it
uses only 3 wires (power, signal, gnd) to connect RC with
FC, while FC is supposed to decode (C)PPM.
RC PCM
External com. - RC PCM
- Digital
- Similar to PPM (CPPM) and developed as digital
extension of the analogue PPM
- It has transmission control (inference detection) and
limited self-correction capabilities.
- More tolerant for radio inferences comparing to the
analogue transmissions.
RC SBUS
Komunikacja zew. - RC SBUS
- Futaba & FrSky compatible (along with some clones)
- Up to 18 control (PWM) channels encoded into the single
transmission channel (radio, then wire to FC)
- Digital
- In terms of logical levels, decoded signal is an inverted
UART (inverted TTL voltage logic)
- Some MCUs standing behind FCs. i.e. STM F4 has no capability to
invert TTL logic back so requires external decoder.
- Patented by Futaba
- You can find many hacked solutions for various MCUs both for
encoding and decoding SBUS, i.e. on Github
RC DSM
DSM2 i DSMX
External com. - DSM (2,X)
- Origins from “Spectrum”, nowadays majority of other
manufacturers provide DSM implementation
- Digital
- Uses 98 radio channels, from 2.400 to 2.483GHz
- It uses double channels in operation: “base” and “backup”
(used in case of inference).
- Protocol itself is quite complex, has 4 operation modes
and bandwidth about 1Mbps (in GFSK mode).
- It uses CRC for error detection and correction.
External com. - DSM (2,X)
- DSM can switch channels dynamically is more reliable
and inference tolerant comparing to aforementioned.
- DSMX is the newer protocol, considered to be even more
inference tolerant comparing to the old DSM and DSM2.
It supports up to 100 operators to share same space. It
successfully co-exists with WiFi (same frequency range).
- In theory DSM2 and DSMX are backwards compatible
(both transmitters and receivers) but in practice it is
better to have same type pair.
RC Spektrum
Satellite DSM
External com. - Satellite
- Technical extension to the DSM.
- Ground stations with Satellite DSM provides external
antenna connector (also with dynamic positioner) to
extend range and reliability.
- In case of the UAV modules it means they present more
than one transmission/reception antennas to build
omni-directional system (so called Remote Receivers).

- It has NOTHING to do with satellite communication.


WiFi
External com. - WiFi
- Typical TCP/UDP as known from the Internet.
- Requires pretty high transmission power.
- Limited range (using directional antennas up to hundreds
of meters).
- Very crowded radio space in particular inn urban areas
- When connection dropped, re-connecting takes long
(ISO/OSI stack reset).
- It is too complex as for remote control and video
transmission, still frequently used due to the widespread
availability of software and hardware components.
External com. - WiFi
- WiFi’s advantage is that the ground station can be any of
the mobile phones, tablets, laptops. It significantly lowers
UAV solution price.
- Pretty common in toy drones.
- Many high level RC protocols use WiFi as underlying protocol i.e. for
remote configuration.
- UAV behaves then like a “flying” access point with servers
on-board.
External com. - WiFi
- Networking layer include TCP i UDP (UDP for Video).
- It is rather for telemetry, configuration as introduces high
latency, still you can control the drone if needed but
surely not for FPV racing.
- Controllers based on mobile phones / tablets present even lower
latency and low reliability because of the use of touch screen with
virtual controllers.
- Good for fun flying, eventually basic video recording tasks.
Bluetooth
External com. - Bluetooth
- Classical wireless protocol, well known from the mobile
phones as for about 20 years already.
- Currently 5.0 specification is available on the market.
- Limited range. Depending on the class, theoretically up to
100m in reference conditions:
- In practice up to 10m-20m due to the WiFi inference.
- Requires binding between transmitter and receiver (5.0
does not, when in mesh mode/topology).
External com. - Bluetooth
- Bluetooth 5.0 offers mesh topology that can be useful
when managing a swarm of drones but they must remain
in close distance.
- Bluetooth advantage is availability of hardware and
software components, and possibility to use majority of
the mobile devices as flight controllers.
- Serious disadvantage is very limited communication
range.
RC IBUS
External com. - IBUS
- Authored by FlySky
- Digital, compatible with UART 115200, 8 bits, no parity, 1
stop bit.
- Bidirectional (RC+telemetry)
- Frame is sent every 7ms
- Two wires (full duplex) onboard, between RC and FC (RX,
TX, one wire per transmission direction.
- Telemetry solution uses sensor addressing, up to 16
devices, where 0 is reserved for remote receiver’s
voltage monitoring.
External com. - IBUS
- It is very easy to connect and decode with virtually any
MCU, simply using UART port.
- Binary protocol.
- Opposite to the SBUS it is not using logical inversion.
- Even if commercially authored, it is well, open
documented and has great community support along
with number of samples and ready solutions.
RC MSP (Multiwii)
External com. - MSP
- Multiwii Serial Protocol (MSP)
- Digital
- Uses classical serial (UART), as it is application level
protocol, it does not specify speed not physical layer.
- Protocol is partially textual (non-binary).
- Communication is composed of the transactions between
transmitter and receiver.
- It is bi-directional and includes variety of message types
in their specification, including telemetry.
External com. - MSP
- The most common use is remote configuration. It also
supports remote control but rather as additional feature.
It is present (implemented) in almost any open-source FC
software
- It has full support for fully autonomous flight as loading
flight plans etc. in advanced flight controllers capable to
perform autonomous missions.
External com. - MSP
- Current MSP protocol version is v.2.0
- It is standard in all Betaflight stack delivered firmwares
for variety of flight controllers.
- It uses serial port for communication
- There are at least 2 modes of communication to maintain
compatibility with selected DJI devices, i.e. DJI Gogles for FPV.
RC FrSky Telemetry
External com. - FrSky Telemetry
- Digital, UART compatible.
- Physical layer is 433MHz, 868/915 MHz (USA, Asia).
- Limited transmission power = limited range (some 1 km)
- Implemented with some FrSky RC receiver modules.
- Not all offer this function. If FrSky module has two antennas it may
be the case it is FrSky telemetry-enabled one.
- Binary protocol, open specification.
- Supports limited, pre-defined set of sensors but pretty
comprehensive one, including GPS, temperature, RPM,
fuel level, voltage levels, altitude (baro) and so on.
RC DJI Tello
External com. - DJI Tello
- Digital using WiFi, only UDP, no TCP.
- Radio frequency 2.4 GHz, 802.11.
- Limited transmission power = limited range.
- Standard communication topology is 1:1 (drone to
ground station)
- There is a “multi” mode, that enables drones to connect to the
access point along with ground station connected to the AP and
then control all of them.
- Control protocol is text based one
External com. - DJI Tello
There are 3 communication channels that use different UDP
ports:

- Commands and replies


- Bi-directional
- Drone state
- Drone to ground station
- Video stream
- Drone to ground station
External com. - DJI Tello
Following is for Edu version (commercial uses different ports)

- Commands and replies:


- Adres IP Tello: 192.168.10.1, port 8889.
- To start programmers mode, you need to execute “command”
command.
- Then Instantiate UDP client and periodically send and receive
messages to/from Tello.
- Replies also come on UDP port 8889.
- Drone state:
- Start UDP server and listen to the messages from IP 0.0.0.0, port
8890.
External com. - DJI Tello
- Video stream from the main camera (720p 30fps, H.264
codec):
- Start UDP server and listen to the packets from the IP 0.0.0.0 i na
port 11111.
- To start transmission, one need to send “streamon” command to the
Tello drone using Command channel (port 8890).
External com. - DJI Tello
- Commands and replies channel has 3 types of commands:
- Control Commands, format “xxx”
- Replies with “ok”, if success.
- Replies “error” or result code when failed.
- Set Commands, format “xxx a”, where “a” is an argument to set:
- Replies as above.
- Read Commands, format xxx?
- Returns requested parameter value.
External com. - DJI Tello
- Selected Tello command list (refer to the SDK for full
documentation):
- “Command” turn on programmers (SDK) mode
- “takeoff” - automated take-off
- “land” - automated landing
- “streamon” - enable video stream
- “streamoff” - disable video stream
- “emergency” - immediate motors shutdown
- “up x” - ascend by x cm (x is in the range 20-500)
- “down x” - descend (as above)
- “left x” - swipe right by x cm
- “right x” -swipe left by x cm
Aerial
communication with
other UAVs and
planes
External com. - ADSB
- Digital protocol, 1090MHz
- Easy to implement using SDR, based on popular DVB-T
USB TV tuner for PCs. Also dedicated receivers.
- Flightradar 24 uses this approach.
- Each passenger plane is supposed to transmit this data.
- UAV may receive it (some FC already include integrated
receiver i.e. Orange Cube). Transmission requires
certification and ground control (Tower) communication
to obtain unique ID.
- U-space is supposed to provide similar solution for drones.
External com. - ADSB
- ADS-B has couple of modes and is used by ground control
(Tower) additional to the voice and radar data.
- Data is unencrypted, protocol is well known but for the
extended mode (Mode-S) it is hard to access official
documentation.
- There is a variety of implementations of the receivers and
decoders, including i.e. Raspberry Pi.
External com. - ADSB

- Along with ID, it delivers GPS position, heading, speed


and altitude.
- Data is broadcasted every second (at least once per 5s).
- Using this data one can implement collision avoidance
(with planes/helis) for UAVs similar to TCAS:
- TCAS is closed and secure protocol as it impacts plane flight
trajectory, taking over control automatically in the case of the
collision possibility, so there is no official documentation nor
unofficial implementations known so far.
External com. - ADSB

- Military flights and special missions do not provide ADSB


data, while some military drones do.
- So far there is no obligation to broadcast ADS-B data for
drones, ultralight and lightweight planes (in particular
those older ones), soarers, etc.
Other
communication
protocols.
Contacting Tower
External com. - Tower
- U-space implementation in various countries include one
or bi-directional communication using mobile application
to contact Tower, ask for take-off permission (if needed
by the scenario) and so on. In Poland it is Droneradar.
- Integrated web-based solution includes possibility to ask
to book airspace in Aviation Agency, present a need for
non-standard scenario, etc. That involves communication
with the Tower and Flight Control Services.
- Some operations require calling to notify FIS (Flight
Information Services).
Video Transmission
External com. - analogue video

- Analogue video is most popular in FPV.


- Usually 5.8GHz, 8-12 channels, devices depending.
- Max transmission power is 200mW according to the
regulations.
- Standard is old TV NTSC / PAL (525/625 lines)
- NTSC: 29.97fps, 720 x 480; 704 x 480; 352 x 480; 352 x 240
- PAL: 25fps, 720 x 576; 704 x 576; 352 x 576; 352 x 288
External com. - analogue video
- Even if considered obsolete, it has great advantage:
- Analogue transmission has almost no latency and is essential in
rapid FPV racing where any digital image processing brings too
much latency to be usable.
- Many modern “analogue” cameras provide capability to
record parallel video stream in high resolution for further
analysis / documentation / processing.
- Usually there is no dynamic channel switching, so
inference and quality drops are common
- Range is related to the transmission power and antennas,
using illegal boosters bring even km ranges.
External com. - analogue video

- Digital transmission as MPEG/MJPEG steam (H264,


H265)
- Typical resolution rarely go beyond 720p@25fps due to
the bandwidth.
- Common radio frequency is also 5.8GHz (sometimes 2.4)
- High latency even up to 1s
- It is a matter of encoding, decoding and digital processing
- Not suitable for demanding FPV operators.
External com. - analogue video

- Used commonly in the commercial, aerial photography


and cinematography drones.
- As cameras usually present higher resolution than 720p
(1080p, 4k, 5k, 8k), it is common to use low resolution
downlink for the operator and high resolution on-drone
storage (TF card), eventually, separate, professional high
resolution downlink for professional solutions.
Navigation
protocols
Navigation protocols

Knowing drone 3D position is essential for successful


operations, whether autonomous or manual.

● Drones use variety of positioning methods, including


(among others) satellite navigation, distance meters,
optical flow.
Satellite positioning
● For outdoor flights, satellite positioning device is an
essential part of the equipment:
○ Common is to use NMEA protocol between GPS receiver and FC,
usually over serial (UART).
○ NMEA is high level protocol.
● Modern receivers use more than one satellite
constellation to deliver accurate positioning:
○ GPS (Navstar) - USA
○ Galileo - EU
○ Glonass - RU
○ Beidou - CN
Distance sensing
● Uses variety of sensors including lidars, ultrasound
sensors and IR sensors.
● Lidars usually have some sort of proprietary protocol.
○ To map the nearby area based on the cloud point it is required
pretty high computing capacity
● Other distance sensors usually use digital signalling,
UART, SPI and I2C.
Flow and optical positioning
● Use flow sensors, similar to the PC’s optical mouse:
○ On the high level it returns relative movement of the sensor, usually
in mm or cm.
○ Low level protocols utilize SPI, I2C and UART, eventually CAN.
○ In details, this technique is used to keep drone’s position rather than
navigate.
● Camera based and image processing
○ Uses image processing and AI based algorithms
■ Requires dedicated co-processor, as FC is usually too
constrained to handle complex image processing and AI
algorithms.
The end

You might also like