Решено Важно! Выбор осциллографа.

Статус
Эта тема решена! Перейти к решению…
C

cyberbob777

  • 24 Фев 2021
Переход линии SDA из высокого состояния в незкое, в то время как SCL находится в высоком состоянии означает START.
Переход линии SDA из низкого состояния в высокое при SCL в высоком состоянии означает STOP.
Сигналы старт и стоп всегда вырабатываются ведущим. Считается, что шина занята после сигнала старт. Шина считается освободившейся через определенное время после сигнала стоп.Я так понял схема не должна реагировать на изменение статуса SCL,но если SCL всегда в высоком состоянии,то какая разница,схема-то рабочая?

Добавлено:

ris7.gif
 
K

Konstantin_18

  • 24 Фев 2021
cyberbob777, Вы ПОЛНОСТЬЮ ПОНИМАЕТЕ как работает схема, которую НАРИСОВАЛ Вася ?
Я вот пока никак не могу понять . :pain25::shuffle:

Вот Вася я нашел сообщение с которым ты согласился https://monitor.net.ru/forum/threads/658495/post-6048329
Надеюсь, мои доводы понятны. :shuffle: :smirk:
 
В

Васисуалий

Команда форума
  • 24 Фев 2021
Konstantin_18 сказал(а):
Надеюсь, мои доводы понятны. :shuffle: :smirk:[/SIZE]

Хорошо. Принято! Схема имеет недостатки и ее придется переделать. И пусть она нахрен никому не сдалась..... Ну будет повод поскрипеть мозгами. Текущая схема и правда кривая, но она выполняла свои задачи тогда, когда была нужна. Новую попробую слепить, авось сдюжу я эту задачу...

Добавлено:

Konstantin_18 сказал(а):
ПС. Уточни плз. как срабатывают триггеры на твоей схеме по входу Clk - уровень или фронт и какой именно ?

Дык стандартный DFF например вот тут >>  ссылка скрыта от гостей 
Или еще где угодно по тырнету...

Konstantin_18 сказал(а):
Я не могу понять как именно она работает.

Вот тут ты меня в тупик загнал! Я ТОЖЕ НЕ ПОЙМУ! :lol: :lol: :lol: :lol: Это же надо было такую ахинею слепить! :one:
 
K

Konstantin_18

  • 24 Фев 2021
Васисуалий, Просто перерисуй или ПОЯСНИ существующую !!!
Две страницы зачем-то ж написали ???
Нужно ж показать ошибки этой схемы!!! И то ЕСЛИ ОНИ ЕСТЬ .

А так ты убьеш эту и время на обсуждение будет потрачено напрасно.
 
В

Васисуалий

Команда форума
  • 24 Фев 2021
Konstantin_18, ну там как бы и ошибки. Схема не идеальна и действительно срабатывает по условию, по которому сработать не должна.
 
C

cyberbob777

  • 24 Фев 2021
Васисуалий сказал(а):
Цель - воткнуть этот импульс на вход ослу и засинхронизироваться по началам посылок. Все!
Вот этого моему РИГОЛУ как раз и не хватает,начать отображать на экране информацию по перепаду напряжения на шине SDA,то есть -СТАРТ.И если Василь утверждает,что оно так и работает,у меня нет оснований ему не верить...
 
K

Konstantin_18

  • 24 Фев 2021
Васисуалий, ПОЖ. !!! Вырви этот кусок "Про I2C" в отдельную тему в разработку цифровую.
Мне тоже есть что тут сказать ....
 
C

cyberbob777

  • 24 Фев 2021
Васисуалий сказал(а):
по условию, по которому сработать не должна
Эти условия не отображают спецификацию шины,они там чётко регламентированы,ну если просто заморочиться и сделать из синхронного RS триггера JK триггер,то конечно можно...Тогда на запрещённые состояния реагировать точно не будет..)
 
P

Postal2

  • 24 Фев 2021
Васисуалий сказал(а):
Новую попробую слепить
Я ж тебе сказал чего сделать, один проводок перецепи, выложи исправленную схему, и кому нужно - пусть анализирует ошибку. scl подключить на D верхнего триггера (сейчас у него D к плюсу). И отцепить от AND, который идёт к этому триггеру. И всё.

Добавлено:

Васисуалий сказал(а):
Ну будет повод поскрипеть мозгами.
О каком "скрипе мозгов" речь? Это твоя схема или нет всё-таки?
 
P

Postal2

  • 24 Фев 2021
Konstantin_18 сказал(а):
Две страницы зачем-то ж написали ???
Я предлагаю схему заменить на исправленную (выше написал как), и все обсуждения этого дела стереть, т.к. тема доступна извне, и всё это выглядит как дурдом.
 
C

chignon

  • 24 Фев 2021
Postal2, а она давно выглядит как дурдом, и не только эта тема, а как бы не большая часть всех тем.. :gigi: :smirk:
 
K

Konstantin_18

  • 24 Фев 2021
Postal2 сказал(а):
Я предлагаю схему заменить на исправленную (выше написал как), и все обсуждения этого дела стереть,
Не нужно тереть. Вырезать все в отдельную тему и перенести ее в разработку цифровых устройств.
 
C

cyberbob777

  • 24 Фев 2021
chignon сказал(а):
как дурдом,
Ну страниц 20 то можно и оставить..)))
 
В

Васисуалий

Команда форума
  • 25 Фев 2021
Postal2 сказал(а):
один проводок перецепи

ОДИН!

Postal2 сказал(а):
scl подключить на D верхнего триггера (сейчас у него D к плюсу).
И отцепить от AND, который идёт к этому триггеру. И всё.

Или у меня или у тебя с логикой проблема! Если прицепить D верхнего триггера к SCL, то получаем классическую логическую гонку, результат которой для чипа с предельной частотой под гигагерц будет зависеть от времени года на Юпитере и погоды на Ямайке. Короче так не работает! Отцепить AND, который идет к этому триггеру и куда его?

Короче вот... Это работает и не имеет никаких подводных камней.

схемоза новая.jpg
 
P

Postal2

  • 25 Фев 2021
Васисуалий сказал(а):
Или у меня или у тебя с логикой проблема!
Ну наверно это я выбрал другой тип триггера (DFFE вместо DFF на оригинальной схеме), а потом свалил свою тупость на тебя.

Добавлено:

Васисуалий сказал(а):
Короче вот... Это работает и не имеет никаких подводных камней.
Пока вижу, что первый старт он пропустит, т.к. ждёт сначала стоп - уже не годится...
 
2

214837

  • 25 Фев 2021
Konstantin_18 сказал(а):
Postal2 сказал(а):
Я предлагаю схему заменить на исправленную (выше написал как), и все обсуждения этого дела стереть,
Не нужно тереть. Вырезать все в отдельную тему и перенести ее в разработку цифровых устройств.
Только ссылку оставьте, плиз.
Тут же есть и молча читающие. :shuffle:
 
P

Postal2

  • 25 Фев 2021
Короче, нужно выбрать триггер DFF и сделать по старой исправленной схеме. У DFFE есть какие-то странности, написано у интела, что для точной эмуляции аппаратного триггера надо выбирать DFF.
"Новая" схема работает, но пропускает первый старт, и выглядит некрасиво. Из-за пропуска первого старта (после начала работы схемы) - можно считать её непригодной.
 
В

Васисуалий

Команда форума
  • 25 Фев 2021
Postal2, ну вот и нарисуй свою, а то я чета пытался исправить "по описанию" но не вышло.
 
K

Konstantin_18

  • 25 Фев 2021
Васисуалий, Верхний триггер перебрасывается по СТОПУ, нижний по СТАРТУ.
Чтобы в нижний записать 1, нужно чтобы пришел СТОП.
Postal2 прав, первый СТАРТ будет пропущен.

Васисуалий, ты конечно знаешь,что по спецификации I2C повторный СТАРТ допустим.
Т.е. СТОПов несколько подряд быть не должно, а вот СТАРТов - можно.

Отсюда вопрос: - Ты заявил схему как "Детектор СТАРТА", а со СТОПами ты ЗАЧЕМ вообще связался ???
 
В

Васисуалий

Команда форума
  • 25 Фев 2021
Konstantin_18, схема задумывалась как генератор синхроимпульса для осциллографа для наблюдения посылок по I2C в цикле, причем на экране аналогового осла. А как можно детектировать старт, не детектируя стоп? Вот за тем и связывался. А по второй схеме - ну и что? Можно в касание сделать ей предустановку в изначальное положение, после которого она поймает старт. И я тут не спорил с Посталом, я не смог заставить прежнюю схему работать по рецепту, который он описал на словах, поэтому и прошу нарисовать.

Konstantin_18 сказал(а):
ты конечно знаешь,что по спецификации I2C повторный СТАРТ допустим.

Дык более того, на моей же картинке выше идет обмен с рестартами (повторными стартами), про которые я и написал там выше. А вообще то электроника это практика и все надо бы проверять. Надо немного времени. Будет время, снова соберу макетик и проверю в реальных боевых условиях... Пока я ничего толком не проверял...
 
K

Konstantin_18

  • 25 Фев 2021
Васисуалий сказал(а):
схема задумывалась как генератор синхроимпульса для осциллографа
Осциллографу нужен ФРОНТ, вот и сбрасывай свою 1 через минимально допустимое время.
400 Кгц = 2,5 мкрСек.
Детектирование СТОПа - избыточно.
 
В

Васисуалий

Команда форума
  • 25 Фев 2021
А вообще то меня вчера подмывало взять тактовый генератор и размотать посылку на события отдельно с короткими импульсами на выходе. Т.е. отдельно старт, стоп, рестарт, можно еще ACK там отсчитать...
 
K

Konstantin_18

  • 25 Фев 2021
Васисуалий сказал(а):
А как можно детектировать старт, не детектируя стоп?
А как задектировать СТОП если его не было ???

ДВА СТАРТа подряд, например.
 
В

Васисуалий

Команда форума
  • 25 Фев 2021
Не понял... Есть сигнал, который я назвал TRIG, это логический сигнал, который может быть 1 во время занятости шины и 0, когда шина свободна. По фронту (райзу) этого сигнала синхронизируется начало посылки, т.е. райз происходит в момент старта + микроскопическая задержка. Но для обнаружения следующей посылки снова надо как то сделать на TRIG ноль.

Если обнулять сигнал через короткое время после детектирования, что бы вылавливать повторные старты (рестарты), нужна тактовая и еще я не уверен, будет ли это удобно потом смотреть.

А вообще то я не понимаю, зачем Постол так возбудился на эту схемку. Я такого всякого произвожу постоянно периодически пачками, стоит только куда то по уши влезть. Уже чего только не детектировал и не эмулировал... Вот вчера копался в своих залежах, нашел эмулятор двигателя (привода) Яскава от станка. Мне было лень снимать тяжелючий мотор и я слепил на скорую руку (как всегда) его эмуляцию... И вот тут у меня серьезно возникает вопрос - а у Постола есть сомнения в том, что схемуля моя? Не, но обьясни, ты чё реально думаешь, что такую херню я буду где то искать в тырнете? Или копаться в журналах? :lol:

Я счас еще разок кое что покажу, для понимания...

Вот скрин от компилятора Квартуса для слуйчайно взятой версии моего осцильного эксперимента (это тот, картинки с которого я и выкладывал)...

1.jpg


В этой схеме 885 триггеров и 1287 логических элементов, и это далеко не самая крупная схема, которую я собирал. Так в чем вопрос? Я не могу схимичить два триггера? :shocked:
 
C

chignon

  • 25 Фев 2021
... Остапа несло.(c) :gigi:
 
Статус
Эта тема решена! Перейти к решению…

Верх Низ