logo search
КС-ZAO / Лекции ЦЭВМруский вариант11

§7.3.2 Запись в порт

При выполнении инструкций, которые изменяют значение регистра порта, новое значение появляется в регистре во время S6P2 (step 6 phase 2) финального цикла инструкции. Реально, регистры портов отображают выходные буферы только во время фазы 1 любого такта. (во время фазы 2 выходные буферы содержат значение, которое было в них во время фазы 1). Следовательно, новое значение появится в регистре только со следующей фазой 1, которая будет с наступлением S1P1 следующего машинного цикла .

Если новое значение требует перевода типа 0-в-1, в портах 1, 2 и 3 подключается дополнительная нагрузка во время S1P1 и S1P2 цикла, в котором идет передача. Это необходимо для увеличения скорости передачи. Дополнительный нагрузка может дать ток в 100 раз больший, чем обычная. Следует помнить, что в роли внутренних нагрузок выступают полевые транзисторы, а не линейные резисторы. Классификация нагрузки приведена на рис. 7.5.

В HMOS версии микросхем 8051 постоянной частью нагрузки является обедненный полевой транзистор у которого затвор соединен с истоком. Этот транзистор позволяет контакту давать ток в 0.25мА при его заземлении. В то же время там находится и обогащенный полевой транзистор, который открывается во время S1 всякий раз при переходе бита порта 0-в-1. Если в это время контакт порта закорочен на землю, этот дополнительный транзистор позволяет контакту давать дополнительные 30мА.

а) Конфигурация HMOS. Транзистор, работающий в обогащенном режиме включается на 2 периода осциллятора после перехода 0-в-1 на Q#.

б) Конфигурация CHMOS. Транзистор Р1 открывается на 2 периода осциллятора после перехода 0-в-1 на Q#. В это же время P1 открывает через инвертор и Р3 для фиксации 1. Р2 также открыт.

Рисунок 7.5. Внутренние нагрузочные конфигурации HMOS и CHMOS портов 1 и 3. Конфигурация порта 2 аналогичная, за исключением высокой нагрузки при выдаче 1-цы адресного бита.

В CHMOS версиях нагрузка состоит из 3-х полевых транзисторов p-типа. Следует помнить, что транзисторы с каналом n-типа открываются когда логическая «1» подается на затвор и закрывается, когда туда подается «0». У транзисторов с каналом p-типа ситуация обратная.

Транзистор P1 на рис. 7.5 открывается на 2 периода осциллятора после перехода 0-в-1 в регистре порта. Когда он открыт, через инвертор открывается и транзистор P3 (низкая нагрузка). Этот инвертор и транзисторы p-типа образуют защелку, которая удерживает «1».

Обратите внимание, что если на выходе контакта порта находится «1», проблемы на контакте от внешнего источника могут закрыть транзистор P3, что переведет контакт в холостой режим. Транзистор P2 – очень слабая нагрузка. Он будет открываться всякий раз, когда транзистор n-типа будет закрываться (как в обычной КМОП-структуре). Его назначение – восстанавливать значение «1» на контакте в случае если на контакте была «1» и она была утеряна в следствие внешней проблемы.