catBasilio 0 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба Привет. Есть 2 девайса, управляемые по I2C. Но товарищи китайцы, "забыли" в них вывести возможность выбора адреса. Соответственно, появилась идея сделать что-то аналогичное CS для SPI. если чип не выбран, то клоки не доходят до чипа, Покритикуйте пожалуйста. Все ли правильно? I2C{SCL,SDA} - это к МК идет. Резисторы подтяжки на питание там есть MerusChipSeelct - это тоже к МК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zig 39 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба Лучше возьмите другой транзистор. У этого большая ёмкость Ciss = 1650 пФ. Возьмите например 2N7002. У него Ciss = 50 пФ. Чтобы не было выбросов вверх и вниз на шине SCL в моменты переключения ChipSelect (точнее чтобы их уменьшить) добавьте конденсатор на 1000пФ с затвора на землю и последовательный резистор 10кОм от затвора к ChipSelect МК. Ну и R36 слишком большой. Поставьте 5 - 10 кОм. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба 28 минут назад, catBasilio сказал: Покритикуйте пожалуйста. Все ли правильно? Думаете он у вас и в инверсном включении пропускать ток будет? Имхо - если уж реально нет никаких сигналов выбора на I2C-слэйве (реально нет?), то лучше поставить специальный чип-коммутатор I2C. Такие имеются готовые. Чем колхоз городить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
catBasilio 0 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба 12 minutes ago, Zig said: Лучше возьмите другой транзистор. У этого большая ёмкость Ciss = 1650 пФ. Возьмите например 2N7002. У него Ciss = 50 пФ. Чтобы не было выбросов вверх и вниз на шине SCL в моменты переключения ChipSelect (точнее чтобы их уменьшить) добавьте конденсатор на 1000пФ с затвора на землю и последовательный резистор 10кОм от затвора к ChipSelect МК. Ну и R36 слишком большой. Поставьте 5 - 10 кОм. есть в наличие Si2302DS он подойдет? вроде у него переходные характеристики лучше 6 minutes ago, jcxz said: Думаете он у вас и в инверсном включении пропускать ток будет? не понял вопроса? это же не диод. Почему не должен течь ток Source -> Drain? Или вы про паразитный диод, который не даст транзистору закрыться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zig 39 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба 2 минуты назад, catBasilio сказал: есть в наличие Si2302DS он подойдет? Нет. Максимальная емкость на шине для 100 и 400 кбит/с допускается 400пФ. А у этого 340пФ. Запаса не будет. К тому же у вас будет еще один канал для выключения второй платы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба 18 минут назад, catBasilio сказал: не понял вопроса? это же не диод. Почему не должен течь ток Source -> Drain? Я не понял как вы его открывать будете? Очевидно, что подтяжка к +3.3V должна быть с обоих сторон. Значит для открытия нужно на затвор подать напряжение > 3.3V. Где-то на пару вольт выше. Т.е. > 5V. Это значит нужен ещё источник 5V и + ещё один ключ. Да и будет ли он вообще работать при инверсном приложенном напряжении? Или как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zig 39 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба 11 минут назад, jcxz сказал: Думаете он у вас и в инверсном включении пропускать ток будет? Будет. При 3.3В на затворе и 0В на истоке транзистор откроется и на стоке будет тоже, что на истоке - 0В. При 3В на затворе и 0В на стоке диод откроется и на истоке будет 0В транзистор откроется и на истоке будет тоже, что на стоке - 0В. 14 минут назад, jcxz сказал: то лучше поставить специальный чип-коммутатор I2C. Такие имеются готовые. Чем колхоз городить. С этом согласен. В коммутаторе шин I2C PCA9847 емкость порядка 20пФ. А это коммутатор на 8 выходных шин. Транзисторов с такой маленькой емкостью я не нашел... 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба 4 минуты назад, Zig сказал: При 3.3В на затворе и 0В на истоке транзистор откроется и на стоке будет тоже, что на истоке - 0В. При 3В на затворе и 0В на стоке диод откроется и на истоке будет 0В транзистор откроется и на истоке будет тоже, что на стоке - 0В. Ясно. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
catBasilio 0 19 апреля, 2023 Опубликовано 19 апреля, 2023 (изменено) · Жалоба 29 minutes ago, Zig said: Нет. Максимальная емкость на шине для 100 и 400 кбит/с допускается 400пФ. А у этого 340пФ. Запаса не будет. К тому же у вас будет еще один канал для выключения второй платы. А можно чуть подробнее про 400pF? откуда это число. в datasheet есть переходная характеристика: Turn on time - 25ns raise time - 60ns выглядит так, что должно хватить с большим запасом. для Сiss если считать по времени заряда: T = R * C = 10000 * 3.4e-10 = 3.4e-06 = 3.4 us - выглядит, что тоже с большим запасом. Тем более что это чипом не часто нужно управлять. и в MК можно слипов вставить чтобы транзистор упсел открыться. 21 minutes ago, jcxz said: Я не понял как вы его открывать будете? Очевидно, что подтяжка к +3.3V должна быть с обоих сторон. Значит для открытия нужно на затвор подать напряжение > 3.3V. Где-то на пару вольт выше. Т.е. > 5V. Это значит нужен ещё источник 5V и + ещё один ключ. Да и будет ли он вообще работать при инверсном приложенном напряжении? Или как? вроде должно. 1) на Gate - 3.3v - source = 0 - транзистор открыт и на drain - 0 - source = 3.3v - транзистор закрыт и на drain - 3.3 2) на Gate - 0 - source = 0 - транзистор закрыт и на drain - 3.3 - source = 3.3 - транзистор закрыт и на drain - 3.3 даже паразитный диод тут ничего навредить не сможет Что не так? 21 minutes ago, Zig said: Будет. С этом согласен. В коммутаторе шин I2C PCA9847 емкость порядка 20пФ. А это коммутатор на 8 выходных шин. Транзисторов с такой маленькой емкостью я не нашел... Посмотрел на chip-dip-е, этот коммутатор стоит 1000 руб. Ну его нафиг. я лучше мосфетом обойдусь, который уже есть у меня Изменено 19 апреля, 2023 пользователем catBasilio Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zig 39 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба 4 минуты назад, catBasilio сказал: А можно чуть подробнее про 400pF? откуда это число. https://www.csd.uoc.gr/~hy428/reading/i2c_spec.pdf https://www.pololu.com/file/0J435/UM10204.pdf Смотрите по тексту: 400 pf 7 минут назад, catBasilio сказал: для Сiss если считать по времени заряда: T = R * C = 10000 * 3.4e-10 = 3.4e-06 - выглядит, что тоже с большим запасом. Тем более что это чип не часто нужно включать. и в MК можно слипов вставить чтобы транзистор упсел открыться. Здесь немного другое. Представьте. На затворе у вас 0В. На истоке OpenDrain с PullUp резистором. Емкость затвор исток заряжается до 3.3В (Ugs). Далее вы подаете на затвор 3.3В (Ug). На истоке получается 6.6В (Ug + Ugs). МК выходит из строя. Чтобы этого не было к затвору я предложил подключить емкость на землю во много раз больше емкости затвор-исток. И перезаряжать эту емкость через последовательный резистор, чтобы растянуть во времени этот выброс. 20 минут назад, catBasilio сказал: Посмотрел на chip-dip-е, этот коммутатор стоит 1000 руб. Да. Раньше они стоили дешевле. Но вам можно обойтись двухканальным TCA9543ADR Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stells 12 19 апреля, 2023 Опубликовано 19 апреля, 2023 (изменено) · Жалоба 1 час назад, catBasilio сказал: MerusChipSeelct - это тоже к МК. Не пойму, если МК может управлять ключом, то почему он не может свой порт перевести в 3-е состояние? Изменено 19 апреля, 2023 пользователем stells Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
catBasilio 0 19 апреля, 2023 Опубликовано 19 апреля, 2023 (изменено) · Жалоба 34 minutes ago, Zig said: https://www.csd.uoc.gr/~hy428/reading/i2c_spec.pdf https://www.pololu.com/file/0J435/UM10204.pdf Смотрите по тексту: 400 pf Я посмотрел бегло. Там говорится про емкость шины. Как это я понимаю, что если более, то raise и fall time будут не по спецификации, и девайс будет глючить. Емкость шины, я понимаю так, я правильно это понял? И тут мне не понятно как Ciss должно на это влиять? оно же по идее на переходный процесс при открытии и закрытии транзистора только влияет? как я понимаю, то Ciss = C50 + C51. то есть нужно чтобы емкость шины была в пределах, то С50 должен быть минимален, так? по даташиту, что-то этой емкости нет. только Qgc = 0.65 nC каких-то. Изменено 19 апреля, 2023 пользователем catBasilio Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zig 39 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба Промоделируйте в MicroCap. Ciss= Cgs + Cgd. Причем Cds > Cgd. В вашей схеме затвор на питании или земле. Значит почти вся емкость Ciss приложена между SCL и землей. Когда вы делаете Low на SCL (переводите выход в Low) эта емкость быстро разряжается. Здесь все нормально. Когда вы делаете High на SCL (переводите выход в OpenDrain) эта емкость медленно заряжается через PullUp резистор. Эта медленность не есть хорошо. Медленный фронт SCL может быть неправильно воспринят микросхемами. А сократить его можно только уменьшением PullUp резистора. Но маленьким его сделать нельзя, т.к. ограничен втекающий ток микросхем. (Это относится к ACK на SDA и Clock Stretch на SCL) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
catBasilio 0 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба 58 minutes ago, Zig said: Здесь немного другое. Представьте. На затворе у вас 0В. На истоке OpenDrain с PullUp резистором. Емкость затвор исток заряжается до 3.3В (Ugs). Далее вы подаете на затвор 3.3В (Ug). На истоке получается 6.6В (Ug + Ugs). МК выходит из строя. Про повышение напряжения - понял. Спасибо! Только тут в соседней ветке, мне доказывали, что превысить напряжение - это ОК. главное чтобы ток не был высокий, и тогда МК не сгорит 😉 21 minutes ago, Zig said: Промоделируйте в MicroCap. Ciss= Cgs + Cgd. Причем Cds > Cgd. В вашей схеме затвор на питании или земле. Значит почти вся емкость Ciss приложена между SCL и землей. Когда вы делаете Low на SCL (переводите выход в Low) эта емкость быстро разряжается. Здесь все нормально. Когда вы делаете High на SCL (переводите выход в OpenDrain) эта емкость медленно заряжается через PullUp резистор. Эта медленность не есть хорошо. Медленный фронт SCL может быть неправильно воспринят микросхемами. А сократить его можно только уменьшением PullUp резистора. Но маленьким его сделать нельзя, т.к. ограничен втекающий ток микросхем. (Это относится к ACK на SDA и Clock Stretch на SCL) Вот выделенного - не понял. 1) выключили клоки на чипе - на Gate подали 0 . Cgd = С51 зарядился, Сgs = C50 - зарядился. (так как там тоже pullup) 2) включили клоки - на Gate подали High. С51 будет разряжаться. Так ведь? 2.1) на SCL подаем Low - транзистор открывается. С51 - заряжается. Время нарастания фронта на drain = T = R * C так? 2.2) на SCL подаем High - транзистор закрывается. С51 к этому времени разряжается. время спада тоже T = R * C Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
catBasilio 0 19 апреля, 2023 Опубликовано 19 апреля, 2023 · Жалоба @Zig, а вот про такую штуку что скажете? https://www.onsemi.com/pdf/datasheet/bss138-d.pdf на доллар - ведро отсыпают 😉 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться