华大HC32L196移植Sx1268

一、lora芯片选择sx1268。

关于sx1261、sx1262、sx1268这三者的区别

  本次移植选择了EX-S68F的lora模块,该模块封装了sx1268芯片和lora的外围匹配和电子开关。

接线方式如下,sx1268四线spi连接mcu,接收使能通过mcu的io控制,si1268的dio2控制发射使能。

二、MCU选型 华大HC32L196PCTA

  选华大这个低功耗系列MCU主要是因为...

三、资料下载

       1.sx126x资料可以找Semtech代理商要也可以在官网下载,官网下载地址,

资料下载地址规格和数据表 | 开发者门户

相关的驱动也可以在gitee上下载开源的code,下载地址 LoRaMac-node: LoRaMac-node是Semtech官方发布的LoRaWAN节点端项目

  2.HC32L196资料下载地址

HC32L196PCTA-LQFP100-华大半导体有限公司

四、移植准备

1.新建一个空的HC32L196的keil project,并且添加sx126x驱动

2.添加board文件

添加完如下

 

五、开始移植

  为了方便以后移植到其他型号的MCU上,这里使用模拟SPI进行移植

1.在board-config.h里修改SPI接口和相应的io定义。

  

2.新建board_gpio.c / board_gpio.h  

  Board_gpio.c 主要封装两个gpio初始化函数

3.新建board_spi.c / board_spi.h

Board_spi.c 封装spi io初始化以及模拟的spi读写函数

Board-spi.h里添加

 Spi端口初始化

Spi读写函数参考时序图

4.修改sx126x-board.c

此处修改的函数比较多这里就列出几个关键的函数

io初始化修改

Reset函数busy函数修改

读写命令修改

读写寄存器函数修改,这个是主要的mcu和sx1268通讯接口,比较重要

修改Tcxo配置

由于移植没有使用定时器这里修改函数使用固定值

打开dio2电子开关使能功能

5.Sx126x.c 基本不用改

Sx126x.h

  

6.radio.c修改

radio.c里的函数主要修改了中断响应函数和应答函数

修改如下

编译注释掉所有的定时器相关的代码,消除所有警告

五、收发测试

经过上面的移植,编译无误,就可以做收发测试了

Main.c可以参考demo里给出的初始化流程

1定义lora参数

2.超时函数

3.参数定义

4.main函数

 Mcu初始化

Lora初始化

发射接收测试

移植到这里已经可以进行收发测试了

添加打印函数,连接电脑测试

  

收发测试正常了,回头测一下发射功率和接收灵敏度

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: sx1268是一款低功耗、高性能的LoRa调制解调芯片。它实现了LoRa无线通信技术,可用于实现远距离、低功耗、低速率的物联网通信。对于"caculate"(计算)这个词,我理解你是希望了解如何计算sx1268的性能指标。 首先,对于sx1268的传输速率,可以根据数据包大小和实际应用需求来计算。sx1268的最大传输速率为300kbps,也可调节为更低的速率以获得更远的传输距离。 其次,对于sx1268的通信距离,可使用链接衰减公式来计算。该公式包括发射功率、接收灵敏度以及路径损耗等参数。sx1268在868MHz频段下,最大的发射功率为22dBm,接收灵敏度为-148dBm。路径损耗可通过环境因素以及传输距离来估算,一般可以使用Free Space Path Loss模型进行近似计算。 还有,sx1268的功耗可通过数据手册中的功耗指标来计算。常用的功耗指标包括睡眠模式、接收模式和发送模式下的功耗。这些功耗值可以结合实际的工作周期和传输需求来进行计算。 此外,sx1268还有其他性能参数,如频率偏移、调制方式、数据包错误率等。这些参数也可以根据具体应用场景和需求来计算和评估。 总而言之,对于sx1268的性能指标,可以根据具体需求和应用场景,使用相应的公式和数据手册中提供的参数进行计算。这些计算将有助于我们更好地了解sx1268的性能特征,以便进行适当的调试和应用。 ### 回答2: sx1268是一款射频模块,用于在无线通信中传输和接收数据。使用sx1268进行通信,需要进行一些计算来确保数据的准确传输。 首先,我们需要计算传输的频率。sx1268支持多个频率范围,例如433MHz、868MHz和915MHz。我们可以根据实际需求选择适当的频率,并设置sx1268的寄存器来配置通信频率。 接下来,我们需要计算数据传输的速率。sx1268支持多种速率,如0.3kbps、10kbps和300kbps等。选择适当的传输速率取决于通信的需求,比如传输距离和数据量。我们可以通过设置sx1268的寄存器来配置传输速率。 除了频率和速率,我们还需要计算功率级别。sx1268支持不同的输出功率级别,如+8dBm、+14dBm和+22dBm。选取适当的功率级别可以确保在不同环境下获得稳定的通信连接。 此外,我们还需要计算CRC(循环冗余校验)的参数。CRC用于检测数据传输中的错误,并可以校正一些错误。我们可以选择合适的CRC模式和参数来确保数据传输的可靠性。 最后,我们需要计算信号的传输距离。sx1268的传输距离受到多种因素的影响,如频率、功率和环境等。我们可以通过模拟和测试来评估sx1268在特定环境下的传输距离,并根据需要选择合适的传输方案。 综上所述,sx1268 caculate包括计算频率、速率、功率级别、CRC参数和传输距离等,以确保数据在无线通信中的稳定传输。 ### 回答3: sx1268是Semtech公司生产的一款无线通信芯片,用于低功耗广域网(LPWAN)应用。 首先,sx1268提供了较低的功耗特性,可以有效延长电池的使用寿命。这是通过使用时钟门控单元(CGU)来降低功耗,以及采用低功耗睡眠和待机模式来实现的。 其次,sx1268内部集成了SX126x传输机制,利用低功耗广域网协议进行数据传输。这种协议可以在长距离范围内实现可靠的通信连接,并具有较低的传输速率。sx1268还支持多种调制模式,包括2GFSK、4GFSK、OOK和FLRC等,使其能够适应不同的应用需求。 此外,sx1268还提供了多个接口,包括SPI、UART和GPIO等,方便与其他设备进行通信和控制。它还具有较低的工作电压范围,通常在1.8V到3.6V之间,这使得它可以与多种类型的电子设备兼容。 最后,需要注意的是,为了正确使用sx1268,必须进行一些计算。例如,可以通过计算传输速率、带宽和发射功率来确定通信距离。此外,还可以通过计算接收灵敏度来评估设备的性能。因此,在使用sx1268时,计算是必不可少的一步,以确保它能够满足应用需求。 综上所述,sx1268是一款功能强大且功耗较低的无线通信芯片,适用于低功耗广域网应用。但在使用它时,需要进行一些计算来确定其性能和可靠性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_37666038

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值