7
\$\begingroup\$

I'll keep it simple:

  • The two states are called HIGH and LOW (and in some cases HIGH-Z, but not relevant here)
  • For ACTIVE-HIGH signals, the state HIGH corresponds to the ACTIVE state; How would you call the state LOW?

Maybe in this case, instead of calling the states ACTIVE and ???, it would be more suitable to call them ON and OFF?


As comments suggest, this highly depends on the context. Just to give some context, I am writing a digital input-output driver where the user can define whether the signal is active-high or active-low.

And then when reading or writing the signal, I don't want to use words HIGH and LOW because they obfuscate the intended configuration (active-high and active-low). My first thought was to use the words ACTIVE and INACTIVE, but the word INACTIVE is something I have not seen very often (if any), hence the question.

\$\endgroup\$
7
  • 1
    \$\begingroup\$ Depends on the context. In terms of chip select signals and the like, the other state is just "inactive". In terms of data communication, we rather just speak of high/low corresponding to binary 1 and 0, assuming "active high". \$\endgroup\$
    – Lundin
    Commented Mar 25 at 9:18
  • 1
    \$\begingroup\$ The terminology dominant and recessive is often used in data communications, although it refers to the voltage level which is actively driving the bus signal. Which is not necessarily corresponding to a logical 1. \$\endgroup\$
    – Lundin
    Commented Mar 25 at 9:40
  • 1
    \$\begingroup\$ The DOMINANT/RECESSIVE combination is interesting! However, I see it more suitable for a pair of states in which one state is "stronger" than the other. Eg. when two drivers drive the bus at the same time, the DOMINANT state wins. \$\endgroup\$ Commented Mar 25 at 9:43
  • 2
    \$\begingroup\$ ACTIVE/IDLE? In Telecom, we have MARK/SPACE. \$\endgroup\$
    – hcheung
    Commented Mar 25 at 9:48
  • 4
    \$\begingroup\$ I like IDLE in the context of enable-style signals like " chip enable", "read enable" or request-style signals like "interrupt request" or "hold request". As a soft vote against INACTIVE, look at SCSI: They use the terms ASSERTED/NEGATED, originally in open-collector mode. NCR (later Symbols, then Broadcom) built chips that sped up the trailing edge by driving high instead of just tristating. They called it "Active Negation Technology", clearly using "active" as opposite to "high-z". "Active Deactivation" would sound quite strange. \$\endgroup\$ Commented Mar 27 at 8:18

5 Answers 5

15
\$\begingroup\$

One set of terminology often used for signals is asserted and deasserted.

It takes no part on if the signal is active high or active low. Same as active or inactive.

You almost never use the terms signal is on or off, for the same reason that you might turn LED on or off with an active high or active low signal.

The pair dominant and recessive are also not suitable, because they mean different thing. That compares to open-drain or open-collector outputs well. For example, chips have often open-drain active low outputs for requesting attention, the pin might be called an interrupt pin. In that case you can connect multiple interrupt pins on the same 'bus', so anyone on bus can request attention. The low is clearly the dominant state and high is the recessive state as it means the pin is high only when no one is pulling low. That terminology is mostly used on CAN bus, but you can also use RS-485 bus in dominant&recessive mode.

\$\endgroup\$
7
  • \$\begingroup\$ The assert/deassert combination is interesting, but I prefer active/inactive because it introduces fewer new words, and deassert is equally "awkward" as inactive. The reason why I mentioned the on/off combination is exactly because it does not care whether the signal is active-high or active-low. Eg. LEDs that are turned ON by pulling the line low will have the DIO signal configured as active-low and you simply call the dio_on() to turn it on, and vice-versa for dio_off(). But I agree that active/inactive is probably more suitable than on/off in this context. \$\endgroup\$ Commented Mar 25 at 9:51
  • 2
    \$\begingroup\$ @MarkoGulin The on/off is a function of the state, not the state of high and low, or asserted/deasserted. I think active and inactive is a bit ambiguous, because if you say that a GPIO output is inactive, is it then not an output, but three-stated or an input. \$\endgroup\$
    – Justme
    Commented Mar 25 at 9:58
  • 2
    \$\begingroup\$ @MarkoGulin In your context, the terms "asserted/deasserted" are both common and unambiguous. \$\endgroup\$
    – Velvet
    Commented Mar 25 at 10:17
  • 1
    \$\begingroup\$ I like the terms assert and deassert, or assertion and deassertion This is the standard that was used in the VME bus documentation. IMM active and inactive has led to confusion at times. I'll see if I can dig up an example. \$\endgroup\$
    – SteveSh
    Commented Mar 25 at 12:25
  • 2
    \$\begingroup\$ @MarkoGulin It is not new terminology for anyone involved in electronics. Changing the meaning of the word "asserted" in your design though, that's going to cause problems for every single engineer who ever works with this, who knows what "asserted" means for all electronics engineers. Seriously, don't try to change meanings of words. \$\endgroup\$
    – Graham
    Commented Mar 25 at 21:35
6
\$\begingroup\$

The terms to use for the states your question describes are asserted and negated.

I first saw these defined by Motorola in the 68000 MPU datasheets. I have used them ever since.

Terms that are often used these days are asserted and deasserted. The latter is inferior because it defines something only in terms of what is isn't ('not asserted'), rather than defining clearly what it is with a declarative term.

There has been an unfortunate and weakening trend in used English to put prefix a word with 'de' to mean 'opposite of', rather than to use the existing contrary term. It can be seen all around in so many places (the awful 'de-escalate'). We haven't quite reached 'de-up' instead of 'down' but we see plenty on it's way to that. In written documentation (particularly for us authoring engineering specifications, reports etc.), it is much more valuable to use terms that explicitly state what something is, rather than use 'de-' to only say what it isn't. It conveys a more identifiable meaning to the reader or listener.

\$\endgroup\$
4
  • \$\begingroup\$ Your arguments make sense, but I see assert/deassert combination more as: asserted active state and deasserted active state. The negated probably makes more sense for it being a declarative term as you say it, but I find it more intuitive to use the deassert term. \$\endgroup\$ Commented Mar 25 at 11:47
  • \$\begingroup\$ @MarkoGulin, it's a matter of opinion and I've really no axe to grind on it. As you say, deasserted goes with active state but as does negated, no difference. The difference is just if you want to say on and off, or say on and de-on. I also find assert*/*deassert just too similar-looking in the sea of words in a paragraph. But I like to write docs that are clear, unambiguous and communicate ideas on paper into heads of readers as distinctly and directly as possible. On my latter point, I don't think the 'de-everything' club have the same goals, there it's just kinda laziness :-) \$\endgroup\$
    – TonyM
    Commented Mar 25 at 13:57
  • 1
    \$\begingroup\$ I agree, and I probably got it from the same place. A signal is asserted if it is in the active state, negated if it is not. For similar reasons, I use "leading edge" and "trailing edge" rather than "rising edge" and "falling edge" for pulses. Leading edge is the transition to the asserted state, and trailing edge is the transition to the negated state. \$\endgroup\$
    – Dave Tweed
    Commented Mar 25 at 14:30
  • 1
    \$\begingroup\$ Another data point for your comment on the increasing use of the "de-" prefix: electricians are now being taught to use the terms "de-isolate" in place of "energise". So the words "de-isolate" & "isolate" replace "energise" & "de-energise", & "energise" and "isolate". \$\endgroup\$ Commented Mar 25 at 21:02
4
\$\begingroup\$

This is probably going to be opinion based, but I would say PASSIVE or INACTIVE.

The terminology however is ambiguous, active and inactive could refer to the signal being driven or undriven. The suggestion to avoid this terminology is a good one although the choice of on and off has the same problems.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Clearly opinion-based. I would never say that a signal that is not in active state is in passive state, because it may be actively driven into the inactive state. \$\endgroup\$
    – Justme
    Commented Mar 25 at 9:21
  • \$\begingroup\$ Agreed but active and inactive could have the same meaning as to be be driven or undriven maybe the op is correct to suggest avoiding this terminology. \$\endgroup\$
    – RoyC
    Commented Mar 25 at 9:32
  • \$\begingroup\$ Thanks for the suggestion! Indeed, INACTIVE was my first thought, but I have not seen it being used very often (if any). I was hoping for an answer like "the word xyz is normally used as an opposite to ACTIVE in this context" :) \$\endgroup\$ Commented Mar 25 at 9:38
4
\$\begingroup\$

Some standards define the names. E.g. see CAN Dominant and Recessive Bus States in the TI Introduction to the Controller Area Network (CAN) application report:

The two signal lines of the bus, CANH and CANL, in the quiescent recessive state, are passively biased to≉ 2.5 V. The dominant state on the bus takes CANH ≉ 1 V higher to ≉ 3.5 V, and takes CANL ≉ 1 V lower to ≉ 1.5 V, creating a typical 2-V differential signal as displayed in Figure 7.

enter image description here

As pointed out in a comment, dominant and recessive are only applicable to open drain (or open collector) rather than push/pull drivers. Currently the question doesn't seem to specify which type of driver is in use, which highlights why context is important.

\$\endgroup\$
3
  • \$\begingroup\$ Thanks! I have not thought of the dominant/recessive combination, but as I mentioned in one of the comments, I see it more suitable for applications in which one state is "stronger" than the other (CAN protocol being one such application.) \$\endgroup\$ Commented Mar 25 at 9:46
  • 1
    \$\begingroup\$ Dominant and recessive is not same as active and inactive. A push-pull output driving high or low has no concept of dominant and recessive states. An open-drain output does have. \$\endgroup\$
    – Justme
    Commented Mar 25 at 9:54
  • \$\begingroup\$ CAN clearly defines these terms within the context of CAN bus. Outside of this context the words are meaningless. \$\endgroup\$
    – RoyC
    Commented Mar 26 at 23:43
3
\$\begingroup\$

This question cannot be answered without the context. Each context may have its own jargon for these signals.

Some signals are meant to be read as they are. True and False are the simplest logical labels for single signals.

Some signals are intended to be subject to further logic by wire-ORing or ANDing by being connected to other similar outputs. This separates the intention of driving any particular source, and the value that is read from that logic operation, and complicates the naming.

Often, and especially in the old TTL days, negative logic was used for practical electrical reasons, and 'driven' meant low voltage, an instant source of confusion.

A (non exhaustive) list of possible pairs of words to use includes
True and False
0 and 1
High and Low (Hi and Lo)
Active and Inactive/Passive
Driven and Undriven
Asserted and Deasserted/Unasserted
Mark and Space
Dominant and Recessive

I'm sure there are pairs I have missed, and more pairs to be created by system designers anxious to avoid the confusion of previous usage xkcd almost but not quite relevant

\$\endgroup\$
1
  • \$\begingroup\$ I know there is no absolute truth here, but I wanted to hear what were the alternatives to the ACTIVE/INACTIVE combination. \$\endgroup\$ Commented Mar 25 at 13:13

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.