Фиксаторы и D-регистры. Фиксаторы и регистры уже упоминались в разд. 8.24. Термин «фиксатор», строго говоря, относится к прозрачному фиксатору, у которого состояние выходов повторяет состояние соответствующих входов (на время действия сигнала разрешения). Так называемый фиксатор с фиксацией по фронту является, в действительности, регистром D-типа. Он состоит из D-триггеров с общим тактовым входом. Различие в функционировании этих схем приводит к важным последствиям, когда они используются для фиксации данных, поступающих с магистрали, что связано с особенностями относительной синхронизации во времени сигналов данных и строба записи. В частности, в соответствии с протоколом некоторых микропроцессорных магистралей (например, машин IBM PC), данные не обязательно будут достоверными на фронте строба записи, однако гарантируется их достоверность на срезе этого сигнала (и в течение некоторого минимального времени после него); см. рис. 10.6 и 11.22. При использовании прозрачного фиксатора с разрешением на все время стробирующего сигнала на его выходе почти наверняка появятся переходные состояния, как это показано на рис. 11.22.
Рис. 11.22. Синхронизация цикла записи, а — прозрачный фиксатор; б — регистр с фиксацией по перепаду.
С другой стороны, выходы регистра D-типа (тактируемого в нашем случае по срезу строба) изменяют свое состояние по перепаду строба и гарантированно не будут иметь ложных состояний. Важно отметить, что выходные биты, состояние которых с момента последнего цикла записи не изменялось, будут неизменно находиться в тех же состояниях, не подвергаясь действию переходных процессов; таким образом, с помощью выходных линий фиксатора можно спокойно создавать сигналы данных и стробов для управления последующими электронными цепями.
Делая выбор между фиксатором и регистром, учтите, что на выходе прозрачного фиксатора достоверные данные появляются раньше, и иногда это может оказаться решающим доводом. Учтите также, что на многих магистралях (в частности, МП 68008) правильные данные поддерживаются в течение всего стробирующего сигнала с учетом времен упреждения и удержания, и в этом случае D-peгистр можно тактировать по фронту, если для этого хватит времени упреждения.
Естественно, что на такой магистрали прозрачные фиксаторы не будут иметь на выходах переходных состояний. На рынке имеется большое разнообразие и D-регистров, и прозрачных фиксаторов, с такими характерными чертами, как вход сброса, «разнесенные» выводы (все входы на одной стороне, все выходы на другой), инверсные выходы, тристабильные выходы (удобные для подключения к шине), а также раздельные по входам сигналы разрешения. Последнее качество упрощает внешнюю логику, позволяя тактировать фиксатор сигналом строба записи, а разрешать по входу сигналом с выхода дешифратора адреса. Характеристики фиксаторов были перечислены в табл. 8.9. Всеобщими любимцами являются восьмиразрядные тристабильные микросхемы `373 (фиксатор) `374 (D-регистр) или их модернизированные варианты с разнесенными выводами `573 и `574. Все они упакованы в DIP-корпусы с 20 выводами. В таком же корпусе выпускается микросхема `273, которая представляет собой микросхему `374 с сигналом сброса (но не тристабильную), а также микросхема `377-вариант `374 с сигналом разрешения (но без трех состояний). Более новые «долговязые» DIP-корпусы с 24 выводами имеют привычную ширину 0,3 дюйма, но предоставляют несколько дополнительных выводов. Так, новейшая серия `821 включает 8- и 9-разрядные регистры и фиксаторы со входами разрешения и сброса и тристабильными выходами, и все это в корпусах с разнесенными выводами.
Заметьте, что во многих приложениях некоторые из этих узких микросхем с 20 и 24 выводами могут оказаться удобнее причудливых БИС параллельных портов с 40 выводами (шириной 0,6 дюйма). Например, в нашей разработке мы использовали для ЭЛД-порта 8-разрядный регистр `273, а для порта DIP-переключателей 8-разрядный буфер `240. Вместо этого можно взять БИС параллельного порта вроде Zilog 8536 (хотя для такого примитивного прибора хватило бы и более простой микросхемы Intel 8255), которая стоит дороже, потребляет больше места и питания и требует дополнительного программирования. Однако для БИС характерна меньшая мощность выходов (1,7 мА на выходе и ничтожный входной ток у микросхемы 8255, в сравнении с 8 мА как на входе, так и на выходе у микросхемы `НСТ273). Некоторые микросхемы фиксаторов/регистров средней степени интеграции, когда дело доходит до выходных характеристик, напоминают могучих битюгов: микросхемы семейства `АС(Т) могут принимать и отдавать до 24 мА, а для серии `AS821 характерны значения 24 мА по входу и 48 мА по выходу. С другой стороны, БИС начинают играть всеми цветами радуги, когда вам требуется богатство возможностей (прерывания, причудливые режимы входов и выходов и т. д.), а не просто грубая сила.