【技术分享】基于M6Y2C平台实现LoRa远距离传输

描述

想要使用LoRa远距离稳定可靠的传输数据?又不知道从何下手?本文将向您介绍ZSL421 LoRa智能组网芯片,以及在M6Y2C使用ZSL421 LoRa模块进行数据通信的实操案例。

 

通信  移植准备

1. 简介LoRa全称为远距离无线电(Long Range Radio)是一种线性调频扩频调制技术,具有传输距离远、低功耗、组网灵活等诸多优势。

ZSL421 LoRa 智能组网芯片是致远电子自主研发的LoRa智能组网芯片,该产品集成无线收发器,超低功耗MCU,射频收发匹配电路和滤波电路。支持自组网透传协议、LoRaNET、LoRaWAN、LinkWAN、CLAA等软件组网协议。

2. 平台选择

M6Y2C是一款工业控制核心板,如图2所示,采用NXP Cortex-A7 800MHz主频的处理器,以先进的电源管理架构带来更低功耗。M6Y2C标配8路UART、2路USB OTG、2路CAN-Bus、2路以太网等接口;标配128/256/512MB DDR3和128/256MB NAND Flash、硬件看门狗等。

使用的LoRa模块是基于ZSL42x LoRa智能组网芯片的PCIE-ZSL421 LoRa模块,如图1所示。通信

图1

3. 硬件连接
将PCIE-ZSL421插入PCIE座子即可,如图2所示。通信

图2

通信  开始适配

1. 设备树修改

为了方便开发使用,PCIE-ZSL421模块里面已有出厂固件,我们只需要配置相应的串口,对该模块进行配置及通信即可,打开核心板对应的设备树文件,使能硬件对应的串口,如下:

  •  
  •  
  •  
  •  
  •  

&uart5 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart5>; status = "okay";};

在iomux节点下添加对应引脚的电气属性。

  •  
  •  
  •  
  •  
  •  
  •  

pinctrl_uart5: uart5grp { fsl,pins = < MX6UL_PAD_UART5_TX_DATA__UART5_DCE_TX 0x1b0b1 MX6UL_PAD_UART5_RX_DATA__UART5_DCE_RX 0x1b0b1 >;};

配置完后编译烧录即可。


 

通信  模块调试

烧录完成后,我们需要通过刚刚适配的串口对PCIE-ZSL421模块进行调试,调试时我们借助ZSL42x-EVB Board板子以及Wireless Tool APP,使用USB线将电脑与ZSL42x-EVB Board板子连接后,打开Wireless Tool 连接ZSL42x-EVB Board,点击红框的按钮然后连接即可,如图3所示。(注:该工具可以在ZSL42x资料下载页面获取)通信图3

连接后将设备地址设置为20 02,设置信道为信道1,使能透传功能,设置目标地址为20 01,如图4所示,设置完后点击右上角的保存图标进行保存。

通信图4 Wireless Tool配置使用串口连接到核心板的调试串口,输入以下命令对PCIE-ZSL421进行配置。设置串口波特率:

  •  

stty -F /dev/ttymxc4 raw speed 115200 cs8 -parenb -cstopb -echo min 0 time 50

设置PCIE-ZSL421地址为20 01:

  •  
  •  

echo -n -e "\x7e\x00\x00\x00\x03\x00\x00\x19\x00\x9a" > /dev/ttymxc4echo -n -e "\x7e\x00\x00\x00\x06\x00\x03\x06\x02\x20\x01\x00\xb0" > /dev/ttymxc4

使能PCIE-ZSL421透传模式:

  •  
  •  

echo -n -e "\x7e\x00\x00\x00\x03\x00\x00\x19\x00\x9a" > /dev/ttymxc4echo -n -e "\x7e\x00\x00\x00\x04\x00\x03\x09\x01\x00\x8f" > /dev/ttymxc4

设置PCIE-ZSL421目标地址为20 02:

  •  
  •  

echo -n -e "\x7e\x00\x00\x00\x03\x00\x00\x19\x00\x9a" > /dev/ttymxc4echo -n -e "\x7e\x00\x00\x00\x08\x00\x03\x1b\x00\x02\x20\x02\x04\x00\xcc" > /dev/ttymxc4

设置PCIE-ZSL421信道为信道1:

  •  
  •  

echo -n -e "\x7e\x00\x00\x00\x03\x00\x00\x19\x00\x9a" > /dev/ttymxc4echo -n -e "\x7e\x00\x00\x00\x04\x00\x03\x07\x01\x00\x8d" > /dev/ttymxc4

配置完成后就可以当串口来使用了。

现在开始进行通信,首先在PC端关闭Wireless Tool,打开串口工具,设置波特率为115200,8n1,如图7所示,就可以进行测试,测试结果如图5所示。通信通信图5 PCIE-ZSL421通信结果

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分