jenya7 0 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба Сегодня почти все датчики имеют один-два адреса. Два адреса если есть дополнительный пин который можно посадить на землю или питание, а так один адрес. А если мне нужно посадить 10 датчиков на шину? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 213 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба Либо коммутировать подручными средствами, либо 10 микроконтроллеров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 13 minutes ago, jenya7 said: А если мне нужно посадить 10 датчиков на шину? Похоже, что датчики не подразумевались для создания систем телеметрии. Чтобы померить температуру внутри прибора двух - трёх датчиков обычно достаточно. Тут где0-то недавно как раз обсуждали эту проблему. Именно для её решения и предназначена шина 1-Wire. Если уж сильно хочется i2c, то можно наделать до бесконечности программных шин на каждой паре пинов микроконтроллера. Либо коммутировать аппаратную мультиплексорами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 2 minutes ago, haker_fox said: Похоже, что датчики не подразумевались для создания систем телеметрии. Чтобы померить температуру внутри прибора двух - трёх датчиков обычно достаточно. Тут где0-то недавно как раз обсуждали эту проблему. Именно для её решения и предназначена шина 1-Wire. Если уж сильно хочется i2c, то можно наделать до бесконечности программных шин на каждой паре пинов микроконтроллера. Либо коммутировать аппаратную мультиплексорами. Если мы возьмём довольно популярные - HTS221, BME280, BMP085 - все они 1-2 адреса. То есть нужно специально искать датчики с расширенной адресацией? Програмный I2C это извращение, к тому же где я столько пинов наберусь. Мультиплексор тоже не радостное решение. Вот я всегда не любил этот протокол, проблема что большинство датчиков делают именно под него. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 1 minute ago, jenya7 said: Програмный I2C это извращение Ну я занимался таким извращением) Поверьте, иногда это просто необходимо. 1 minute ago, jenya7 said: к тому же где я столько пинов наберусь Расширители портов: pca9534, какие-нибудь сдвиговые регистры на SPI-шину. 1 minute ago, jenya7 said: Мультиплексор тоже не радостное решение. Ну... 2 minutes ago, jenya7 said: Вот я всегда не любил этот протокол, проблема что большинство датчиков делают именно под него. Протокол не создавался для телеметрии, а у меня есть ощущение, что для неё вы и что-то делаете. Если так, то берите специальные термодатчики для промышленности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 1 minute ago, haker_fox said: Протокол не создавался для телеметрии, а у меня есть ощущение, что для неё вы и что-то делаете. Если так, то берите специальные термодатчики для промышленности. ну а если нужно обвесить большое помещение датчиками. я думал взять I2C extender он позволяет удлинить шину до пары сот метров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 2 minutes ago, jenya7 said: ну а если нужно обвесить большое помещение датчиками Шина, как и приёмопередатчики для неё, создавались всё-таки не для помещения, а для внутриборного использования. Чем DS18B20 не устраивает? Как раз для подобных целей и используется. Если мне память не изменяет, то, используя паразитное питание, можно обойтись двумя проводниками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 1 minute ago, haker_fox said: Шина, как и приёмопередатчики для неё, создавались всё-таки не для помещения, а для внутриборного использования. Чем DS18B20 не устраивает? Как раз для подобных целей и используется. Если мне память не изменяет, то, используя паразитное питание, можно обойтись двумя проводниками. я не хотел ограничивать пользователя в выборе датчиков. а так как большинство из них делается почему то под I2C я включил эту шину в проект. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 240 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 44 минуты назад, haker_fox сказал: можно наделать до бесконечности программных шин на каждой паре пинов микроконтроллера. Можно обойтись одной линией I2C на один датчик. Вторую линию - развести на все. Тогда нужно почти в 2 раза меньше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 213 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 23 минуты назад, jenya7 сказал: I2C extender он позволяет удлинить шину до пары сот метров Тогда Вы тому пользователю отпишите прикручивать к каждому датчику и по такому же усилителю, потому что I2C придумала Philips исключительно для соединения микросхем на одной плате телевизора, т.е. 40 см, никаких статических разрядов и т.п. 37 минут назад, jenya7 сказал: возьмём довольно популярные - HTS221, BME280, BMP085 - все они 1-2 адреса У первых двух интерфейс SPI — Вы вообще о чём? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arhiv6 18 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба Ищите "I2C hub IC" или "I2C bus multiplexer". PCA9547/PCA9548 и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 240 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 45 минут назад, jenya7 сказал: Вот я всегда не любил этот протокол, проблема что большинство датчиков делают именно под него. А вы искали? Ищите и обрящете. Например MLX90614 позволяет обойтись всего одним пином на датчик. Причём - однонаправленным (легко мультиплексируется при необходимости). И шина - не с ОК, а значит - устойчивее к помехам и длинным линиям сигнала. 5 минут назад, arhiv6 сказал: Ищите "I2C hub IC" или "I2C bus multiplexer". PCA9547/PCA9548 и т.п. Если есть лишние выводы МК, а на I2C-слэйве есть хотя бы одна нога выбора чипа (или адреса), то можно сделать мультиплексирование без дополнительных чипов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 6 minutes ago, Plain said: У первых двух интерфейс SPI — Вы вообще о чём? SPI опциональный. ту все дело в свободе выбора. 9 minutes ago, jcxz said: Можно обойтись одной линией I2C на один датчик. Вторую линию - развести на все. Тогда нужно почти в 2 раза меньше. это как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 240 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба 5 минут назад, jenya7 сказал: это как? Посмотрите на осциллограммы I2C и подумайте: http://easyelectronics.ru/interface-bus-iic-i2c.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zig 36 2 ноября, 2020 Опубликовано 2 ноября, 2020 · Жалоба Микросхема LTC4316 - Single I2C/SMBus Address Translator позволяет менять слэйв адрес I2C микросхем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться