Jump to content

    
Sign in to follow this  
ssvSerge

модуль WLR089

Recommended Posts

Добрый день всем.

Вчера сообщили, что придётся работать с модулем WLR089 (сслыка ниже). Это LoRa на базе процессора ATSAMR34J18B (Cortex M0+). Заказанная логика достаточно проста. Определить событие на GPIO и/или I2C и передать его второму такому же модулю. Беда в том, что с Атмелом работал очень давно, а с LoRa вообще сталкиваюсь впервые. 

 

Собственно первые вопросы по теме:

1) В доисторические времена приходилось танцевать с бубном для того, что бы подружить Atmel Studio с программатором. Неподписанные драйвера и т.д. Надеюсь, что сейчас ситуация изменилась. Но все-же: кто чем пользуется в связке Win10 + Atmel Stidio + Arm Cortex?

2) Был приятно удивлён тем, что кит (ссылка ниже) идёт с новым отладчиком EDBG. Можно шины смотреть в реальном времени. Класс. Но затем оказалось, что подключение своей платы не предусмотрено. Внешние отладчики EDGB что-то не нашёл. Может плохо искал? Можете посоветовать что-либо?

3) LoRa - полностью новая для меня тема. В моём случае высокая автономность устройств не требуется. Нужна дальность связи и скорость реакции на событие. Я так понял, что это класс С устройств. Но что-то я не понял каким образом решается вопрос коллизий при передаче. Квитирование от базы это понятно. Но можно ли как-то определить, что прямо сейчас идёт передача от другого устройства?

Модуль: https://ww1.microchip.com/downloads/en/DeviceDoc/70005435B.pdf

 

WLR089_Xplained_Pro.pdf

Edited by ssvSerge
читабельность страдала.

Share this post


Link to post
Share on other sites
35 minutes ago, x893 said:

1. Любая IDE (с поддержкой SAM L21) - Keil, Segger Studio, IAR, Atmel Studio ..., Notepad + arm-none-eabi

2. JLink

3. https://github.com/Lora-net/LoRaMac-node

GITHUB **IsChannelFree Спасибо за подсказку.

А вот по поводу JLink - отдельный вопрос. Понимает ли его Atmel Studio?

 

Edited by ssvSerge

Share this post


Link to post
Share on other sites
21 minutes ago, x893 said:

Да (2 года назад с SAM34R)

Еще вопрос такой: Обмен производится совсем короткими пакетами по 12 байт = 96 бит (идентификатор устройства + событие). Планируемая скорость в канале - 300 бод. 

В идеальном случае (без коллизий, критических помех и т.д.) передача пакета должна завершиться за 1/10 секунды. Удалённой стороне надо 0,5 секунды на принятие решения и отправки квитанции назад. Получается, что вся операция должна занять порядка 1 секунды. Это ожидания реалистичны? Нет ли каких-либо скрытых задержек?

Share this post


Link to post
Share on other sites

Если соединение точка-точка, то при чем тут ClassC и LORAWAN ?

Про задержки не скажу - не мерял.

Всё зависит от параметров передачи (SF, DR, CR, bandwidth)

От 20-30 ms до 800-1000 ms

 

Share this post


Link to post
Share on other sites
56 minutes ago, x893 said:

 зависит от параметров передачи (SF, DR, CR, bandwidth) до 800-1000 ms

Если соединение точка-точка, то при чем тут ClassC и LORAWAN ?

Спасибо.

ClassC может и не причем. Я только начинаю разбираться с темой. Насколько я понял, в модуле уже прошит (или предлагается) какой-то стек. Указав "класс" устройства я управляю графиком  передачи и приёма (конечно помимо всего прочего). Опять же, насколько я понял, выбор ClassC позволяет слушать эфир постоянно.

Реально будет до 254 датчиков + 1 концентратор. Соединение "звезда". В заголовке пакета находится идентификаторы источника и цели. Так что  принимать могут многие, но обработает только тот, кому это адресовано. 

Если эту логику можно реализовать без всяких "классов", то никто против не будет.

Share this post


Link to post
Share on other sites

Class C это относится к сети LORAWAN.

Если будете использовать свой протокол передачи, то никакой LORAWAN не нужно.

Смотрите примеры для LORA P2P.

Если будете использовать LORAWAN, тогда сеть строится конкпо инструкции и вот тогда и будут фигурировать Class A, B, C и прочее.

Share this post


Link to post
Share on other sites
On 4/10/2021 at 4:45 PM, x893 said:

Да (2 года назад с SAM34R)

Добрались мы наконец-то до разработки ПО под SAM 34R. Сказать, что я удивлён - это ничего не сказать. Документации ноль. Всё, что нашлось - набор примеров на GitHub.

https://github.com/search?q=topic%3Aatsamr34+org%3AMicrochipTech+fork%3Atrue

https://github.com/search?q=topic%3Awlr089u0+org%3AMicrochipTech+fork%3Atrue

Вы брали информацию там же? Или есть где-то тайное место, где описаны ADC, прерывания по GPIO и питание?

 

P.S. Процессор как украли. Похоже, что сами про него ничего не знают и не поддерживают.

 

Edited by ssvSerge

Share this post


Link to post
Share on other sites
35 minutes ago, ssvSerge said:

Добрались мы наконец-то до разработки ПО под SAM 34R. Сказать, что я удивлён - это ничего не сказать. Документации ноль. Всё, что нашлось - набор примеров на GitHub.

https://github.com/search?q=topic%3Aatsamr34+org%3AMicrochipTech+fork%3Atrue

https://github.com/search?q=topic%3Awlr089u0+org%3AMicrochipTech+fork%3Atrue

Вы брали информацию там же? Или есть где-то тайное место, где описаны ADC, прерывания по GPIO и питание?

 

Мне давал microchip - сейчас всё доступно на сайте. Отладка есть у них на нём. Через Atmel Studio всё делается и их SDK. Что то на https://github.com/x893/SAMR34 лежит.

 

https://docs.rakwireless.com/Product-Categories/WisDuo/RAK4260-Module/Overview/

и такие есть тоже

Share this post


Link to post
Share on other sites
36 minutes ago, ssvSerge said:

P.S. Процессор как украли. Похоже, что сами про него ничего не знают и не поддерживают.

Ничего они не украли - сами сделали. Всё поддерживается.

Share this post


Link to post
Share on other sites
57 minutes ago, x893 said:

Ну, для начала... Большое спасибо за быстрый и содержательный ответ. Говоря откровенно - это дорогого стоит. 

А вот что касается самого Microchp - не соглашусь. Ни со страницы процессора R34, ни со страницы модуля WLR089 нет ссылок на документацию. Ну или я не нашел. Это тоже вариант. Есть ссылки на GitHub. Но это вряд ли можно назвать дружелюбным подходом.

В репозитории https://github.com/MicrochipTech/atsamr34_long_range_p2p вообще не содержится драйвера ADC. В https://github.com/riotnetwork/samr уже есть. Но на множество процессоров и надо бегать по дефайнам и проверять что у тебя есть, а чего нет.

А питание? А тактовые генераторы? А прерывания от GPIO? Для человека, который раньше не сталкивался с ARM от Atmel это всё время.

Share this post


Link to post
Share on other sites

Раз Вам надо - значит Вам и изучать.
Кроме рук, глаз и мозга ничего не надо.
Всё расписано и опубликовано.
Наймите студента с начальными знаниями английского языка.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this