MOD-MRF24J40: различия между версиями

434 байта добавлено ,  3 года назад
Нет описания правки
 
(не показаны 4 промежуточные версии 2 участников)
Строка 1: Строка 1:
<languages/>
<translate>
<!--T:1-->
Модуль трансивера IEEE 802.15.4 от Olimex. Содержит чип Microchip MRF24J40.
Модуль трансивера IEEE 802.15.4 от Olimex. Содержит чип Microchip MRF24J40.
Модуль можно купить в магазине Olimex с доставкой в Россию.
Модуль можно купить в магазине Olimex с доставкой в Россию.




<!--T:2-->
Вставляется в разъём UEXT, использует интерфейс SPI.
Вставляется в разъём UEXT, использует интерфейс SPI.


 
==IEEE 802.15.4== <!--T:3-->
 
==IEEE 802.15.4==
IEEE 802.15.4 - физический уровень, который используется стандартами ZigBee, 6LoWPAN и другими. В Linux поддерживается стандарт [https://ru.wikipedia.org/wiki/6LoWPAN 6LoWPAN] - IPv6-сеть поверх физического уровня.
IEEE 802.15.4 - физический уровень, который используется стандартами ZigBee, 6LoWPAN и другими. В Linux поддерживается стандарт [https://ru.wikipedia.org/wiki/6LoWPAN 6LoWPAN] - IPv6-сеть поверх физического уровня.
Рабочая частота - 2.4Ghz, нелицензируемый диапазон.
Рабочая частота - 2.4Ghz, нелицензируемый диапазон.


 
<!--T:4-->
<b> Поддержка 6LoWPAN в Linux в настоящее время не полностью работоспособна. </b>
<b> Поддержка 6LoWPAN в Linux в настоящее время не полностью работоспособна. </b>
http://elinux.org/images/7/71/Wireless_Networking_with_IEEE_802.15.4_and_6LoWPAN.pdf


==Подключение==
==Подключение== <!--T:5-->
Модуль подключается к Wiren Board через разъём UEXT2. При этом выводы 6-7 (программный I2C) используются в режиме GPIO.
Модуль подключается к Wiren Board через разъём UEXT2. При этом выводы 6-7 (программный I2C) используются в режиме GPIO.


<!--T:6-->
Для работы в Linux необходимо использовать выход прерывания INT. В UEXT-разъёме модуля этот сигнал заведён на вывод UART RX (4), что делает невозможным его использование в качестве источника прерывания.
Для работы в Linux необходимо использовать выход прерывания INT. В UEXT-разъёме модуля этот сигнал заведён на вывод UART RX (4), что делает невозможным его использование в качестве источника прерывания.
Необходимо подключить вывод INT на выводы UEXT2, которые представляют из себя GPIO, например на вывод 6 UEXT2 (GPIO53).
Необходимо подключить вывод INT на выводы UEXT2, которые представляют из себя GPIO, например на вывод 6 UEXT2 (GPIO53).


<!--T:7-->
Самый простой способ сделать это - накоротко замкнуть (например припоем) ножки 4 и 6 на UEXT-вилке модуля.
Самый простой способ сделать это - накоротко замкнуть (например припоем) ножки 4 и 6 на UEXT-вилке модуля.


==Настройка==
==Настройка== <!--T:8-->
Драйвер трансивера в ядре [https://github.com/contactless/linux/blob/v3.12-rc3-imxv5-x0.3/drivers/net/ieee802154/mrf24j40.c]. В драйвер добавлены незначительные изменения для работы в полудуплексном режиме SPI и для использования Device Tree. Драйвер в виде модуля включен в образ по-умолчанию.
Драйвер трансивера в ядре [https://github.com/contactless/linux/blob/v3.12-rc3-imxv5-x0.3/drivers/net/ieee802154/mrf24j40.c]. В драйвер добавлены незначительные изменения для работы в полудуплексном режиме SPI и для использования Device Tree. Драйвер в виде модуля включен в образ по-умолчанию.


<!--T:9-->
Для подключения модуля, необходимо объявить устройство в [[Device Tree]]:
Для подключения модуля, необходимо объявить устройство в [[Device Tree]]:


<!--T:10-->
<pre>
<pre>
ssp1: ssp@80034000 {
ssp1: ssp@80034000 {
  ..............
  ..............


         cs-gpios = <&gpio0 17 0
         <!--T:11-->
cs-gpios = <&gpio0 17 0
  &gpio2 28 0
  &gpio2 28 0
  &gpio1 20 0
  &gpio1 20 0
Строка 38: Строка 47:




     ..............
     <!--T:12-->
..............


6lowpan@0 {
<!--T:13-->
6lowpan@0 {
compatible = "microchip,mrf24j40";
compatible = "microchip,mrf24j40";
spi-max-frequency = <100000>;
spi-max-frequency = <100000>;
Строка 49: Строка 60:




                         ..............
                         <!--T:14-->
..............




<!--T:15-->
};
};
</pre>
</pre>




==Работа с 6LoWPAN==
==Работа с 6LoWPAN== <!--T:16-->
Устанавливаем пакеты для работы с 6LoWPAN:
Устанавливаем пакеты для работы с 6LoWPAN:


<!--T:17-->
<pre>
<pre>
apt-get install  lowpan-tools
apt-get install  lowpan-tools
</pre>
</pre>


 
<!--T:18-->
Работа с 6LoWPAN производится с помощью утилиты <b>iz</b>
Работа с 6LoWPAN производится с помощью утилиты <b>iz</b>


<!--T:19-->
<pre>
<pre>
root@wirenboard:~# iz listphy
root@wirenboard:~# iz listphy
Строка 73: Строка 88:
</pre>
</pre>


<!--T:20-->
Для работы необходим пакет lowpan-tools из sid


 
==Ссылки== <!--T:21-->
==Ссылки==
* [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/
</translate>