Длинные провода для I2C датчиков - (The New Hope)

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Sergey Proskurnya, 19 апр 2019.

  1. Хочу к IsraJS подключить пару барометров по проводам длиной 6-7 метров.

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

    Есть какое-то устоявшееся решение, можно или нет? Если можно, то какой провод использовать (тип, маркировка?)?

    Спасибо,
     
    Andrey12 нравится это.
  2. parovoZZ

    parovoZZ Гуру

    Любой. Вариацией частота линии/номинал подтягивающих резисторов добивается стабильная работа. Запрос и вычисление CRC в таком случае ОБЯЗАТЕЛЬНО.
     
    Sergey Proskurnya нравится это.
  3. Спасибо.
    Под частотой линии - имеется ввиду параметр "bitrate", выставляемый в настройках I2C:
    Код (Javascript):
    I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000});
    ?
     
  4. parovoZZ

    parovoZZ Гуру

    да
     
    Sergey Proskurnya нравится это.
  5. А вот с этим не вполне ясно: как мне скомандовать датчикам (барометр в данном случае) генерить и слать CRC? Мне нужно посмотреть исходники JS-модуля для troyka-барометра?
     
  6. Есть какой-то гайд по подбору резисторов в этом случае (а не схемотехнике и электронике вообще)? Я пока даже не представляю в какой из 6 проводков-контактов Troyka-барометра мне впаять резистор. Про резисторы знаю только как он выглядят и в чём измеряется номинал :)
     
    Belkin нравится это.
  7. Belkin

    Belkin Гик

    http://www.gaw.ru/html.cgi/txt/interface/iic/start.htm
     
    Sergey Proskurnya нравится это.
  8. parovoZZ

    parovoZZ Гуру

    нету. Слишком много переменных. Величина резистора зависит как от емкости линии, так и от токовой способности драйверов на линии.
     
  9. parovoZZ

    parovoZZ Гуру

    на тройке они стоять должны и, скорее всего, на 4.7k в планарном исполнении. Поэтому начинать надо с частоты. Выставляй 100 кГц. Будет глючить - понижай частоту. I2C синхронный интерфейс, поэтому работать будет хоть от одного герца.
     
    Sergey Proskurnya нравится это.
  10. да, я более-менее понимаю, что некоторые вещи невозможно выдать в виде чётко параметризованной формулы.
    Но огромное спасибо за рекомендации, куда копать и какие параметры "шевелить"!
     
  11. Belkin

    Belkin Гик

    На указанное расстояние (6-7 метров) заставить I2C работать нормально вряд ли получится без заморочек.
    Выберите другой интерфейс.
     
  12. Опять разнобой мнений :)
    Я думаю купить хороший мультикор кабель и попробовать с ним.
    Обязательно опишу результат, чтобы уже не было споров в следующий раз.
     
  13. Сделать можно, если есть осциллограф и понимание того, что делаете. В слепую я бы не брался.
     
  14. Andrey12

    Andrey12 Гик

    Все уже придумано https://www.nxp.com/docs/en/data-sheet/P82B715.pdf
    У меня с p82b715 нормально работает BME280 и TSL2561. провод обычный кабель связи КСПВ 4х0,5 20 метров.
     
    Sergey Proskurnya нравится это.
  15. Belkin

    Belkin Гик

    Никакого разнобоя нет...
    Без дополнительных "прибамбасов" (м/с или т.п.) более 2м будете ловить грабли...
     
    Sergey Proskurnya и Andrey12 нравится это.
  16. parovoZZ

    parovoZZ Гуру

    Увы - это не балансная линия, поэтому подойдёт абсолютно ЛЮБОЙ кабель. Бери самый дешманский. Витуха, не витуха - пофигу. Витая пара на этом интерфейсе не даёт никаких преимуществ.
     
    Sergey Proskurnya нравится это.
  17. parovoZZ

    parovoZZ Гуру

    Ничего не будет, если не стоять рядом с генератором на 6 или 35 кВ.
     
    Sergey Proskurnya нравится это.
  18. на это и надеюсь, потому что эксплуатация не предполагает нахождение рядом с электроприборами вообще (кроме самой IskraJS и мобильного телефона рядом). Другие ближайшие электрические приборы будут не ближе, чем несколько сотен метров.
     

  19. но на всякий случай спрошу, что значит сокращение "м/с". Это "подтягивающие резисторы", о которых написано выше? :)
     
  20. А у Амперки есть готовый модуль на это?
    Увы, я пока не дружу с "паяльником" (в широком смысле) и для своего первого хобби-проекта хотел бы ограничиться простыми, готовыми конструктивными элементами.
     
    acos нравится это.