Ну тут просто: юзай шифтер, Люк! Активный, двунаправленный. Что-то из SN74LVC8T245 / SN74LVC16T245.
Ну тут просто: юзай шифтер, Люк! Активный, двунаправленный. Что-то из SN74LVC8T245 / SN74LVC16T245.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Последний раз редактировалось xintrea; 11.05.2022 в 17:30.
Любопытный хомячок webhamster.ru - маленький и пушистый IT-проект
555АП6 вполне прокатит. только надо не забыть добавить управление направлением и/или Z-состоянием, иначе он всю шину повесит. но что-то мне подсказывает что не в этом дело...
- - - Добавлено - - -
надо осциллографом смотреть. либо конфликт на шине (тайминги), либо ножки STM по факту неправильно конфигурируются.
а 100% уверенности что с ними все будет нормально - нет.То есть, другими словами: почему микросхемы SN74LVC8T245 / SN74LVC16T245 будут нормально выставлять все биты на ШД, а STM32 может выставить только единички на ШД?
разницы не вижу, физически в STM ножку тянуть вниз будет тот же самый транзистор.Я еще подумываю на STM32 выставлять для нулевых битов режим Open Drain вместо Push-Pull, может быть это поможет снять высокий потенциал на ШД, устанавливаемый Микрошей.
Зверинецъ
Специалист (был когда-то "совсем стандарт") - 1988-2023
Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
Ленинград2 + CF карта
Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
БК0010-01 стоковый[свернуть]
Сейчас доступа к оборудованию нет, но в процессе ковыряния еще обнаружилась такая вещь: если отключить ШД Микроши от STM, и повесить щуп осциллографа на ножки STM, которые отвечают за ШД, то выставленная STM-кой единица выглядит как прямой фронт с последующим экспоненциальным спадом. Примерно так, как на приложенном рисунке. Вот только длительность спада до 0.5В не помню.
А когда ШД Микроши подключена, то эта единица тоже плавно убывает, но только до следующего изменения к 0 или 1, вызванного Микрошей.
![]()
Любопытный хомячок webhamster.ru - маленький и пушистый IT-проект
значит надо разбираться с прошивкой STM. спад сигнала должен начинаться по окончании /RD (или /32к), а по картинке получается что ножка STM переводится в нужное состояние и затем сразу переводится на ввод. а длительность спада определяется емкостью проводов (щуп осциллографа и прочее).
Зверинецъ
Специалист (был когда-то "совсем стандарт") - 1988-2023
Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
Ленинград2 + CF карта
Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
БК0010-01 стоковый[свернуть]
Вот, добрался до оборудования, сделал замер (извиняюсь за JPG, движок форума на лету из PNG конвертит). Напоминаю, что надо смотреть на место, где /RD и /32К в нуле.Сообщение от Serg6845
1. Замер произведен на ножке STM, на которой выставляется 1. ШД Микроши отключена, то есть замер именно ножки микроконтроллера STM.
Желтый - /RD
Голубой - /32К
Синий - ножка STM
Видно, что есть некоторое запаздывание появления сигнала на ножке, ибо код не оптимизировал. Но оно укладывается в диапазон когда на /RD еще 0. Видна "полочка" когда STM единичку удерживает. И Микроша этот сигнал считывает правильно. Но вот почему он так спадает - непонятно. И как с этим бороться (и нужно ли) тоже не могу понять.
2.А если добавить щуп на ШД Микроши (с STM ШД еще не соединена), и посмотреть что в этот момент происходит на стороне Микроши, то на фиолетовой линии видно, как Микроша в этот момент генерит единичку на D7 (потому что при 82H на D7 единица будет) и 0 на D6:
Единичка на D7:
Ноль на D6:
3.Далее я соединяю ШД Микроши и STM-ку. И вот какие "общие" сигналы получаю:
1 на STM - и 1 на Микроше:
0 на STM - и 0 на Микроше:
1 на STM - и 0 на Микроше - это устраивает, установка 1 на STM дает 1 на "общей" ШД:
0 на STM - и 1 на Микроше - а вот это не устраивает, установка 0 на STM все равно оставляет 1 на "общей" ШД:
Вот и нужно придумать, как сделать так чтобы 0 на STM давал 0 на "общей" ШД.
А так же я все равно не понимаю, чем 0 от STM хуже чем 0 от шинного преобразователя, который мне советуют.
- - - Добавлено - - -
Что значит "открыть вход осциллографа"?
Любопытный хомячок webhamster.ru - маленький и пушистый IT-проект
Инструкция пользования осциллографом, смотреть раздел "Открытый и закрытый вход". Переключатель режима у Rigol на картинке ниже.
- - - Добавлено - - -
Выход шинного формирователя рассчитан на работу с шиной. Это значит, что его выход (когда активен) достаточно сильный и может эффективно перезаряжать ёмкость шины. В то же время у микроконтроллера никто не обещает такого функционала, т.к. выводы не рассчитаны на работу с большой шиной (а в случае с микрошей - ещё и длинной). Именно поэтому я и рекомендую развязать через буфер. И если направление только в одну сторону (от МК в ЛК) то можно использовать просто буфер/регистр с третим состоянием, типа 555АП6/555ИР22 и иже с ними.
Последний раз редактировалось HardWareMan; 13.05.2022 в 06:38.
вот здесь (обведено кружком) четко видно что STM вместо 0 выставляет на шину 1. почему так - вопрос к прошивке.
так как бы правильнее. и даже в данном случае возможно поможет скрыть явный баг в прошивке (который возможно сидит где-нибудь в стандартных библиотеках). но добавит гемор по управлению 3 состоянием этого самого буфера (или потребует дополнительной логики для управления).А так же я все равно не понимаю, чем 0 от STM хуже чем 0 от шинного преобразователя, который мне советуют.
с другой стороны - выходы у STM32 как бы не мощнее чем у АП6 будут...
- - - Добавлено - - -
кстати ни разу не похоже на закрытый вход. во-первых постоянная времени не того порядка.
(это я на закрытом входе подключил батарейку)
во-вторых - на спадах импульсов нет выбросов в минус.
Зверинецъ
Специалист (был когда-то "совсем стандарт") - 1988-2023
Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
Ленинград2 + CF карта
Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
БК0010-01 стоковый[свернуть]
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)