TGViewer
С первой ревизии С первой ревизии @hardware_design · 1.11K subscribers
Post #216 2.87K
Вторую ошибку тоже нашли. Буферы не могут быть соединены сторонами В друг к другу. В даташите рассказывается почему:
The type of buffer design on the B-side prevents it from being used in series with devices which use static voltage offset. This is because these devices do not recognize buffered low signals as a valid low and do not propagate it as a buffered low again. The B-side drivers operate from 2.7V to 5.5V. The output low level for this internal buffer is approximately 0.5V, but the input voltage must be 70mV or more below the output low level when the output internally is driven low. The higher-voltage low signal is called a buffered low. When the B-side I/O is driven low internally, the low is not recognized as a low by the input. This feature prevents a lockup condition from occurring when the input low condition is released.


На самом деле подобный механизм реализован во всех буферах с такой архитектурой (как на картинке). Как верно пишут в даташите, это сделано для того, чтобы буфер не входил в lockup. Как происходит lockup?
Предположим, на вход А приходит логический 0 (Va=0В). Микросхема идеально транслирует этот 0 на выход B (Vb=0В). Поскольку буфер двунаправленный, он "слушает" свой вход В, видит этот логический 0 и, не понимая, что сам его выставил, выставляет выход А также в 0. Когда устройство на стороне А отпускает шину - Va остается на 0В, из за того, что буфер сам себя заблокировал (lockup). Чтобы обойти эту проблему придумали сдвигать логический уровень нуля (Vol_b) выше, чем Vil_b на 70мВ. В этом случае буфер не может сам себя заблокировать, а другая микросхема на стороне В обязана выдавать уровень Vol ниже, чем Vil_b.
С этим и связан запрет соединять два буфера последовательно сторонами В. На диаграмме показан пример, как работает буфер в случае, если мастер находится на стороне А, а слейв - на стороне В. При трансляции данных от мастера буфер использует Vol = ~0.5B, за счет этого логический 0 приподнят относительно земли. Когда же слейв на стороне В отвечает, он притягивает линию к 0, его Vol ~0 (нет намеренного сдвига). Драйвер видит это напряжение и транслирует на сторону А мастера. Такое вот простое решение для проблемы lockup, которое, однако, требует соблюдения правил.
  • 🔥 15
  • 👌 3
  • 👍 2
  • 👏 2
  • ❤ 1
More from @hardware_design
  1. Sep 21, 2026Post #227
  2. Sep 6, 2026Отрицательный ток в dc-dc. Плохо или нет? Всем известно, что преобразователи делятся на си…
  3. Aug 30, 2026Недавно завершилась популярная конференция посвящённая полупроводникам Hot Chips 2026. Пот…
  4. Aug 23, 2026В недавней рассылке попались статьи от AD про компоненты дронов (первая, вторая). Как я по…
  5. Aug 13, 2026Очень понравилась статья, автор показывает максимально основательный подход, респект!
  6. Aug 12, 2026Недавнее обсуждение с коллегой навеяло интересную практическую задачу. На рисунке представ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →