реклама на сайте
подробности

 
 
> Моделирование RS-триггера, Создать модель и дать ответ
locas
сообщение Nov 23 2005, 08:03
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 33
Регистрация: 29-07-05
Пользователь №: 7 194



Думаю, что в заданном далее вопросе есть и математика и физика… smile.gif

Схема RS-триггера хорошо известна.
В учебниках приводится таблица истинности (ТИ), описывающая работу триггера. И уже здесь сразу возникает вопрос: RS-триггер – это последовательностная схема, которая описывается моделью конечного автомата(КА), а ТИ описывают только комбинационные схемы – автомат без памяти. Так вот об этом противоречии в учебниках обычно ни слова.

О запрещенной комбинации на входах. С одной стороны, да, она переводит триггер в режим, когда на его выходах будут одинаковые сигнала. С другой стороны, кто запрещает ее? В реальной схеме она всегда может возникнуть, например, в результате гонок сигналов, неправильной работы и т.д. Но почти большинство воспринимают «запрещение» как невозможность такой комбинации. Мол, раз так написано, то «этого не может быть, потому что этого не может быть никогда». Но это в корне не так: и может и бывает.

Все смотрят на таблицу истинности и … верят, что на выходах триггера всегда будут только устойчивые состояния. И мало кто знает, что это не так. Даже если на вход не подавать запрещенную комбинацию.
Прекрасно известно, что при переключении триггера из одного устойчивого состояния в другое на его выходах будут кратковременно две единицы, если это триггер на элементах И-НЕ, и два нуля, если на элементах ИЛИ-НЕ. И, кстати, эту ситуацию легко отловить: подключаем выходы триггера к элементу И-НЕ и на выходе его считаем импульсы.
Такая «правильная» работа триггера (при переключениях) может быть источником ошибок в работе схемы. И это тоже должно быть понятно почему: ожидаем только 01 или 10 (это по ТИ), а тут, откуда ни возьмись – 11!

А теперь то, ради чего все это затевается.
Внимание! Если на вход триггера подать запрещенную комбинацию – 00! То на выходах будет – 11. И то и другое запрещено. Но 11 на выходах появляется и в разрешенных случаях. Так что возникновение 00 на входах триггера ситуация тоже вполне возможная. Например, проинвертируем выходы триггера и подадим на входы другого триггера. Чем не реальная схема! wink.gif
Но мы поступим проще: соберем «в кучу входы триггера» и будем подавать в эту точку сначала 0, а потом 1. Что в этом случае будет (начальные условия: сигналы – двоичные, задержки у элементов триггера – равные, единичные):
1. С формальной моделью?
2. С моделью реализованной в среде моделирования?
3. С реальным триггером?

Интересует ответ на последние три вопроса.
Но больше даже ответ на вопрос 2, который можно получить, создав соответствующую модель.
Почему больше на 2-й? Потому что первый требует владения формальными методами, а это достаточно сложно. Хотя на интуитивном уровне, думаю, можно дать ответ, оперируя значениями сигналов «на пальцах». На третий вопрос тоже не так просто получить ответ. Даже в том случае (с запрещенной выходной комбинацией), который был описан выше. Но если кто-то знает ответы на все три вопроса, то будет только хорошо.

Итак. Может ли кто дать ответ хотя бы на вопрос 2, заданный выше, собрав для этого модель триггера. Для конкретики его входы должны быть соединены в одну точку. В исходном состоянии на ней ноль - 0. Через какое-то время подается «единица» - 1, которая затем держится достаточно длительное время (хоть до бесконечности).
Что будет на выходах RS-триггера?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SM
сообщение Nov 23 2005, 20:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Ну Вы прямо как в детском саду. Не опускаясь до транзисторов, эту проблему Вам не разрешить. Ведь Вы считаете логические элементы черными ящиками... Причем логическими. Единица/ноль. А они вовсе не логические. Они имеют коэффициент передачи, АЧХ/ФЧХ... Соединив вход с выходом, вы получаете систему с обратной связью. АНАЛОГОВУЮ!!!! Любая цифровая схема, если вникнуть, аналоговая. Теперь возникает вопрос - а каково условие генерации в системе с обратной связью? Ну и ответ на него (точнее подсказка) - коэффициент передачи системы.... коэффициент передачи цепи ОС... Фазовый сдвиг там и тут... Узнав все это, Вы узнаете, загенерит ли данная схема, или не загенерит.

Где собака порылась? А в схемотехнике. В одном триггере задержка от входа R больше, чем от S. Вот он и встает постоянно в одно состояние. В другом - наоборот. Встает в другое. В третьем - задержка абсолютно идентична, да паразитная емкостишка где-то подкачала... Вот и заосциллировал. А в четвертом вообще топология другая - пара последовательных инверторов, выход второго слабый (или через резистор) идет на вход первого. И на этот же вход подаем жесткий ноль для переброса в ноль, жесткую 1 для переброса в 1 и обрыв (Z-состояние) для хранения. Тоже RS-триггер... И применяется он в реальных изделиях. Вот вам и ответ на вопрос #2. Про "в реальной среде моделирования". Возьмите такую реальную среду (Microcap,Spectre,HSpice, PSpice и много-много других), да помоделируйте. потыкайте кондерчиков-резючков паразитных туда-сюда, посмотрите поведение. И вопросы эти сами отпадут.
Go to the top of the page
 
+Quote Post
locas
сообщение Nov 24 2005, 08:49
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 33
Регистрация: 29-07-05
Пользователь №: 7 194



Цитата(SM @ Nov 23 2005, 23:50) *
Ну Вы прямо как в детском саду. Не опускаясь до транзисторов, эту проблему Вам не разрешить.

Почти что smile.gif Только я том "саду", где ... нет транзисторов. Ну, например, я лично держал в руках логический элемент И-НЕ на воздушных клапанах. Это применяется там, где нужы особые требования к пожаробезопасности.
Цитата(SM @ Nov 23 2005, 23:50) *
Ведь Вы считаете логические элементы черными ящиками... Причем логическими. Единица/ноль.

Конечно, - ЧЯ. И эти ЧЯ допускают любую реализацию, а не только на транзисторах. В дополнении к "воздушному" можно, например, на реле и т.д. и т.п. Здесь для меня важно чтобы та или иная реализация ЧЯ как можно точнее реализовывала мое достаточно абстрактное понимание этого ЧЯ как логической функции.
Но есть реальные вещи, которые как бы мы не абстрагировались, скажутся и на нашем абстрактном понимании. Ну, например, ничто не происходит мгновенно. Поэтому если мы напишем y = !(x1^x2) (это я так записал И-НЕ), то между изменениями входных переменных (x1, x2) и изменением выхода будет какое-то время. Хоть умри! Оно будет сколь угодно малым, но никогда не будет равным нулю.
Эти нюансы в синтезе цифровых схем на уровне формальных моделей отражены в двух моделях - комбинационной и последовательностной. В комбинационной модели временем пренебрегают, в последовательностной (модель КА) его учитывают.
Все это я не к потому, что думаю, что Вы это не знаете, а к тому, чтобы пояснить почему к вашему "Единица/ноль" в случае с КА нужно добавить еще - задержка, которая определяется в этом случае числом тактов дискретного времени.
Хорошая схемотехника, насколько мне известно, тем лучше, чем ближе она реализует наше абстрактное представление. Например, двоичное кодирование с идеальными фронтами - 0 и 1, задержку, которая чем меньше, тем лучше и т.д. и т.п. Как это достигает - вот это уже уровень транзисторов, воздухопровода, катушек и контактов реле и т.д. и т.п.
Цитата(SM @ Nov 23 2005, 23:50) *
А они вовсе не логические. Они имеют коэффициент передачи, АЧХ/ФЧХ...

И да и нет. Логические, т.к. обязаны реализовывать некоторую логическую функцию, т.к. именно для этого и созданы (согласны?). То, что имеют АЧХ/ФЧХ? Возможно, но в идеале не должны иметь, т.к. есть на уровне определения 0, 1 и, если не принебрегать совсем уж реалиями, - задержка (как можно меньше). И в тех или иных рамках рабочего диапазона все это условно так и есть: фронты 0, 1 - идеальные, задержка - известная... Поэтому речь именно о такой работе, когда реальная работа физического элемента соответствует его абстрактному представлению.
Цитата(SM @ Nov 23 2005, 23:50) *
Соединив вход с выходом, вы получаете систему с обратной связью. АНАЛОГОВУЮ!!!! Любая цифровая схема, если вникнуть, аналоговая. Теперь возникает вопрос - а каково условие генерации в системе с обратной связью? Ну и ответ на него (точнее подсказка) - коэффициент передачи системы.... коэффициент передачи цепи ОС... Фазовый сдвиг там и тут... Узнав все это, Вы узнаете, загенерит ли данная схема, или не загенерит.

Интересный вопрос. Попробуем соединить комбинационную логическую функцию И-НЕ. Получим:
y = !(x1^y);
Явно что-то не то! smile.gif Если x1 будет 0, то ... y должен быть 1. А если x1 станет равным 1? Будет противоречие. Т.к. если взять текущий y=1, то справа будет 0, но слева-то 1.
Но если мы "нарисуем" наш И-НЕ в форме КА, то ... схема должна генерировать. Без всякого противоречия.
Выше я сочинял прямо по ходу. И поэтому было бы интересно проверить работу генератора на элементе И-НЕ. Тут уже не будет разных задержек, но, думаю, скажется АЧХ/ФЧХ. Но как? Т.к. по формальным признакам элемент схема обязана генерировать на частоте соответствующей задержке, вносимой элементом. Проверьте, если не сложно.
Кстати, если мы возьмем просто элемент И, то и противоречия не будет, но ... не будет и генерировать, т.к. нет условий для генерации. Хотя есть обратная связь и все эти АЧХ/ФЧХ. Запрещает генерацию сам смысл реализуемой логической функции. Так что условия генерации определяются еще и смыслом реализуюемой объектом функции?
Цитата(SM @ Nov 23 2005, 23:50) *
Где собака порылась? А в схемотехнике. В одном триггере задержка от входа R больше, чем от S. Вот он и встает постоянно в одно состояние. В другом - наоборот. Встает в другое.

И да и нет. Да, т.к. встает из-за разных задержек. Но нет, т.к. все еще определяется типом задержки. Если она транспортная, то триггер бы генерил бы и при разных задержках. Но все дело в том, что реальные системы имеют инерционные задержки. В этом случае генерации не будет. Ее сорвет элемент с меньшей задержкой. Это я выяснил, когда сделал триггер на реле и пытался его заставить генерировать. Величину задержек доводил до нескольких секунд, но ни в какую. А все потому, что сделать их равными реально нельзя (а вот в модели можно). Вот если бы удалось, то при равных задержках и на реле бы загенерировал wink.gif
Цитата(SM @ Nov 23 2005, 23:50) *
В третьем - задержка абсолютно идентична, да паразитная емкостишка где-то подкачала...
Вот и заосциллировал.

А откуда она берется в модели, если Вы только туда ее сами не вставите. Ведь если модели одинаковые, то одинаково все. В том числе и эти самые емкостишки. А тогда - должна генерировать. Но генерировать постоянно. Я бы мог согласится, что в реальном элементе она затухнет (хотя бы по причине того, что задержки "текут"), то в модели...?
Цитата(SM @ Nov 23 2005, 23:50) *
А в четвертом вообще топология другая - пара последовательных инверторов, выход второго слабый (или через резистор) идет на вход первого. И на этот же вход подаем жесткий ноль для переброса в ноль, жесткую 1 для переброса в 1 и обрыв (Z-состояние) для хранения. Тоже RS-триггер... И применяется он в реальных изделиях.

Тут я даже задумался Такой триггер мне не попадался еще wink.gif Спасибо. cheers.gif Я их коллекционирую. biggrin.gif
Да, это скорее всего RS-триггер. Хотя... Хотя у последнего два установочных входа, а тут один. Но, с другой стороны, выхода тоже два. Да и связи перекрестные, но только вот этот резистор. По сути в рабочем режиме он не работает (из-за жесткости установочного сигнала), а потому получаем схему, где вторая (на которую подается сигнал) определяет выход первой. Меняем сигнал - меняется состояние триггера. Кстати, в этом случае у него и переходные процессы будут иными, чем у обычного триггера. Если у обычного триггера переходное состояние одно (у триггера на И-НЕ - 11), то тут будет два - 00 или 11.
Сохраняет состояние триггера - "разрыв". И вот в этой ситуации (при разрыве) связь между элементами как бы появляется: выход первого элемента поддерживает состояние второго и тем самым сохраняется устойчивость системы.
Привлекает эта схема еще и тем, что я не вижу в ней ... генерации. Т.е. того режима, который возможен в обычном триггере. Что вызывает сомнение - это еще одно состояние сигнала - "разрыв". Его еще нужно создавать. С ноликами-единичками привычные. Потом у обычного триггера "трепыхание" одного сигнала при единичном втором не вызовет переключение триггера. Здесь триггер откликнется на любое изменение сигнала. Значит, и на ложное. Я бы даже сказал, что обычный триггер переключается фронтом сигнала, а тут будет "потенциальное" переключение (хотя это скорее условно).
Цитата(SM @ Nov 23 2005, 23:50) *
Вот вам и ответ на вопрос #2. Про "в реальной среде моделирования". Возьмите такую реальную среду (Microcap,Spectre,HSpice, PSpice и много-много других), да помоделируйте. потыкайте кондерчиков-резючков паразитных туда-сюда, посмотрите поведение. И вопросы эти сами отпадут.

В том-то и дело, что хотелось бы проектировать систему на формальном уровне. В последнем триггере, например, сразу возникают вопросы с формализацией решения. Уже, например, о булевой алгебре, автоматах говорить сложно (нужно все же подумать wink.gif, т.к. появляется третье состояние сигнала - "разрыв". Это уже специфика. Может, потому я об этом триггере впервые и услышал от Вас. И уже это хорошая компенсация за то, что я решился на постановку здесь вопроса о триггере. Не думал, что услышу что-то новое wink.gif Век живи - век ... мучайся wink.gif
А вопросы ... всегда останутся. Мне кажется, что их будет еще больше, если лезть во внутрь черных ящиков. Нужно, наверное, разделять труд. Я, например, проектирую схему в некотором идеализированном базисе (0/1, единичные задержки и т.п.), а Вы, к примеру, создаете реализацию этого базиса. Желательно без отклонений и добавлений (типа еще одного уровня сигнала "разрыв"). Хотя в данном случае мне удалось построить модель поведения последнего триггера. Но если появится еще один уровень сигнала, то ... не знаю как я вывернусь. По крайней мере тут уже будет другое проектирование на уровне формальной модели. А нынешнее проектирование, насколько я представляю, основные проблемы стремится решить именно здесь - на уровне модели устройства. Так дешевле, быстрее (с точки зрения времени проектирования), надежней (с точки зрения последующего функционирования устройства).

Цитата(Al Volovich @ Nov 24 2005, 11:05) *
Найдите два абсолютно идентичных транзистора - тогда и поговорим. На уровне физики ничего, абсолютно идентичного не существует.

Согласен. Даже не буду искать wink.gif
Цитата(Al Volovich @ Nov 24 2005, 11:05) *
И у RS-триггера комбинация 11 потому и запрещена, что она приводит к непредсказуемым и неповторимым в серии последствиям. На одном экземляре может быть один результат, на другом экземпляре той же серии - другой

Все будет повторимо, если элементы достаточно различаются. Достаточно, например, чтобы задержка одного была гарантированно больше чем у другого. Например, если взять элементы разных по быстродействию серий, то результат будет однозначно определяться тем элементом у которого задержка меньше. Так что будет и предсказуемо и повторимо. Другое дело, когда элементы почти идентичны, а их задержки меняются любым образом. Тогда и результат ... будет следовать за тем элементом, у которого текущая задержка будет меньше.
Могу даже признаться, что таких реальных экспериментов не делал, но есть твердая уверенность, что так и будет. По крайней мере, если я это смоделирую у себя. Думаю, что это будет также и в других системах моделирования цифровых схем. Надеюсь, конечно, что так будет wink.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- locas   Моделирование RS-триггера   Nov 23 2005, 08:03
- - SM   Цитата(locas @ Nov 23 2005, 11:03) Итак. ...   Nov 23 2005, 08:19
|- - locas   Цитата(SM @ Nov 23 2005, 11:19) Ответов т...   Nov 23 2005, 12:27
|- - Al Volovich   Цитата(locas @ Nov 23 2005, 17:27) Но мне...   Nov 24 2005, 08:05
- - SM   Насчет логических/нелогических. Они логические, по...   Nov 24 2005, 09:56
|- - locas   Цитата(SM @ Nov 24 2005, 12:56) ...Вы обя...   Nov 24 2005, 12:44
- - Vic1   Locas, может поясните - зачем Вам такая упрощенная...   Nov 24 2005, 13:01
|- - locas   Цитата(Vic1 @ Nov 24 2005, 16:01) Locas, ...   Nov 24 2005, 14:07
|- - vetal   Цитата(locas @ Nov 24 2005, 17:07) Цитата...   Nov 24 2005, 18:13
|- - locas   Цитата(vetal @ Nov 24 2005, 21:13) А.А. Ш...   Nov 24 2005, 19:53
- - SM   1). Про то, как моделирую я. В принципе. Сначала я...   Nov 24 2005, 19:42
|- - locas   Цитата(SM @ Nov 24 2005, 22:42) 1). Про т...   Nov 24 2005, 20:30
|- - locas   Цитата(SM @ Nov 24 2005, 22:42) 1). Про т...   Nov 25 2005, 08:03
- - vetal   В принципе, решение может быть простейшим - постав...   Nov 24 2005, 20:18
- - SM   ЦитатаВот! Вот такая "прикидочная модель...   Nov 25 2005, 11:46
|- - locas   Цитата(SM @ Nov 25 2005, 14:46) Я на этом...   Nov 26 2005, 13:16
- - SM   ЦитатаС одной строны, Вы правы. А с другой, все оп...   Nov 26 2005, 20:46
- - SM   ЦитатаС одной строны, Вы правы. А с другой, все оп...   Nov 26 2005, 20:47
|- - locas   Цитата(SM @ Nov 26 2005, 23:47) Так, если...   Nov 27 2005, 14:46
- - SM   Сорри за два одинаковых сообщения - я не виноватая...   Nov 26 2005, 20:51
- - SM   ЦитатаОстается один невыясненный момент: по теории...   Nov 27 2005, 21:51
|- - monya   Цитата(SM @ Nov 27 2005, 21:51) И опишем ...   Nov 28 2005, 10:53
||- - SM   Цитата(monya @ Nov 28 2005, 13:53) SM Мож...   Nov 28 2005, 11:01
|- - locas   Цитата(SM @ Nov 28 2005, 00:51) Вот тепер...   Nov 28 2005, 12:09
- - SM   ЦитатаЭто проще, но для меня почти неприемлемо П...   Nov 28 2005, 14:13
|- - locas   Цитата(SM @ Nov 28 2005, 17:13) Вот! ...   Nov 28 2005, 17:26
- - SM   ЦитатаЭто интересный момент. Как замкнуть? Как это...   Nov 28 2005, 19:31
- - locas   Цитата(SM @ Nov 28 2005, 22:31) P.S. Чест...   Nov 28 2005, 20:49


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 22:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.0154 секунд с 7
ELECTRONIX ©2004-2016