Форум по операционной системе GNU/Linux и свободному программному обеспечению
Текущее время: 20 янв 2019, 18:22

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: периферийные шины
Непрочитанное сообщениеДобавлено: 31 окт 2018, 20:02 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11438
Откуда: Харьков
Меня в этом смысле интересуют а). I²C и б). SPI ... (возможно, но не очень, RS-485, Modbus, CAN) , т.е. шины, а). на которые можно без дополнительной работы паяльником подключать периферийные устройства, б). чтобы производилось множество таких устройств в). низкой стоимости.

Меня не интересует аппаратная и протокольная часть (т.е. как работают протоколы), а только то, как их использовать из Linux ... чаще всего это одноплатные ARM компьютеры.

P.S. Интерфейсы I2c и SPI вовсю используются в Arduino, так что на их ресурсах можно почерпнуть множество любопытной информации.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: периферийные шины
Непрочитанное сообщениеДобавлено: 31 окт 2018, 20:11 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11438
Откуда: Харьков
Olej писал(а):
Меня не интересует аппаратная и протокольная часть (т.е. как работают протоколы), а только то, как их использовать из Linux ... чаще всего это одноплатные ARM компьютеры.

1-я ссылка - с форума Orange Pi - i2c или SPI.
Откуда почерпнём, что на основе только эмпирических экспериментов:
- без всяких аппаратных фокусов...
- SPI обеспечивает дальность до 20 метров...
- I²C - гарантировано 3-5 метров...
- с питанием устройств от внешних источников дальность может быть больше.

[url=https://ru.wikipedia.org/wiki/I²C]I²C[/url] позволяет:
- 100 кбит/с
- до 112 свободных адресов для подключения периферии на одну шину.
Цитата:
Изображение


SPI, Serial Peripheral Interface:
Цитата:
Простота аппаратной реализации:
- более низкие требования к энергопотреблению по сравнению с I²C и SMBus;
- возможно использование в системах с низкостабильной тактовой частотой;
- ведомым устройствам не нужен уникальный адрес, в отличие от таких интерфейсов, как I²C, GPIB или SCSI.
Изображение
Изображение


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: периферийные шины
Непрочитанное сообщениеДобавлено: 24 ноя 2018, 17:59 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11438
Откуда: Харьков
Код:
olej@orangepione:~$ aptitude search i2c-tools
p   i2c-tools                                           - heterogeneous set of I2C tools for Linux                     

Код:
olej@orangepione:~$ sudo apt-get install i2c-tools
[sudo] password for olej:
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  libi2c-dev python-smbus
Recommended packages:
  read-edid
The following NEW packages will be installed:
  i2c-tools
0 upgraded, 1 newly installed, 0 to remove and 48 not upgraded.
Need to get 57.6 kB of archives.
After this operation, 196 kB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian stretch/main armhf i2c-tools armhf 3.1.2-3 [57.6 kB]
Fetched 57.6 kB in 0s (114 kB/s)
Selecting previously unselected package i2c-tools.
(Reading database ... 82849 files and directories currently installed.)
Preparing to unpack .../i2c-tools_3.1.2-3_armhf.deb ...
Unpacking i2c-tools (3.1.2-3) ...
Setting up i2c-tools (3.1.2-3) ...
Processing triggers for man-db (2.7.6.1-2) ...
olej@orangepione:~$ uname -a
Linux orangepione 4.14.18-sunxi #24 SMP Fri Feb 9 16:24:32 CET 2018 armv7l GNU/Linux

Работа с i2c
Цитата:
данный пакет имеет программы
i2cdetect — проверка подключенных устройств — выводит адреса подключенных устройств
i2cdump — снятие дампа данных
i2cget — получение значения нужного регистра в подключенном устройстве. Опрашивается в формате i2cget
i2cset — запись значения в регистр подключенного устройства, команда в формате i2cset
где:
— i2c шина (0 или 1)
— адрес чипа
— адрес регистра
— значение регистра


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: периферийные шины
Непрочитанное сообщениеДобавлено: 24 ноя 2018, 18:06 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11438
Откуда: Харьков
Olej писал(а):
Цитата:
данный пакет имеет программы
i2cdetect — проверка подключенных устройств — выводит адреса подключенных устройств
i2cdump — снятие дампа данных
i2cget — получение значения нужного регистра в подключенном устройстве. Опрашивается в формате i2cget
i2cset — запись значения в регистр подключенного устройства, команда в формате i2cset
где:
— i2c шина (0 или 1)
— адрес чипа
— адрес регистра
— значение регистра

Код:
olej@orangepione:~$ sudo i2cdetect -l
i2c-0   i2c          DesignWare HDMI                    I2C adapter

Код:
olej@orangepione:~$ sudo  i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: 30 31 -- -- -- -- -- 37 -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- 55 -- -- -- -- 5a -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                         


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: периферийные шины
Непрочитанное сообщениеДобавлено: 26 ноя 2018, 14:22 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11438
Откуда: Харьков
Выше показанное - это был Orange Pi / Armbian.
Но и в Rapsberry Pi с i2cdetect та же история: и с установкой и с использованием...


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: периферийные шины
Непрочитанное сообщениеДобавлено: 26 ноя 2018, 14:26 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11438
Откуда: Харьков
Olej писал(а):
Но и в Rapsberry Pi с i2cdetect та же история: и с установкой и с использованием...

Хорошая статья о использовании устройств на I²C из кода C : I2c в Linux из пространства пользователя


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.434s | 18 Queries | GZIP : On ]