Микросхемы аппаратной поддержки микропроцессора
В нашем микропроцессорном приборе использованы 22 интегральные схемы, из которых 10 представляют собой мощные функциональные БИС (ЦП, память, параллельные и последовательные порты, календарь-часы, АЦП и ЦАП), а остальные 12, составляющие очевидное большинство, являются низменными вентилями, триггерами, буферами и фиксаторами. Эти микросхемы низкой и средней степени интеграции нужны для сочленения между собой больших микросхем и иногда называются "склеивающей логикой". Количество этого клея можно существенно уменьшить, если прибегнуть к помощи ПЛМ или даже (в условиях массового выпуска) заказных или полузаказных микросхем, специально разработанных под конкретную задачу. Тем не менее, фиксаторы и, особенно, тристабильные буферы используются весьма интенсивно во всех микропроцессорных системах, так что краткий обзор имеющихся возможностей вполне уместен. После этого мы коснемся некоторых распространенных поддерживающих БИС (последовательные и параллельные порты и преобразователи) и завершим главу обсуждением запоминающих устройств.
11.10. Микросхемы средней степени интеграции
Фиксаторы и 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 мА по выходу. С другой стороны, БИС начинают играть всеми цветами радуги, когда вам требуется богатство возможностей (прерывания, причудливые режимы входов и выходов и т. д.), а не просто грубая сила.
Буферы. Другой тип микросхем, используемый в микропроцессорных разработках целыми пригоршнями, - это тристабильные буферы. С их помощью на шине устанавливают адреса и данные. Чаще всего вы просто посылаете данные в ЦП, как это было с вашим простым вводом данных с DIP-переключателя. Как и в случае фиксаторов, имеются варианты микросхем шириной 8 бит и более, с 20 и 24 выводами. Микросхемы могут иметь такие черты, как входной гистерезис (для подавления шума), инверсные выходы, разнесенные выводы, а также раздельные входы разрешения для двунаправленной передачи. Специальные двунаправленные буферы со входами направления и разрешения (вместо пары входов разрешения) называются приемопередатчиками; в табл. 8.5 перечислены их характеристики.
На рис. 11.23 показан двунаправленный буфер, использованный для усиления относительно маломощной (~ 5 мА) шины данных микропроцессора, что позволяет нагружать ее сопротивлением и емкостью платы, заполненной микросхемами; такие буферы обязательны в микрокомпьютерах, где плата ЦП должна направлять относительно большие токи в системную шину на объединительной плате, характеризующуюся высокой емкостью.
Рис. 11.23.Шинный приемопередатчик.
Часто можно найти микросхему средней степени интеграции с тристабильным выходным буфером и другими удобными для вас чертами; например, счетчик, фиксатор или даже АЦП/ЦАП с тристабильными выходами можно непосредственно подсоединить к микропроцессорной шине. В нашем примере так подключены АЦП//ЦАП. На рис. 11.24 показан другой пример буферизации шины: в некоторых микропроцессорах (например, 8086 и 8088) для экономии места функции выводов комбинируются, и на одни и те же выводы мультиплексируются и данные, и младшие разряды адреса.
Рис. 11.24.Мультиплектированная шина данных/адреса.
Выходной сигнал ALE (address latch enable, разрешение адресных фиксаторов) сопутствует правильному адресу и используется, как это показано на рисунке, для разрешения группы фиксаторов. Однако фиксировать данные нет необходимости, потому что стробирующие сигналы RD' и WR' действуют только когда сигналы данных имеют правильное значение. Обратите внимание на использование для буферизации двунаправленных линий данных приемопередатчика `245.