随笔分类 -  LoRaWAN移植笔记

摘要:前言 已知LoRa数据包在负载之前会有一段前导码,接收端是先检测前导码,收到前导码之后才认为有数据发送过来。 那么不同的前导码的长度会有什么影响呢? 前导码长短的优劣势 前导码实际上是占符号的,也就是说越长的前导码,发送的持续时间也会越久,相应的也越耗电,所以较短的签到码就可以省点,反之则耗电,同样 阅读全文
posted @ 2018-08-06 23:45 AnswerInTheWind 阅读(9943) 评论(0) 推荐(1)
摘要:先说两句 在调试和移植的过程中 我们经常想用节点去抓上行包 或者去抓下行包 但在抓取的过程中发现,上行包抓取不到到,或是下行包抓取不到,或者是两个都抓取不到,觉得非常的诡异。明明接收频点、BW和SF都设置正确,百思不得其解 下面我就来解析一下这个问题 影响接收和发射的参数 常见通信参数 1.频点,这 阅读全文
posted @ 2017-07-01 16:01 AnswerInTheWind 阅读(14561) 评论(0) 推荐(0)
摘要:以下的代码适用于LoRa sx1276点对点的通讯,纯粹的考虑在非发射模式下即为接收模式 配置sx1276的射频参数,并且切换到接收模式 SX1276 发包 在 配置好射频参数 之后,发包就像发串口数据一样,直接传入数据的指针和长度可以完成了。 阅读全文
posted @ 2017-05-26 11:40 AnswerInTheWind 阅读(7378) 评论(1) 推荐(0)
摘要:先废话一小段 在将LoRaWAN的程序移植的过程中,调试发现了很多的问题。 做好记录工作,防止以后再踩坑 移植使用的是 "LoRaMac node" 库,使用的是STM32L151CBT6 MCU,需要要移植到STM32L051C8T6 这个MCU上面。 开始正文 JLink的配置 由于第一次使用J 阅读全文
posted @ 2017-01-11 09:15 AnswerInTheWind 阅读(6314) 评论(0) 推荐(0)
摘要:前言 调试的过程中碰到的问题基本都是以前没有遇到过的,而且需要对整个协议栈及射频方面的工作流程较熟悉才能找到问题的原因,需要多读SX1276的数据手册以及与射频芯片的物理层通信例程和MAC层通信例程进行对比相结合。 正文 发送失败 LoRa 模块在进行 模式切换时,比如TX 切换到RX模式,需要先将 阅读全文
posted @ 2017-01-11 09:14 AnswerInTheWind 阅读(5097) 评论(0) 推荐(0)
摘要:stm32相关的配置 由于例程使用的主控芯片为STM32L151C8T6,而在本设计中使用的主控芯片为STM32L051C8T6,内核不一样,并且Cube库相关的函数接口及配置也会有不同,所以芯片的驱动所以做修改。 RTC 的配置 此例程中,RTC被当做定时器使用,用于定时执行任务。 例程中,RTC 阅读全文
posted @ 2017-01-11 09:11 AnswerInTheWind 阅读(3668) 评论(0) 推荐(0)
摘要:stm32相关的配置 由于例程使用的主控芯片为STM32L151C8T6,而在本设计中使用的主控芯片为STM32L051C8T6,内核不一样,并且Cube库相关的函数接口及配置也会有不同,所以芯片的驱动所以做修改。 SPI 的配置 SPI使用的是STM32的硬件接口 SPI1 MOSI MISO 可 阅读全文
posted @ 2017-01-11 09:10 AnswerInTheWind 阅读(5209) 评论(0) 推荐(0)
摘要:stm32相关的配置 由于例程使用的主控芯片为STM32L151C8T6,而在本设计中使用的主控芯片为STM32L051C8T6,内核不一样,并且Cube库相关的函数接口及配置也会有不同,所以芯片的驱动所以做修改。另外例程中对STM32库函数的再一次封装的方法也非常值得学习。 GPIO 的配置 例程 阅读全文
posted @ 2017-01-11 09:08 AnswerInTheWind 阅读(4722) 评论(0) 推荐(0)
摘要:和硬件相关的问题 TCXO 的使用 根据SX1276数据手册, 如果使用TCXO,则需要配置RegTcxo寄存器为0x19,代码如下 否则配置为0x09,因为芯片上电默认不使用TCXO,即上电寄存器值即为0x09,所以无需配置 PA_BOOST 引脚的使用 根据sx1276 数据手册 如果使用PA_ 阅读全文
posted @ 2017-01-11 09:05 AnswerInTheWind 阅读(7186) 评论(0) 推荐(0)
摘要:近日在阅读semtech的 "Lora net/LoRaMac node" 。此代码是LoRaWAN MAC层的node段的代码。 此代码中构建了一个定时器链表,此链表构建得非常的巧妙,现在和大家分享。 此定时器链表底层使用的是RTC的闹钟(Alarm)机制(将日历时间转换成时间戳时间),而非使用一 阅读全文
posted @ 2016-12-21 10:11 AnswerInTheWind 阅读(9068) 评论(10) 推荐(2)