Автор Тема: i2c или SPI  (Прочитано 2032 раз)

Оффлайн megahertz

i2c или SPI
« : Апрель 26, 2016, 07:19:26 am »
Добрый день
Коллеги, посоветуйте из практики, что вы  используете для связи slave устройств с оранжPi ?
Сейчас для связи и управления slave устройств я использую i2c, но на кабеле в ~20-25 метров устройство теряется:(

Оффлайн Vital864

  • Посвященный
  • ***
  • Сообщений: 246
  • Лайков: 36
  • Карма: +4/-0
  • Orange Pi Plus
    • Просмотр профиля
Re: i2c или SPI
« Ответ #1 : Апрель 26, 2016, 08:33:59 am »
   Запитай устройство своим блоком питания. Должно быть ОК. А так, что i2c, что SPI - одинаковое напряжение сигналов. Протоколы разные. Но сигнал будет также теряться из-за падения напряжения на длинной шине. Свой блок питания устройства должен решить эту проблему.

Незабудь: минуса общие, т.е. вместе соединены, а плюса разные. У каждого свой плюс питания.
Orange Pi Plus

Оффлайн megahertz

Re: i2c или SPI
« Ответ #2 : Апрель 26, 2016, 08:39:07 am »
Спасибо за совет.
Vital864 - сам работаешь с ними? на каком расстоянии максимум подымал контроль с устройством?

Оффлайн GrayCat

Re: i2c или SPI
« Ответ #3 : Апрель 26, 2016, 09:45:28 am »
Могу посоветовать в качестве передатчика в линию и приёмника с неё - микросхемы для RS-485 интерфейса (ADM485, наша любимая ADM483EAR), плюс симметричную линию для каждого сигнала. Тот же самый SPI, просто "физическая среда" симметричная. Тогда и "земли" можно через ~100-омный резистор разделить.

С I2C, конечно, сложнее - там SDA двунаправленный.

Оффлайн CHuKEPC

Re: i2c или SPI
« Ответ #4 : Апрель 26, 2016, 10:16:18 am »
1. Для выбора устройств смотри на скорость передачи данных.
2. библиотеки работы этих устройств.
3. длина шнурка. Для увеличения шнурка и стабильной работы i2c на расстоянии 25 метров, я использовал микросхемы P82B715, форумы пишут что возможно увеличение до 50 м. На расстоянии 20 метров шина SPI работает без проблем и на прекрасной скорости.
 Я изначально пробовал работать с NFC ридером PN532 по i2c, но стоимость модуля + стоимость P82B715 меня не радовала. RC522 ридер заработал из коробки на 20 метров без потерь
OPi plus 2, OPi plus, OPi PC, RPi B, RPi2, RPi3, BPi, BPi Lamobo R1. И все работает!

Оффлайн megahertz

Re: i2c или SPI
« Ответ #5 : Апрель 26, 2016, 12:29:57 pm »
Спасибо за советы, буду пробовать

Оффлайн Vital864

  • Посвященный
  • ***
  • Сообщений: 246
  • Лайков: 36
  • Карма: +4/-0
  • Orange Pi Plus
    • Просмотр профиля
Re: i2c или SPI
« Ответ #6 : Апрель 26, 2016, 07:10:01 pm »
Да, megahertz, с устройствами i2c работаю, но такой длинны небыло необходимости строить. Максимум - 3 метра.  ;)
Orange Pi Plus

Оффлайн zevs3344

Re: i2c или SPI
« Ответ #7 : Апрель 29, 2016, 10:53:28 pm »
3. длина шнурка. Для увеличения шнурка и стабильной работы i2c на расстоянии 25 метров, я использовал микросхемы P82B715, форумы пишут что возможно увеличение до 50 м. На расстоянии 20 метров шина SPI работает без проблем и на прекрасной скорости.
Вот, очень полезная идея.

Альтернативный граблевый вариант -
ESP8266 nodemcu. заказал эту штучку. цепляется по вай фай. самостоятельное устройство. по LAN (wi-fi) можно опрашивать и управлять.

а насчет i2c -  PCF8574 очень очень полезная штука. Даже релешками управляю =)

Оффлайн CHuKEPC

Re: i2c или SPI
« Ответ #8 : Апрель 30, 2016, 11:10:56 am »
В том то и прикол использования PCF8574, что нет необходимости в дополнительных настройках и прочих танцев. Кроме того мы принципиально не пользуем беспроводные соединения - не кошерно (не секьюрно).
А так ESP8266 отличная штуковина там где можно отказаться от шнурков. Схему подключения Вашу на обозрение можно?
OPi plus 2, OPi plus, OPi PC, RPi B, RPi2, RPi3, BPi, BPi Lamobo R1. И все работает!

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 182
  • Лайков: 13
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: i2c или SPI
« Ответ #9 : Июль 29, 2016, 11:57:00 am »
CHuKEPC, поделись опытом как подключить SPI в OPI PC. Как ты это делаешь?
Vital864, а может выложешь пример подключения I2C?

Что используете, какие пакеты?
« Последнее редактирование: Июль 29, 2016, 12:00:18 pm от vash_sa »

Оффлайн CHuKEPC

Re: i2c или SPI
« Ответ #10 : Июль 29, 2016, 02:20:59 pm »
Не очень понял вопрос.
Я описывал подробно с распиновками и подключения по i2c и по spi шинам.
Пользую armbian без gui
Что конкретно тебя интересует?
OPi plus 2, OPi plus, OPi PC, RPi B, RPi2, RPi3, BPi, BPi Lamobo R1. И все работает!

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 182
  • Лайков: 13
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: i2c или SPI
« Ответ #11 : Июль 29, 2016, 03:28:34 pm »
Инициализация SPI. Я хотел попробовать использовать wiringPi но там требуется для использования библиотеки подключить SPI загрузкой модуля gpio load spi. Если я эту команду набираю, то ответ следующий
modprobe: FATAL: Module spi-sun7i not found.
gpio: Unable to load spi-sun7i
Я посмотрел в модулях и вправду нет соответствующего драйвера. Как быть?
Как у тебя с этим модулем, или при подключении используешь что-то другое? Напиши, пожалуйста.

Дайте модуль  spi-sun7i под ARMBIAN Debian GNU/Linux 8 (jessie) 3.4.110-sun8i
Ну, пожалуйста.
« Последнее редактирование: Июль 29, 2016, 04:53:38 pm от vash_sa »