Почему Digital 0 не 0V в компьютерных системах?


32

Я учусь на курсе по разработке компьютерных систем, и мой профессор сказал нам, что в цифровых системах обычные напряжения, используемые для обозначения цифрового 0 и цифрового 1, менялись с годами.

По-видимому, еще в 80-х годах 5 В использовалось в качестве «высокого», а 1 В использовалось для обозначения «низкого». В настоящее время «максимум» составляет 0,75 В, а «минимум» составляет около 0,23 В. Он добавил, что в ближайшем будущем мы можем перейти к системе, где 0,4 В означает максимум, а 0,05 В - минимум.

Он утверждал, что эти значения становятся меньше, чтобы мы могли снизить энергопотребление. Если это так, то почему мы вообще стараемся установить «низкий уровень» на любое положительное напряжение? Почему бы нам просто не установить истинное напряжение 0 В (я думаю, нейтральное от линий электропередач)?


9
Я думаю, что самое простое объяснение состоит в том, что в проводах / трассах / «переключателях» (транзисторах) есть паразитные сопротивления, поэтому вы никогда не достигнете 0 В, поэтому вам нужен запас. По мере того, как технология становится лучше, края могут становиться все теснее.
Уэсли Ли

26
Логика никогда не имела абсолютных единичных значений для высоких и низких значений; TTL имеет абсолютный диапазон, а чистый CMOS имеет диапазон, определенный шиной питания.
Питер Смит

8
Нижний предел никогда не составлял 1 В, обратите внимание на ответ Энди, в котором говорится, что это 0,4 В или 0,8 В в зависимости от того, отправляете вы или получаете (говорите аккуратно, вслушивайтесь)
Neil_UK

4
Указанное вами напряжение является верхней границей (порогом) для логического нуля.
CramerTV

3
Нет такой вещи, как 0 В, только в идеальном мире мы говорим об этом.
Мачта

Ответы:


45

Вы путаете «идеальное» значение с допустимым диапазоном ввода.

В обычной логике, в идеальных условиях логический ноль будет точно 0В. Однако в реальном мире нет ничего идеального, и электронный выход имеет определенный допуск. Реальное выходное напряжение зависит от качества проводов, шума электромагнитных помех, тока, который он должен подавать и т. Д. Для устранения этих недостатков логические входы обрабатывают весь диапазон напряжения как 0 (или 1). Смотрите картинку в ответе Энди.

То, что ваш лектор, вероятно, подразумевал под 0,75 В, является одной из точек, составляющих логический 0 диапазон.

Обратите внимание, что также есть пустой диапазон между 0 и 1. Если входное напряжение падает здесь, входная цепь не может гарантировать правильную работу, поэтому эта область называется запрещенной.


76

Вы запутались. Посмотрите на TTL, например:

enter image description here

Низкий уровень входного сигнала находится между 0 вольт и небольшим значением выше 0 вольт (0,8 вольт для случая TTL).

почему мы прилагаем все усилия, чтобы установить «низкое» на любое положительное напряжение вообще?

Мы прилагаем все усилия, чтобы убедиться, что оно ниже определенного небольшого значения.

Картинка отсюда .


Чтобы расширить это, действительные диапазоны входного напряжения отличаются для сигнализации TTL в сравнении с CMOS и LVCMOS. Причиной этого является то, что логике TTL (и совместимой с ней NMOS, которая следовала за ней) было гораздо сложнее подтягиваться к положительному рельсу, чем к земле. Современная логика CMOS может работать одинаково хорошо в любом случае, и проще симметрично построить входной каскад CMOS. Выход CMOS успешно управляет входом TTL, но вы должны использовать специальные TTL-совместимые входы с выходом TTL.
Chromatix

Хорошее и подробное объяснение на эту тему от TI, здесь: ti.com/lit/an/scla011/scla011.pdf
Chromatix

16

Невозможно произвести истинную нулевую вольт-логическую сигнализацию. Должен быть допущен некоторый допуск, так как схема не бесконечно совершенна. Тратить деньги, пытаясь сделать его бесконечно совершенным, тоже не будет хорошим вложением средств на дизайн. Цифровая схема развилась и развивается так быстро, потому что она использует огромное количество копий очень простых и устойчивых схем, которые являются логическими элементами.

Двоичные состояния 1 и 0 представлены в цифровых логических схемах логическим высоким и низким логическим напряжением соответственно. Напряжения, представляющие высокий логический и низкий логический значения, попадают в заранее определенные и предварительно согласованные диапазоны для используемого семейства логических устройств.

The ability to work with voltages within these ranges is one of the primary advantages of digital logic circuitry - it's not a failing. Logic gate inputs can easily distinguish between logic high and logic low voltages. Logic gate outputs will produce valid logic high and low voltages. Small signal noise is removed as logic signals pass through gates. Each output is restoring the input signal to a good logic voltage.

With analogue circuits, it is between more difficult and practically impossible to distinguish noise from the signal of interest and to reject the noise entirely.


4
Very sharp thresholds (without hysteresis) also mean ridiculously high gain amplifiers. Also known to be ridículously feedback and oscillation prone, drift prone, and generally nervous.
rackandboneman

Also note that logic 1 and 0 can be usefully represented as low and high voltages respectively where it makes more sense for the circuit to do so. Indeed, signals like global resets are traditionally active low, and in the nmos era (A technology that was notoriously bad at pulling up) and to a lesser extent the TTL era (same issue) it was common to male IO active low just because that was the only way to actually get any current to flow.
Dan Mills

Also of note is current-mode logic where logic values are defined in terms of current rather than voltage. This allows for faster switching and better noise tolerance in transmission (because of Kirchhoff's current law) at the cost of increased power usage (though Wikipedia claims that picoamp CML has been achieved, so that wouldn't be an issue either).
John Dvorak

8

Additionally to the points that is made by the other answers, there is the issue of parasitic capacities at high switching speeds (the usually ignored capacitance of wires and other components). Wires usually also have a slight resistance. (A very simplified model!)

schematic

simulate this circuit – Schematic created using CircuitLab

Being an RC network, this results in an exponential falloff curve ( V ~ e^-kt ). If the receiver sets it threshold very low (near 0V) then it would have to wait a significant time for the output voltage drop enough to trigger the threshold. This time might seem insignificant, but for a device supposed to switch a million (billion even) times a second, this is a problem. A solution is to increase the "OFF" voltage, to avoid the long tail of the exponential function.


6

Because nothing is perfect and you need to provide for this with a margin of error. Those numbers are thresholds. If the lowest possible voltage in your system is 0V and your threshold is 0V, where does that leave you if ALL your components and wiring aren't perfect conductors (i.e. always have some voltage drop) and noiseless in a noiseless environment? It leaves you with a system that can never output 0V reliably, if it can even do it at all.


3

In a 2 rail system (usually chips powered with just a single positive voltage plus ground), whatever switch or device is pulling the output capacitance down to a low signal level has finite resistance, and thus can’t switch a signal wire to zero Volts in finite time. (Ignoring superconductors). So some realistic lesser voltage swing is chosen which meets performance requirements (switching speed vs. power requirements and noise generation, etc.)

This is in addition to margins needed to cover ground noise (different ground or “zero” voltage levels between the source and destination circuits), other noise sources, tolerances, and etc.


0

Contrary to some responses here I'm pretty sure that there has been such a thing as a pure 0V low in the past. Relay logic! I don't think we want to go back to that though!


6
Did your relays use superconductors? I don't think so.
Elliot Alderson

1
+1 because of unfair criticism. A pure 0V can be easily achieved. It can almost be achieved with a relay and simply with access to devices connected to negative supplies and feedback if desired. That it has been used as a required design value for digital communications does seem unlikely though but that should not be reason to down vote this answer.
KalleMP

2
@ElliotAlderson No I cannot, I specifically wrote that it was unlikely to exist which means I have no way to prove that it does. However can you prove that such design value has never been required? I didn't think so. Now go and give the new guy an up vote (to get it back to zero) so he does not get demoralised by nitpicking and go away and we loose one more bright (young) mind because of no good reason.
KalleMP

1
@ElliotAlderson I think that if you put a scope on a real relay coil, you would see the voltage go through zero on its way to a largeish negative value when the contacts open. But, it's unclear to me whether you're talking about a real circuit, or an ideal circuit. Do ideal contacts arc? If not, then the voltage must go to negative infinity. In any case case, after the contacts have opened and the arc is extinguished the resistance in the ideal circuit will be infinite. Not sure what that does to your time constant.
Solomon Slow

1
@SolomonSlow The transient behavior is real but it is easily modeled with an ideal circuit. The resistance that controls the behavior of the coil voltage after the contacts open is the resistance of the coil itself (giving you the benefit of the doubt that there are no leakage currents of any kind). It's a parallel RL circuit at that point, which requires infinite time for the inductor current to fall to exactly zero. Even in the practical world, there is some time when the voltage across the coil is non-zero but the relay's contacts become open...a logical '0' with non-zero voltage.
Elliot Alderson
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.