jcxz 236 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 1 минуту назад, Arlleex сказал: Там на схеме у него нарисовано. Да и будь оно подключено к разным шинам-пинам, никакого вопроса и не возникло бы. Он привёл схему для одного слэйва. Для второго предполагается аналогичная схема (только пин коммутации другой). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 180 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 7 минут назад, jcxz сказал: Он привёл схему для одного слэйва. Для второго предполагается аналогичная схема (только пин коммутации другой). А я думаю это схема его мастера такая, а не слейва. Он же написал, что изделия - китайские, торчит только I2C и таких девайсов несколько, получается, с одинаковыми адресами. И логично вопрос возник, как ему спаять свой мастер так, чтобы на разные разъемы выходила одна и та же шина I2C с его МК, но так, чтобы можно было обращаться к разным слейвам. В противном случае (с несколькими раздельными шинами I2C) вопроса и не возникло бы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 13 минут назад, Arlleex сказал: А я думаю это схема его мастера такая, а не слейва. Это и есть - схема на мастере. Для подключения одного из слэйвов. И точно такая же имеется, на том же мастере - для другого слэйва. Вроде как это очевидно. 13 минут назад, Arlleex сказал: В противном случае (с несколькими раздельными шинами I2C) вопроса и не возникло бы. Не скажите. Если например в МК есть только один I2C-интерфейс, но маппируемый на разные ноги, то как показывает практика: не каждый может догадаться, что мультиплексировать можно посредством этого ремапа. И начинает думать: что бы такое приколхозить снаружи, чтобы SCL или SDA коммутировать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 180 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 8 минут назад, jcxz сказал: Это и есть - схема на мастере. Для подключения одного из слэйвов. И точно такая же имеется, на том же мастере - для другого слэйва. Так а я о чем? Чем это противоречит моему Цитата Вроде ж, ТС ясно указал, что 2 устройства повешены на 1 шину I2C... что было бы максимально логичным предположением о ситуации у ТС? По-Вашему, ТС пришел на форум за итак максимально логичным советом подключить 2 разных устройства к 2 разным шинам I2C (пусть к одной - но заремапленной)? Не думаю. Думаю, свободных I2C (а то и вовсе доступных в МК) просто не оказалось. Хотя я не Ванга - возможно, мои ожидания о минимальных компетенциях ТС в этих вопросах слегка завышены. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 28 minutes ago, jcxz said: А значит: ремап ног МК - вполне себе годное решение. Если нет второго i2c порта. А ситуации топикстартера, как ни странно, встречаестся не так уж и редко. Мне за последнее время пришлось столкнуться дважды - в первом случае у девасов был адрес, но один. А мне надо было четыре девайса вместе включить. Второй случай веселее, шина была одна, на нее посадили два девайса. Один была еепромка, у кторой в первом байте после кода устройства было 3 адресных бита. Недоглядели, что у второго код устройства тот-же самый, а там где у еепромки адрес, у этого "101b". Повезло что еепромка использовалась лишь частично, была возможность вырезать из употребления ее кусок, со старшими адресами равными "101". В сам кусок записали все "1, чтобы "монтажным ИЛИ" не мешал работать со вторым девайсом. Еще - хорошо что это была первая пробная плата, в кторой и без этого нужны были изменения. Так что в следующей верии на другой порт посадили, он был свободен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 180 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 1 минуту назад, Allregia сказал: А ситуации топикстартера, как ни странно, встречаестся не так уж и редко. Бывает, да. У меня не часто, совсем. Последний раз - на шине висел задающий генератор, который настраивался единожды при включении. А затем на другие пины этот I2C выводился в качестве интерфейса для связи с изделием. Хотя в МК еще были свободные I2C, пришлось городить именно такой колхоз, т.к. чип МК был BGA с шагом 0.5 мм, и я просто не смог вытащить ничего другого, как маппируемые пины. Так что, иногда и выбора особо нет)) Ну а вообще для таких ситуаций стараюсь ставить специализированные I2C-коммутаторы-мультиплексоры, либо (приоритетно) подключать к разным I2C. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 13 minutes ago, Arlleex said: Ну а вообще для таких ситуаций стараюсь ставить специализированные I2C-коммутаторы-мультиплексоры Было дело, поставил 6 штук PCA9547 для коммутации 20 EDID-каналов, и на трех перепутал SDA/SCL со стороны слейвов. Пришлось городить программный I2C с виртуальной шиной. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 37 минут назад, Arlleex сказал: По-Вашему, ТС пришел на форум за итак максимально логичным советом подключить 2 разных устройства к 2 разным шинам I2C (пусть к одной - но заремапленной)? Не думаю. Вы судите со своей колокольни - колокольни человека-оркестра. Вы ведь занимаетесь и схемой и встроенным ПО? А значит вам может быть невдомёк, что чистый схемотехник, не имевший ранее дел с ARM-ами, может априори даже не подозревать о возможности ремапа, встроенного почти во все ARM-МК. А мне не раз приходилось с таким сталкиваться. Не обязательно I2C, но например - что можно завести MISO (активных) от нескольких слэйвов, сидящих на одной шине в один мастер без внешних мультиплексоров - тоже было невдомёк и приходилось даже убеждать, что так точно будет работать. PS: Да что там I2C с SPI! Я сталкивался со схемами на Cortex-M, в которых была заложена внешняя спец.цепь для сброса МК с помощью GPIO-пина + RC-цепочка! Так как схемотехник, её рисовавший, даже не подозревал о возможностях сброса МК через ядро или через встроенный WDT. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 180 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 33 минуты назад, aaarrr сказал: Было дело, поставил 6 штук PCA9547 для коммутации 20 EDID-каналов, и на трех перепутал SDA/SCL со стороны слейвов. Пришлось городить программный I2C с виртуальной шиной. Я так понял, устройство было единичное и без прототипа)) 17 минут назад, jcxz сказал: Вы судите со своей колокольни - колокольни человека-оркестра. Вы ведь занимаетесь и схемой и встроенным ПО? Я да, но обычно всегда исхожу из предположения, что, коли схемотехник и программист работают над одним проектом, они как-то коммуницируют, и распределение ножек МК перед трассировкой (или в процессе) согласуется с программистом. Для меня это само собой разумеющееся. Никогда не видел полностью изолированных специалистов, потому что на выходе, как правило, получается какая-то шляпа. Хотя нет, видел. Но выхлоп там тот же - шляпа. Все равно схемотехник и программист должны как-то обговаривать детали. В проектах, где я был только программистом, товарищ-схемотехник вовсе просил меня на бумажке записать пины, к которым все подключить. В процессе разводки пару раз подходил, потому что что-то плохо разводилось и просил перенести на другие пины. И это нормально. А вот бывали проекты, когда мне просто приезжали железки а от меня требовалось запрограммировать - и там был сущий ад - программные ШИМ-ы в перемешку с программными UART-ами и т.д. когда ничего не мешало задействовать аппаратные, и это на 8-битном AVR-барахле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 13 minutes ago, Arlleex said: Я так понял, устройство было единичное и без прототипа)) Оно так и производится - плат много сразу заказали, а они большие и дорогие. Серийность низкая, переделывать смысла нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 23 минуты назад, Arlleex сказал: распределение ножек МК перед трассировкой (или в процессе) согласуется с программистом. Это в идеале. А посмотрите хотя-бы на местный раздел "Предлагаю работу" - там неоднократно уже наблюдал сообщения типа: "Схема готова, нужен программист, чтобы запрограммировать". Часто уже и железо изготовлено. 23 минуты назад, Arlleex сказал: А вот бывали проекты, когда мне просто приезжали железки а от меня требовалось запрограммировать - и там был сущий ад - программные ШИМ-ы в перемешку с программными UART-ами и т.д. когда ничего не мешало задействовать аппаратные, и это на 8-битном AVR-барахле. вот-вот... Или бывает - делалось вроде совместно с программистом(?), но потом он не справился с задачей и слился.... А железо уже готово. И переделывать - нет времени/денех. И в таких случаях там как раз полный мрак, в распределении ног. Но надо как-то докостылить то, что есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба А тут изоляторы, компараторы (привет двунаправленности SCL) и прочие велосипеды с квадратными колесами. Ну, справедливости ради, SCL двунаправленность не грозит никак (-; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба 34 minutes ago, Obam said: Ну, справедливости ради, SCL двунаправленность не грозит никак (-; Да ну? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба MS4553M ? Если отключать только SCL, то нужно следить, чтоб на SDA в это время не было низкого уровня. И изменения уровня SDA при SCL=1 - это же многократные START/STOP - слейвы к этому нормально относятся? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 10 мая, 2023 Опубликовано 10 мая, 2023 · Жалоба Ну, справедливости ради, SCL двунаправленность не грозит никак (-; Да ну? Синхроимпульсы: источник только мастер, или в ваших ебТюгулях не так? (-; Так что, ну да (((-8Ж PS: или вы имели ввиду clock stretching? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться