Опубликован: 21.06.2011 | Доступ: свободный | Студентов: 2813 / 787 | Оценка: 4.02 / 4.11 | Длительность: 13:28:00
ISBN: 978-5-9556-0123-6
Специальности: Разработчик аппаратуры
Лекция 16:

Реализация логических элементов

Аннотация: Рассматривается различные технологии реализации логических элементов.

Логические элементы транзисторно-транзисторной логики

Схемы транзисторно-транзисторной логики (ТТЛ) базируются на биполярных транзисторах npn-структуры. Базовым элементом (рис. 16.1) данной технологии является схема И-НЕ. Логическое умножение осуществляется за счет свойств многоэмиттерного транзистора VT1 [1]. При подаче хотя бы одного логического нуля на эмиттеры этого транзистора замыкается цепь: +5 В, сопротивление R1, переход база-эмиттер, земля на входе. При этом транзисторы VT2 и VT3 остаются закрытыми. Поэтому выходная цепь не замкнута, падения напряжения в ней нет, следовательно, в точке F на выходе схемы будет потенциал источника питания, т.е. логическая единица. Выполняется правило И-НЕ [2]: при подаче хотя бы одного нуля на выходе схемы получили логическую единицу.

Базовый элемент И-НЕ на ТТЛ

Рис. 16.1. Базовый элемент И-НЕ на ТТЛ

При подаче логической единицы на все входы схемы замыкается цепь: +5 В, сопротивление R2, транзистор VT2, сопротивление R3 , земля. Следовательно, на базу выходного транзистора VT3 подается потенциал, достаточный для его открытия (соответствует падению напряжения на сопротивлении R3). Через открытый транзистор VT3 замыкается буферная цепь: +5 В, сопротивление R4, транзистор VT3, земля. Следовательно, на выходе F будет потенциал, соответствующий падению напряжения на открытом транзисторе VT3, т.е. 0.4 В. Таким образом, F=0.

На рис. 16.2 представлен логический элемент ИЛИ-НЕ. Логическое сложение осуществляется за счет монтажного соединения транзисторов VT3 и VT4. Замыкание буферной цепи (состояние F=0 ) в этом случае возможно при замыкании хотя бы одной из цепей, проходящих через сопротивления R2 и R3. Эти цепи замыкаются в том случае, если на входы подается хотя бы одна логическая единица. Таким образом, выполняется правило ИЛИ-НЕ [2]: при подаче хотя бы одной единицы на выходе схемы получим логический ноль.

Логический элемент ИЛИ-НЕ на ТТЛ

увеличить изображение
Рис. 16.2. Логический элемент ИЛИ-НЕ на ТТЛ

При замене в схеме И-НЕ многоэмиттерного транзистора VT1 на одноэмиттерный получается инвертор (рис. 16.3).

Логический элемент НЕ на ТТЛ

Рис. 16.3. Логический элемент НЕ на ТТЛ

Буферная часть схем логических элементов ТТЛ-технологии может быть реализована по-разному. В частности, резистор в буферной части может быть вынесен за пределы интегральной схемы, при этом существенно уменьшаются потери и нагрев кристалла. Такие схемы называются схемами "с открытым коллектором ". Пример такой схемы приведен на рис. 16.4.

Базовый элемент И-НЕ на ТТЛ с открытым коллектором

Рис. 16.4. Базовый элемент И-НЕ на ТТЛ с открытым коллектором

В схемах с активной нагрузкой (рис. 16.5) состояние буферной цепи определяется состоянием не одного, а двух транзисторов.

Базовый элемент И-НЕ на ТТЛ с активной нагрузкой

Рис. 16.5. Базовый элемент И-НЕ на ТТЛ с активной нагрузкой

Буферные схемы на три состояния (первые два – логический 0 и логическая 1 ) имеют помимо информационных, разрешающий вход Е (рис. 16.6). При Е=1 диод VD2 подключен на обратное напряжение, поэтому дополнительная цепь, включающая в себя диод VD2 и вход Е, разомкнута и не влияет на работу логического элемента. Таким образом, осуществляется "разрешение" работы элемента. При отсутствии такового разрешения Е=0. Диод VD2 оказывается подключенным на прямое напряжение, замыкается цепь + 5 В, сопротивление R2, открытый диод VD2, земля на входе E. Следовательно, на базу транзистора VT3 в буферной части схемы подается потенциал, соответствующий падению напряжения на открытом диоде, т.е. 0.2 В. При таких условиях данный транзистор закрыт, поэтому выход F оказывается отключенным от источника питания. Кроме того, независимо от состояния информационных входов A и B, замкнется входная цепь +5 В, сопротивление R1, переход база-эмиттер транзистора VT1, земля на входе E. Поэтому, как было описано выше, транзисторы VT2 и VT4 будут закрыты. Вследствие закрытия VT4 выход F будет отключен также и от земли. Таким образом, схема будет не в нулевом и не в единичном, а в "третьем" состоянии, которое называется состоянием высокого сопротивления, Z-состоянием, высокоимпедансным состоянием. Все перечисленные термины обозначают одно и то же: выход схемы отключен и от источника питания, и от земли.

Базовый элемент И-НЕ на ТТЛ с выходом на три состояния

Рис. 16.6. Базовый элемент И-НЕ на ТТЛ с выходом на три состояния

Логические элементы nМОП-технологии

Схемы nМОП-технологии базируются на полевых (МОП) транзисторах с индуцированным каналом n-типа. Базовым элементом (рис. П16.7) данной технологии является схема И-НЕ. Логическое умножение осуществляется за счет последовательного соединения каналов транзисторов VT1 и VT2. Канал между истоком и стоком в nМОП-транзисторе индуцируется в том случае, когда на затвор (вход схемы) подается положительный относительно подложки потенциал. Цепь от +5 В до земли замкнется только в одном случае, когда A=B=1, поскольку в этом случае оба транзистора открываются и образуется единый канал, замыкающий цепь.

Логический элемент И-НЕ nМОП-технологии

Рис. 16.7. Логический элемент И-НЕ nМОП-технологии

Функция ИЛИ-НЕ осуществляется за счет параллельного соединения таких транзисторов (рис. 16.8): при подаче хотя бы на один вход единицы индуцируется канал в соответствующем транзисторе и замыкается цепь от +5 В до земли. Следовательно, на выходе будет потенциал, соответствующий падению напряжения в канале транзистора, т.е. 0,2 В, при этом F=0.

Логический элемент ИЛИ-НЕ nМОП-технологии

Рис. 16.8. Логический элемент ИЛИ-НЕ nМОП-технологии

Схема инвертора (рис. 16.9) строится на базе одного транзистора.

Логический элемент НЕ nМОП-технологии

Рис. 16.9. Логический элемент НЕ nМОП-технологии

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.9013103133472watchdog( )../bootstrap.inc:0
22.9016103135912module_invoke( )../bootstrap.inc:967
32.9016103137768call_user_func_array ( )../module.inc:462
42.9016103138104devel_watchdog( )../module.inc:462
52.9018103138952decode_entities( )../devel.module:382
62.9018103140872drupal_error_handler( )../devel.module:340
72.9018103144496watchdog( )../common.inc:663
82.9018103146536module_invoke( )../bootstrap.inc:967
92.9018103148392call_user_func_array ( )../module.inc:462
102.9018103148728devel_watchdog( )../module.inc:462
112.9019103149424decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.9013103133472watchdog( )../bootstrap.inc:0
22.9016103135912module_invoke( )../bootstrap.inc:967
32.9016103137768call_user_func_array ( )../module.inc:462
42.9016103138104devel_watchdog( )../module.inc:462
52.9018103138952decode_entities( )../devel.module:382
62.9018103140872drupal_error_handler( )../devel.module:340
72.9018103144496watchdog( )../common.inc:663
82.9018103146536module_invoke( )../bootstrap.inc:967
92.9018103148392call_user_func_array ( )../module.inc:462
102.9018103148728devel_watchdog( )../module.inc:462
112.9019103149424decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.9013103133472watchdog( )../bootstrap.inc:0
22.9016103135912module_invoke( )../bootstrap.inc:967
32.9016103137768call_user_func_array ( )../module.inc:462
42.9016103138104devel_watchdog( )../module.inc:462
52.9018103138952decode_entities( )../devel.module:382
62.9025103141064drupal_error_handler( )../devel.module:340
72.9025103144752watchdog( )../common.inc:663
82.9025103146792module_invoke( )../bootstrap.inc:967
92.9025103148648call_user_func_array ( )../module.inc:462
102.9025103148984devel_watchdog( )../module.inc:462
112.9026103149760decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.9013103133472watchdog( )../bootstrap.inc:0
22.9016103135912module_invoke( )../bootstrap.inc:967
32.9016103137768call_user_func_array ( )../module.inc:462
42.9016103138104devel_watchdog( )../module.inc:462
52.9018103138952decode_entities( )../devel.module:382
62.9025103141064drupal_error_handler( )../devel.module:340
72.9025103144752watchdog( )../common.inc:663
82.9025103146792module_invoke( )../bootstrap.inc:967
92.9025103148648call_user_func_array ( )../module.inc:462
102.9025103148984devel_watchdog( )../module.inc:462
112.9026103149760decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.9032103134016watchdog( )../bootstrap.inc:0
22.9032103136056module_invoke( )../bootstrap.inc:967
32.9032103137912call_user_func_array ( )../module.inc:462
42.9032103138248devel_watchdog( )../module.inc:462
52.9032103138952decode_entities( )../devel.module:382
62.9033103140872drupal_error_handler( )../devel.module:340
72.9033103144480watchdog( )../common.inc:663
82.9033103146520module_invoke( )../bootstrap.inc:967
92.9033103148376call_user_func_array ( )../module.inc:462
102.9033103148712devel_watchdog( )../module.inc:462
112.9033103149408decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.9032103134016watchdog( )../bootstrap.inc:0
22.9032103136056module_invoke( )../bootstrap.inc:967
32.9032103137912call_user_func_array ( )../module.inc:462
42.9032103138248devel_watchdog( )../module.inc:462
52.9032103138952decode_entities( )../devel.module:382
62.9033103140872drupal_error_handler( )../devel.module:340
72.9033103144480watchdog( )../common.inc:663
82.9033103146520module_invoke( )../bootstrap.inc:967
92.9033103148376call_user_func_array ( )../module.inc:462
102.9033103148712devel_watchdog( )../module.inc:462
112.9033103149408decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.9032103134016watchdog( )../bootstrap.inc:0
22.9032103136056module_invoke( )../bootstrap.inc:967
32.9032103137912call_user_func_array ( )../module.inc:462
42.9032103138248devel_watchdog( )../module.inc:462
52.9032103138952decode_entities( )../devel.module:382
62.9038103141064drupal_error_handler( )../devel.module:340
72.9038103144752watchdog( )../common.inc:663
82.9038103146792module_invoke( )../bootstrap.inc:967
92.9038103148648call_user_func_array ( )../module.inc:462
102.9038103148984devel_watchdog( )../module.inc:462
112.9039103149760decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.9032103134016watchdog( )../bootstrap.inc:0
22.9032103136056module_invoke( )../bootstrap.inc:967
32.9032103137912call_user_func_array ( )../module.inc:462
42.9032103138248devel_watchdog( )../module.inc:462
52.9032103138952decode_entities( )../devel.module:382
62.9038103141064drupal_error_handler( )../devel.module:340
72.9038103144752watchdog( )../common.inc:663
82.9038103146792module_invoke( )../bootstrap.inc:967
92.9038103148648call_user_func_array ( )../module.inc:462
102.9038103148984devel_watchdog( )../module.inc:462
112.9039103149760decode_entities( )../devel.module:382