1
\$\begingroup\$

Following this question, @curious_cat had more questions in comments that deserve a proper Q here:

Is there any standard encoding that has evolved on the digital encoding side? Just as 4 to 20 mA is de facto standard on the analog side especially in process control?

So I wonder, in applications where rapid change is crucial, say airplane control, avionics etc. what sort of protocols have become the convention? Do they use 4 to 20 mA or PWM or dedicated buses?

\$\endgroup\$
3
  • 6
    \$\begingroup\$ Mandatory xkcd: xkcd.com/927 \$\endgroup\$
    – PlasmaHH
    Commented Nov 30, 2016 at 15:08
  • \$\begingroup\$ @PlasmaHH that should be an answer so much that in fact, I'm going to make it an answer. \$\endgroup\$ Commented Nov 30, 2016 at 15:10
  • \$\begingroup\$ There is the IEEE 1451 standard for digital sensors. (It's little known, apparently. Perhaps that's because IEEE wants an arm and a foot for these standards. In the wild, I'm yet to come across a sensor that implements this standard.) \$\endgroup\$ Commented Nov 30, 2016 at 17:26

3 Answers 3

5
\$\begingroup\$

In avionics (particularly flight safety critical) it is not unusual to see the usual comms (SPI, I2C) within a box, but externally it is usually going to be ARINC 429 (civil) or MIL-STD-1553B (Military) to / from sensors.

There are others such as STANAG 3910 which is used on Typhoon.

Within a system that communicates between boxes (not aircraft level) it is not unusual to see manchester encoded signalling.

I have also seen interfaces use HDLC / SDLC.

Oddly enough, the update rate for flight safety critical equipment is not that fast; typically 50Hz or so (put that in perspective for moving a flying control surface at a 20 milliseconds update rate)

\$\endgroup\$
3
\$\begingroup\$

As @PlasmaHH commented:

XKCD 927 Standards
XKCD: Standards by Randall Munroe, CC-BY-NC 2.5-licensed

So, no. There's not a standard, mostly because everyone has a different idea of what's the best way to do something specific with a lot of freedom in implementation. Part of the problem certainly is a lack of willingness to sit together to standardize on the side of semiconductor manufacturers – which is certainly why saying "SPI" isn't enough, but you still have to specify clock polarity and signal/clock phase – giving you four non-interchangeable, yet easily convertible SPI "versions".

Note that being the creator of a specific bus for a specific system might have enormous commercial advantages; for example, if you hold the patent describing a unique feature of that bus, you can both get rich by licensing that technology to other companies, and exclude competitors from your market. So, inventing a bus is often done either to exclude a competitor, or in an attempt to enter a market without using someone else's patented technology.

\$\endgroup\$
2
  • \$\begingroup\$ That's true but sometimes de facto standards emerge. I don't have to pay anyone royalty to use a 4 to 20 mA standard and yet suppose I made a process pressure sensor that output 15 to 45 mA it'd be quite annoying to all concerned. So, yes, externally imposed standards don't see adoption but sometimes standards can evolve that make sense & they see wide adoption. \$\endgroup\$ Commented Nov 30, 2016 at 15:42
  • \$\begingroup\$ And of course, patents expire. I2C for example was originally propietary but now the patents have expired, so anyone can make an I2C-compatible interface freely (though if they want to actually call it I2C they are supposed to get a trademark license) \$\endgroup\$ Commented Nov 30, 2016 at 17:51
1
\$\begingroup\$

Is there any standard encoding that has evolved on the digital encoding side? Just as 4 to 20 mA is de facto standard on the analog side especially in process control?

Not really. Well, I²C is pretty standard for a lot of small sensors, SPI is even simpler, but needs a chip select line for each sensor if you connect multiple to one bus master; 1Wire is popular, too, and is pretty similar to what's used here.

For high-rate ADCs and sensors including those, JEDEC specifies standards like JESD204 – but these are completely different kinds of beasts.

You've got to realize that hardware components are built for a purpose.

I guess the purpose of the pressure sensor in the original question was to be a cheap, yet high-resolution sensor for usage with a microcontroller. The protocol used doesn't need high-quality oscillators or clock-keeping on either sides, it's easy to generate and decode, it's not terribly high-speed but easy to drive, and needs but one line for communication.

If you'd built a sensor that gave 1 million readings per second instead of that sensor's 0.000040 million readings per second, the protocol would be impractical, and you'd use something else.

In any case, using an analog current feels a bit arcane to me – I like the fact that current-based communication is less prone to errors, but if you'd communicated using digitized values, for example over a digital current loop system, you'd get the same error-safety for far less power consumption, and at a much lower system cost. I consider analog 4-20mA a "legacy thing", with a very specific usage scenario: Sensor that directly integrates into process control devices that only accept 4-20mA signals. For everything else, the "standard" is suboptimal.

So I wonder, in applications where rapid change is crucial, say airplane control, avionics etc. what sort of protocols have become the convention? Do they use 4 to 20 mA or PWM or dedicated buses?

I don't know about avionics – but in cars, using dedicated digital buses like CAN is the norm, and they can use very resilient physical layers at relatively high rates.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.