Идеальный RS-триггер

Тема в разделе "WASM.HARDWARE", создана пользователем Insector, 7 мар 2007.

  1. Insector

    Insector New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    7
    Ищу в интернете информацию о совершенствовании RS-триггера.Нигде нет.Дело в том,что разрабатывая одно устройство я схемотехнически решил проблему RS-триггера.Сделал на этих триггерах блок управления для станка,уже больше полгода работает и никаких жалоб нет.Никаких сбоев...Я перечитал много литературы,получается этот триггер никто не победил,эту проблему просто обошли стороной(JK-триггер например).У меня устранена строка ошибки.Получился асинхронный RS-триггер без строки ошибки.Ищу собеседников по этой теме...
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Insector
    А по подробнее можно. Что за строка ошибки, как решил? Что то я не припомню такого. Триггер это же очень простое устройство, какие там могут быть ошибки.
     
  3. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Подробнее.
     
  4. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Insector
    Действительно любопытный топикстарт ;)
    Насколько я понимаю JK-триггер никакая не замена RS-триггера, а просто устройство другого предназначения, причём частенько микросхемы как JK- так и D-триггеров имеют RS-входы предназначенные для их принудительной установки в 1 или 0. Так о какой "глобальной суперпроблеме" речь - то ???
     
  5. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    Весна...
    Да и до 1 апреля рукой подать...
     
  6. Insector

    Insector New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    7
    Так первые знаки буду R, S. Следующие два знака-Q Q_(инверсный выход)
    Исходное состояние
    0 0 - 0 1
    Теперь подаем сигнал на S вход
    0 1 - 1 0
    Сброс
    1 0 - 0 1
    Если же подать сигнал на оба входа,на обоих выходах будет так же оба сигнала.
    1 1 - 1 1
    когда снимем сигналы,состояние триггера будет неопределенным.В равной степени сигнал может быть как на прямом выходе,так и на инверсном.
    Эта проблема послужила толчком для дальнейшего совершенствования триггера.Получается,что ее обошли стороной (JK триггер).Но этот триггер меня не устроил тем,что у него тактовый,синхронный вход. Я как-то делал одно устройство,у меня получился триггер с такой таблицей истинности:
    Исходное стостояние
    0 0 - 0 1
    Переключаем триггер
    0 1 - 1 0
    Сбрасываем
    1 0 - 0 1
    Теперь подаем сигнал на оба входа
    1 1 - 0 1
    То есть R вход у меня получился преобладающим. И меня это устроило.Если пошел сбой,то триггер просто сбрасывется.Я делал блок управления для станка,получается,если сбой пошел,триггеры просто опрокидываются,станок останавливается.
    Вообще,почему я эту тему поднял...Когда-то я начал изучать микросхемы.Работал со 155 серией.И столкнулся с RS триггером.Я сразу подумал,не может быть такого,что нельзя обойти эту строку ошибки.Как я думал? Логические элементы-то есть логикой мы можем получить все,что хотим.Но пришлось потом работать.И я забросил эту тему до лучших времен...А потом устроился на одно предприятие,и мне сделали экзамен-сконструировать блок управления для станка.И тут я опять столкнулся с этой строкой ошибки.Мне нужно было получить асинхронный статический триггер.Я поднял гору литературы,читал информацию про новые технологии,наткнулся на ПЛИС (программируемые логические интегральные схемы).И везде этот RS триггер с его строкой ошибки...Его не могут решить больше 30 лет.А у меня получилось,и я сразу подумал,а как бы продвинулась автоматика,если бы тогда был этот триггер...
     
  7. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Позвольте в это очень сильно усомниться :))
    "JK и D - тиггеры могут работать в счётном режиме, т.е. менять своё состояние на противоположное на каждый импульс приходящий на счётный вход триггера" - раз причина!!!
    - два причина !!! Как раз для работы сложных устройств потребовалась их синхронизация :))
    Реально RS триггер прижился в основном в схемах принудительного сброса\начальной установки где поднятая тобой проблема просто не актуальна.
    Имхо не "не могут", а не хотят - конечно если долго медитировать можно напридумывать "экзотических устройств", для которых эта "строка ошибки" - смерть. Только сейчас микроконтроллеры рулят :)
     
  8. Insector

    Insector New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    7
    Первое,старый блок управления был собран на и-не элементах.Там столько было наворочено...Было штук 15 блоков.Когда я собрал на своих триггерах,получилось 6 плат-блоков.Учитывайте,что травил и собирал сам,вручную.Это я к тому,что уже в то время(лет 20 назад),можно было упростить,удешевить автоматику.
    Второе,D и JK триггеры-это синхронные устройства,и они должны синхронизироваться.Согласен,но всегда ли нужна синхронизация,соответственно усложнение устройства?
    Просто есть и будут устройства,где цикл и действие их конечно,ограниченно...То есть,в принципе можно обойтись,к примеру ПЛИСом.Читал их устройство.Смотрел внутреннюю схему.До сих пор прочно обосновались RS-защелки!
    Третье,нужны были реле времени,попалось одно,собрано на AVR-микроконтроллере.Столкнулся с неприятным моментом...Мне нужно было получить логические вход и выход.На выходе этого блока стоит реле.Я решил управлять по питанию.но в момент включения микроконтроллер выдавал короткий(несколько микросекунд) ложный импульс.То есть,в момент включения он опрашивается,загружает программу...По входу сброса така же картина.Допускаю,что коряво написана программа.Реле на выходе потому и стояло,что не успевало срабатывать.Обошелся оптронами после реле,для развязки схемы.
    Четвертое,вообще я свожу к тому,что процессоры,микроконтроллеры как раз и состоят из RS-защелок.С этой строкой ошибки,по другому-запрещенным состоянием.Прогресс двигается к тому,чтобы процессор работал быстрее,больше обрабатывал команд за отрезок времени.Хорошо,подумайте над одним парадоксом-у процессора есть порты ввода-вывода.Нам нужно задействовать,скажем несколько портов на кнопки.Но сталкиваемся с дребезгом контакотов.Я читал литературу по тем же самым AVR-микроконтроллерам.Чтобы устранить дребезг контактов,нужно написать программу.Теперь работает процессор,опрашивает порты ввода-вывода,уже какое-то время тратится.Теперь на каком-то входе есть контакт,время еще тратится и на программу устранения дребезга контактов.Ну не маразм ли???!!!!
     
  9. liliput

    liliput New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    22
    Вроде не маразм.
    При включении импульс на сигнальных ногах? Ду дык наверное, входы несконфигурены ещё на I/O.
    На сбросе импульс? Вообще он и должен быть, для запуска контроллера, формируется либо внутри, либо внешними цепями, в зависимости от типа.
    Скажу по секрету вам, что эту программу не надо писать. Для большинства микроконтроллеров есть т.н. application note , где ваша задача , именуемая в простонародье "набор лампочек и кнопочек", расписана обычно очень подробно, т.к. является базовой.. этакий 'Hello, World'.
    Какой-нить дешевенький RISC - и проблема растворяется ...
    microchip.com
     
  10. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Ну ты крут :)))) - На AVR или PIC плата логики (силовая часть не в счёт) была бы одна и соооовсем маааалюсенькая ;)

    Я уже писал - зависимость обратная "серьёзное устройство" ==> "нужна синхронизация"

    Во первых не всегда (есть и апаратная поддержка), во вторых писать программу полюбому нужно и командой больше\меньше - не важно. А важно, что вместо 6 плат с грудой "супертриггеров" - всего одна с легко обновляемой логикой работы ;)

    Во первых "дребезг контактов" = "переходной процесс" ==> он гораздо короче чем "рабочая реакция", во вторых в критических случаях рулят бесконтактные датчики типа Холла и т.п. В третьих для управления станком, особенно старым - запас быстродействия контроллеров такой, что им зачастую полюбому приходится 90% времени просто спать ;)

    ЗЫ: Что за старообрядческая контора такая, что "сделали экзамен-сконструировать блок управления для станка" и не включили в ТЗ "использовать современную элементную базу" ;))
    ЗЗЫ: В ответе не нужно цитировать весь предыдущий пост - достаточно взять из него фразы, которые комментируешь, или просто сослаться на имя кому отвечаешь.
     
  11. Insector

    Insector New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    7
    Насчет количества плат-блоков-сами триггеры уместились на одной плате 12х10 см.Остальные платы-оптоэлектронная развязка входов и выходов,и схемы совпадения и разрешения прохождения сигналов.Если бы я делал на процессоре,получилось бы 5 плат.Сам процесоор,два блока входов,блок выходов,и плата пульта управления.Производство-это безотказное оборудование,поэтому делается оптоэлектронная развязка.Чтобы помехи не попали на плату процессора.
     
  12. Bohdan200

    Bohdan200 New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    134
    Адрес:
    Lviv
    Ну прям "Назад в будущее" получается :)
    Ну хорошо, без схем развязки никуда не дется... Но вместо боарда 10х15 запичканого тригерами была бы одна кро-о-о-охотная микросхема. И как уже писали
    А, ну да, забыл. И ета плата могла бы управлять 10 станками сразу :)
     
  13. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Ага :)) Ты бы ещё ПК с win XP попробовал "поуправлять" методом выдёргивания из розетки и сказал - кривая машина - глупые сообщения пишет, зачем-то винду каждый раз "восстанавливает после серьёзного сбоя" :))
    Ясен пень, что МК для запуска требуется время на стабилизацию работы тактового генератора, приведение в порядок систем адресации и т.п. А "кривизна программы" тут совершенно ни при чём. :)

    Хотя конечно не буду спорить, что когда "устройство автоматики" состоит из одной функции, реализуемой одной простейшей логической микросхемой, или парой диодов\транзисторов, да к тому-же "управляется по питанию" :)) то асинхронные схемы предпочтительнее синхронных.

    Ещё раз повторяю JK и D триггеры разрабатывались как раз потому, что в процессорах (разновидностью коих являются МК) потребовалась синхронные триггеры и счётчики не реализуемые на RS ;)

    И наконец твоя "строка ошибки" вообще-то не баг, а фича, вполне документированная и состояние после снятия 11 не "не определено" а "определяется тем с какого из входов сигнал снят последним". В большинстве случаев это состояние 11 просто не используется за ненадобностью.
    Опять таки не спорю - в отдельных специфических случаях твой вариант триггера предпочтительнее "классического RS", но говорить о "революции в автоматике" и необходимости "срочной переделки ПЛИС на новый вид RS триггера" боюсь не приходится - не тот масштаб применимости ;)

    ЗЫ: Да первое апреля скоро - весёлые топики пошли :)
     
  14. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    Insector

    >И везде этот RS триггер с его строкой ошибки...
    >Его не могут решить больше 30 лет.
    >А у меня получилось,и я сразу подумал,а как бы продвинулась автоматика,если бы тогда был этот триггер...

    Ведь именно эта мысль породила данную ветку, правда ?
    Так почему бы не оставить в стороне частности типа "платы 12х10" и не пойти кратчайшим путем:
    вот вам моя схема идеального RS-триггера, и судите сами, как бы продвинулась автоматика, обопрись она на него 30 лет назад.

    P.S. Кстати, почему WASM_HARDWARE, а не WASM_ELECTRONICS ? Речь-то вроде о схемотехнике.
     
  15. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Insector
    Судя по описанию это нечто такое, рисунок в аттаче
     
  16. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Прошу прощения за рисунок опубликованный в предыдущем топике, такой триггер не должен работать. Но скорость решения говорит о "сложности" проблемы которую якобы
    >не могут решить больше 30 лет
    хотя триггер намного старше
    >Эпохальным для истории вычислительной техники событием стало изобретение триггера Бонч->Бруевичем в 1918 году в РСФСР, а также независимо год спустя в Америке, Икклзом и Джорданом.
    начнем с постановки задачи и от того что Insector Работал со 155 серией
    А где же главное состояние RS триггера, в котором он хранит предыдущее состояние, когда на входах R и S нет никакого сигнала? Для TTL-логики отсутствие сигнала как раз и соответствует логической 1. То есть для классического RS-триггера состояния должны быть следующими:
    R=0 S=1 сброс, R=1 S=0 установка, R=1 S=1 хранение предыдущего состояния, R=0 S=0 неопределенное состояние. Вероятно с неопределенным состоянием, оно же запрещенное состояние, у Insector "строка ошибки" топикстартер и пытался бороться, к сожалению Insector не представил свою схему, но по описанию она подходит под ассинхронный D-триггер, который по идее должен быть изобретен раньше синхронного. В аттаче исправленный вариант
     
  17. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    offtop: 2 Mikl__

    Как вы приаттачиваете свои rar-ы ??
    У меня уже который день не получается...
     
  18. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    kero
    Нажимаю на кнопку ответить и указываю путь к рару...
    может это у вас что то в европейской части?
    а вот как вставить рисунок? я сразу хотел вставить схему
    если между "img""/img" вставить путь к файлу то должен он быть быть приаттаченным?
     
  19. Insector

    Insector New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    7
    Во-первых,я писал есть сигнал или нет его.То есть не зависимо от того какая логика используется.Я в курсе,что 1 может считаться как низкий так и высокий уровень сигнала.Во-вторых,и во воторой схеме есть ошибка,когда показываешь схемы,то хотя бы просчитай все комбинации сигналов.Теперь,как я описал таблицу истинности для своего триггера.Сразу скажу я пишу таблицы истинности независимо от того какая логика включения используется 0 или 1.
    0 0 - 0 1 Исходное
    0 1 - 1 0 Подается на S вход.
    0 0 - 1 0 Хранение состояния.
    1 0 - 0 1 Подается на R вход.
    1 1 - 0 1 Подаем на оба входа.
    Как видно R вход преобладающий.
    Этот триггер легко сделать синхронным.Повторюсь,мне нужно было получить асинхронный статический триггер.
     
  20. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Insector
    И вы меня еще упрекаете что я восстанавливаю вашу схему по вашим же отрывочным сведениям?
    Опубликуйте вы схему "идеального" триггера, а не таблицу состояний - вопросы сами бы собой отпали. Даже по верхнему топику не очевидно что за сигнал 0 или 1 подан на вход R, а что на S. И что вы считаете соответствует логической 1 высокий или низкий сигнал? Я например считаю, что 1 это высокий уровень. На чем собрана ваша схема, если TTL- то отсутствие сигнала соответствует 1, эсли ваш "идеальный" триггер собран на КМОП то отсутствие сигнала соответствует 0. два во второй степени это четыре, а не пять
    Хранение состояния 1 0 у вас тригер состоя ние 0 1 видимо не сохраняет?
    и прежде чем отправлять свою схему, почему вы думаете, что я ее не проверил?