MOD-MRF24J40/en: различия между версиями
(Новая страница: «==Ссылки== * [https://www.olimex.com/Products/Modules/RF/MOD-MRF24J40/resources/MOD-MRF24J40-schematic.pdf schematic circuit ] * [https://www.olimex.com/Pro…») |
(Новая страница: «==IEEE 802.15.4== IEEE 802.15.4 is a physical layer that is used by ZigBee, 6LoWPAN, and other standards. Linux supports the standard [https://ru.wikipedia.org/wi…») |
||
(не показано 13 промежуточных версий этого же участника) | |||
Строка 15: | Строка 15: | ||
<b> | <b> Поддержка 6LoWPAN в Linux в настоящее время не полностью работоспособна. </b> | ||
http://elinux.org/images/7/71/Wireless_Networking_with_IEEE_802.15.4_and_6LoWPAN.pdf | http://elinux.org/images/7/71/Wireless_Networking_with_IEEE_802.15.4_and_6LoWPAN.pdf | ||
== | ==Подключение== | ||
Модуль подключается к Wiren Board через разъём UEXT2. При этом выводы 6-7 (программный I2C) используются в режиме GPIO. | |||
Для работы в Linux необходимо использовать выход прерывания INT. В UEXT-разъёме модуля этот сигнал заведён на вывод UART RX (4), что делает невозможным его использование в качестве источника прерывания. | |||
Необходимо подключить вывод INT на выводы UEXT2, которые представляют из себя GPIO, например на вывод 6 UEXT2 (GPIO53). | |||
Самый простой способ сделать это - накоротко замкнуть (например припоем) ножки 4 и 6 на UEXT-вилке модуля. | |||
== | ==Настройка== | ||
Драйвер трансивера в ядре [https://github.com/contactless/linux/blob/v3.12-rc3-imxv5-x0.3/drivers/net/ieee802154/mrf24j40.c]. В драйвер добавлены незначительные изменения для работы в полудуплексном режиме SPI и для использования Device Tree. Драйвер в виде модуля включен в образ по-умолчанию. | |||
Для подключения модуля, необходимо объявить устройство в [[Device Tree]]: | |||
<pre> | <pre> | ||
Строка 38: | Строка 38: | ||
&gpio2 28 0 | &gpio2 28 0 | ||
&gpio1 20 0 | &gpio1 20 0 | ||
&gpio2 27 0 /* 91 25 @ CON2 UEXT2 CS/GPIO */ <-------- Chip Select | &gpio2 27 0 /* 91 25 @ CON2 UEXT2 CS/GPIO */ <-------- Chip Select разъёма UEXT2 соответствует устройству номер 6 (2+4) | ||
>; | >; | ||
........ | .............. | ||
6lowpan@0 { | 6lowpan@0 { | ||
Строка 48: | Строка 48: | ||
spi-max-frequency = <100000>; | spi-max-frequency = <100000>; | ||
reg = <6>; | reg = <6>; | ||
interrupt-parent = <&gpio1>; <-------- | interrupt-parent = <&gpio1>; <-------- используем GPIO 53 (21 + 32) в качестве IRQ | ||
interrupts = <21 0>; <-------- | interrupts = <21 0>; <-------- Это соответствует выводу 6 разъёма UEXT2 | ||
}; | }; | ||
........ | .............. | ||
Строка 60: | Строка 60: | ||
== | ==Работа с 6LoWPAN== | ||
Устанавливаем пакеты для работы с 6LoWPAN: | |||
<pre> | <pre> | ||
Строка 68: | Строка 68: | ||
Работа с 6LoWPAN производится с помощью утилиты <b>iz</b> | |||
<pre> | <pre> | ||
Строка 78: | Строка 78: | ||
Для работы необходим пакет lowpan-tools из sid | |||
==Ссылки== | ==Ссылки== | ||
* [https://www.olimex.com/Products/Modules/RF/MOD-MRF24J40/resources/MOD-MRF24J40-schematic.pdf | * [https://www.olimex.com/Products/Modules/RF/MOD-MRF24J40/resources/MOD-MRF24J40-schematic.pdf принципиальная схема] | ||
* [https://www.olimex.com/Products/Modules/RF/MOD-MRF24J40/ | * [https://www.olimex.com/Products/Modules/RF/MOD-MRF24J40/ |
Версия 19:51, 18 июля 2019
IEEE 802.15.4 transceiver module from Olimex. Contains a chip of Microchip MRF24J40.
The module can be bought in the Olimex store.
Is inserted into the connector UEXT uses the SPI interface.
IEEE 802.15.4
IEEE 802.15.4 is a physical layer that is used by ZigBee, 6LoWPAN, and other standards. Linux supports the standard 6LoWPAN - IPv6 network over the physical layer. Operating frequency - 2.4 Ghz, unlicensed range.
Поддержка 6LoWPAN в Linux в настоящее время не полностью работоспособна.
http://elinux.org/images/7/71/Wireless_Networking_with_IEEE_802.15.4_and_6LoWPAN.pdf
Подключение
Модуль подключается к Wiren Board через разъём UEXT2. При этом выводы 6-7 (программный I2C) используются в режиме GPIO.
Для работы в Linux необходимо использовать выход прерывания INT. В UEXT-разъёме модуля этот сигнал заведён на вывод UART RX (4), что делает невозможным его использование в качестве источника прерывания. Необходимо подключить вывод INT на выводы UEXT2, которые представляют из себя GPIO, например на вывод 6 UEXT2 (GPIO53).
Самый простой способ сделать это - накоротко замкнуть (например припоем) ножки 4 и 6 на UEXT-вилке модуля.
Настройка
Драйвер трансивера в ядре [1]. В драйвер добавлены незначительные изменения для работы в полудуплексном режиме SPI и для использования Device Tree. Драйвер в виде модуля включен в образ по-умолчанию.
Для подключения модуля, необходимо объявить устройство в Device Tree:
ssp1: ssp@80034000 { .............. cs-gpios = <&gpio0 17 0 &gpio2 28 0 &gpio1 20 0 &gpio2 27 0 /* 91 25 @ CON2 UEXT2 CS/GPIO */ <-------- Chip Select разъёма UEXT2 соответствует устройству номер 6 (2+4) >; .............. 6lowpan@0 { compatible = "microchip,mrf24j40"; spi-max-frequency = <100000>; reg = <6>; interrupt-parent = <&gpio1>; <-------- используем GPIO 53 (21 + 32) в качестве IRQ interrupts = <21 0>; <-------- Это соответствует выводу 6 разъёма UEXT2 }; .............. };
Работа с 6LoWPAN
Устанавливаем пакеты для работы с 6LoWPAN:
apt-get install lowpan-tools
Работа с 6LoWPAN производится с помощью утилиты iz
root@wirenboard:~# iz listphy wpan-phy0 IEEE 802.15.4 PHY object page: 0 channel: n/a channels on page 0: 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Для работы необходим пакет lowpan-tools из sid