Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 31

Тема: Непонятное поведение ПР

  1. #1

    По умолчанию Непонятное поведение ПР

    Сделал небольшой проект, проверяю и не могу разобраться как так??? Есть 4 входных канала и 4 выходных. При подаче импульса на любой вход, соответствующий выход включается. При следующем импульсе с любого входа, если хоть один из выходов включен, то все выходы должны отключиться. Ну так вот. Смотрю в эмуляторе вход 1 - работает все ОК, смотрю вход2,3,4 - НЕ РАБОТАЕТ, хотя все каналы абсолютно симметричны. Включаю шаговый режим, и вижу, что бывают моменты, когда на одном конце проводника Лог.1, а на другом конце - Лог.0. Например, переменная res. Прошил ПР, думал глюк в эмуляторе. Не помогло. ПР также как и эмулятор работает правильно только с одним каналом. Подскажите, от чего зависит ФИШКА? Где я ошибаюсь?
    Вложения Вложения

  2. #2
    Пользователь
    Регистрация
    21.01.2011
    Адрес
    еБург
    Сообщений
    890

    По умолчанию

    "линия перемен дат" проходит не там где вы ожидаете...

    (в циклических "программах" всегда будет связь, которая будет передаваться не сразу, а при следующем цикле)

  3. #3
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,113

    По умолчанию

    вся причина в "Гонках" ,вы очень не аккуратно используете f -r триггера да еще в сочетании с Д-триггером ,у вас на Д-вход приходит короткий импульс и на вход С одновременно.Долго обьяснять ,проше нарисовать ,просто некоторые триггера обрабатываются в одном цикле ,а другие в разных циклах.Поставьте задачу ,попробуем другим(надежным способом ) реализовать
    электронщик до мозга костей и не только

  4. #4
    Пользователь
    Регистрация
    21.01.2011
    Адрес
    еБург
    Сообщений
    890

    По умолчанию

    Цитата Сообщение от Евгений Сергеевич Посмотреть сообщение
    можно сделать, например, так.
    в версии 1.3.22b не онкрывается

  5. #5

    По умолчанию

    Цитата Сообщение от rovki Посмотреть сообщение
    вся причина в "Гонках" ,вы очень не аккуратно используете f -r триггера да еще в сочетании с Д-триггером ,у вас на Д-вход приходит короткий импульс и на вход С одновременно.Долго обьяснять ,проше нарисовать ,просто некоторые триггера обрабатываются в одном цикле ,а другие в разных циклах.Поставьте задачу ,попробуем другим(надежным способом ) реализовать
    Ок, с этим соглашусь, но не понятно, почему существует ситуация, когда на выходе с элемента Лог.1, соединяю этот элемент с входами 4х других элементов и получаю на входе одного лог.1 (как и должно быть), а на 3-х остальных входах Лог.0. Почему в конце одного цикла переменные на одном и том же соединении (проводе) имеют разные значения???
    То, что триггеры могут обрабатываться в разных циклах, слышал и сталкивался. Но тут абсолютно одинаковые 4 канала, 1 - работает, 3 - нет. Жалко пример не открыть от разработчика. Кстати, убрал вообще все f-r триггеры, ситуация та-же.
    Последний раз редактировалось Sergh_Cherenkov; 20.06.2011 в 18:55.

  6. #6
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,113

    По умолчанию

    потому что в разных циклах обработка идет сигналов на входах Д-триггера,и когда пытался сделать синхронный регистр сдвига на них не чего не получается ,так как в элементах ПР нет задержек ,точнее они могут появится если будут отрабатываться в разных циклах ПР ,но это не угадаещь ,поэтому нужна другая схемотехника.
    Вложения Вложения
    электронщик до мозга костей и не только

  7. #7

    По умолчанию

    Вот сделал скриншот, четко видно, что res в конце одного цикла имеет разные значения. Если использовать просто соединения, без превличения переменной, то результат тот-же.
    Изображения Изображения
    • Тип файла: jpg хм.jpg (304.5 Кб, Просмотров: 36)

  8. #8
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,113

    По умолчанию

    Примерно то же самое неоднократно наблюдали -на одном конце провода 0,на другом 1.Это особенности программной реализации. К этому нужно привыкнуть и использовать другой подход к схемотехнике.Нужно делать схемы без гонок ,тем более в обратных связях.Вот как можно на Д-триггерах
    Вложения Вложения
    Последний раз редактировалось rovki; 20.06.2011 в 19:23.
    электронщик до мозга костей и не только

  9. #9

    По умолчанию

    Цитата Сообщение от rovki Посмотреть сообщение
    Примерно то же самое неоднократно наблюдали -на одном конце провода 0,на другом 1.Это особенности программной реализации. К этому нужно привыкнуть и использовать другой подход к схемотехнике.
    Ок, смирился. Как подправить? Может есть тонкость? Как заставить считать это в одном цикле? И что это за "другой подход к схемотехнике"? Подскажите, пожалуйста!

  10. #10
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,113

    По умолчанию

    Цитата Сообщение от Sergh_Cherenkov Посмотреть сообщение
    Ок, смирился. Как подправить? Может есть тонкость? Как заставить считать это в одном цикле? И что это за "другой подход к схемотехнике"? Подскажите, пожалуйста!
    У вас например при сбросе входного сигнала на выходе макроса формируется импульс ,по которому ,по первому -устанавливается выход в единицу ,а при втором (заднем фронте входного импулльса) сбрасывается ,так это не что иное как Т-триггер (счетный ), которые реализованы в примерах ,что выше.Один вариант T-триггера от AT,другой классический на Д-триггере.На примерах не зазорно учится ,дайте ТЗ ,сделаю по своему ,может чего почерпнете
    Последний раз редактировалось rovki; 20.06.2011 в 19:36.
    электронщик до мозга костей и не только

Страница 1 из 4 123 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •