Вы не говорите так много слов, но «холостой ход» предполагает, что вы имеете в виду UART. UART - это точка-точка, соединенная с линейными трансиверами, как вездесущий, но устаревший MAX232 (в настоящее время существуют гораздо лучшие решения). Линия между микроконтроллером и трансивером также будет короткой; если есть расстояние, которое будет преодолено, оно будет между трансиверами.
Выход контроллера двухтактный.
P-MOSFET обеспечит высокий уровень, а N-MOSFET - низкий уровень. Один из них должен быть активным, иначе уровень линии будет плавать и не определяться (или определяться нагрузкой в трансивере). Оба способны подавать / поглощать некоторый ток и будут тянуть линию к рельсам, поэтому форма сигнала будет почти идеальной.
Что было бы иначе, если бы это был действительно TTL, как в вашем вопросе (микроконтроллер - HCMOS). Выходы TTL имеют высокую асимметричность: они могут подавать только небольшой ток, обычно 0,4 мА. Ток погружения в порядке, при 8 мА. Низкий ток источника может быть проблемой, если линия имеет высокую емкость и высокую скорость. Низкий ток возбуждения означает, что емкость будет заряжаться только относительно медленно, а нарастающие фронты будут медленными, что на высокой скорости может вызвать серьезные искажения сигнала. TTL никогда не используется для этого.
Ваш вопрос также может относиться к многоточечной линии , где несколько устройств могут общаться. В этом случае вы не можете использовать двухтактный выход: если одно устройство будет приводить линию в высокое состояние, а другое - в низкое, у нас будет короткое замыкание. Многоточечные линии почти всегда используют подтягивающие резисторы для поддержания высокого уровня холостого хода. Тогда только низкий уровень требует управления линией, и вместо двухтактного выхода у нас будет открытый сток, только с N-MOSFET. Линия теперь также управляется асимметрично: подтягивающий резистор может выдавать только небольшой ток, в то время как понижающий полевой транзистор может быстро подвести линию на землю. Поэтому высокоскоростные многоточечные линии ограничивают нагрузочные резисторы. Примером является I2C.