Несколько шин I2C на одной ардуинке?

Тема в разделе "Arduino & Shields", создана пользователем OlegROA, 24 сен 2018.

  1. OlegROA

    OlegROA Нерд

    Добрый день.

    Возможно ли такое? Конечная цель - управлять с одной ардуинки более чем 127 датчиками.
    И еще один вопрос в тему - есть ли драйверы, с помощью которых можно подключить к шине I2C датчик, который данный интерфейс не поддерживает?
    Из похожего я лишь нашел расширители портов, которые поддерживают подключение по I2C.
     
  2. DIYMan

    DIYMan Guest

    Возможно. Первое возможное решение - выбрать камень с несколькими аппаратными I2C. Второе возможное решение - юзать дополнительно программное I2C. Третье возможное решение - управление линиями SCL датчиков (отключаем SCL датчиков, которые должны быть неактивны на момент опроса - таким образом, можно иметь N датчиков с одним адресом на шине). Четвертое возможное решение - что-то типа http://www.ti.com/lit/ds/symlink/tca9545a.pdf
     
    Mitrandir и Igor68 нравится это.
  3. Vovka

    Vovka Гик

    А Ардуино "потянет" такую нагрузку?
     
  4. parovoZZ

    parovoZZ Гуру

    всё зависит от быдлокода.
     
  5. DIYMan

    DIYMan Guest

    Какую такую нагрузку? Не вижу никакой нагрузки.
     
    Mitrandir нравится это.
  6. Vovka

    Vovka Гик

    И правда, какая там будет нагрузка из емкости соединительных проводов плюс самих плат...
    127 устройств на любой поддерживаемой скорости - легко! :D
     
  7. DIYMan

    DIYMan Guest

    И какая такая ёмкость на проводах будет, если учесть тот факт, что I2C - внутрисхемная шина? Поделитесь плз с сообществом, пусть все знают. Ещё раз: хоть 500 устройств на I2C, главное - грамотная схемотехника и работа с ними, всё. Скорость шины - да, может стать узким местом, если часто и подряд тыркать все модули на шине - дуня только этим и будет заниматься, что постоянно опрашивать этот зоопарк. Но, на практике - ту же температуру и влажность бессмысленно читать чаще, чем раз в несколько секунд, как правило. Короче, тут уже специфика.
     
    vvr нравится это.
  8. Vovka

    Vovka Гик

    ТС спрашивал о датчиках - а это уже точно будет не системная шина! Плюс такое количество...
    Ладно, пусть делает, посмотрим...
     
  9. parovoZZ

    parovoZZ Гуру

    правильнее говорить - межпроцессорная. То бишь предполагается, что шина за пределы платы не выходит.
     
  10. DIYMan

    DIYMan Guest

    ТС спрашивал про I2C, а для I2C - есть свой даташит, где чётко всё описано, что и почём, в том числе - определения всякие, в том числе:
    Всё. Придерживаемся спецификации протокола I2C - и всё. А что там и какие датчики будет подключать ТС - сие неведомо, и должно быть анализировано по месту, я об этом писал:
     
    Mitrandir и Пушной звер нравится это.
  11. DIYMan

    DIYMan Guest

    Ну да, дословно - именно так.
     
  12. ANV

    ANV Гуру

    Дословно - межмикросхемная

    Но судя по вопросу автор собирается сделать либо INS, где 500 IMU будут компенсировать дрифт друг друга, либо фиерический звездец с глюкодромом на 10ти метровых кабелях
     
    parovoZZ нравится это.
  13. parovoZZ

    parovoZZ Гуру

    чтоб общаться по I2C, нужен какой-никакой проц. Хотя бы 4-битный.