LoRa无线通信设计(一)原理

引言

1901年,古列尔默.马可尼把长波无线电信号从Cornwall(康沃尔,位于英国的西南部)跨过大西洋传送到3200公里之外的Newfoundland(加拿大的纽芬兰岛),至此人类进入了无线通信时代。100多年来,无线技术的发展为人类带来了无线电、电视、移动电话和通信卫星。近20年,最让人们深刻感受的是移动通信,手机几乎成为人们的一个器官,用它便捷接入Internet。

无线通信具有一些天生优势:投入成本低,扩展灵活性大,跨越空间阻碍。我们推测以下将成为未来的趋势:

l 市电供电的设备(电视机、音响等)采用诸如UWB之类的高速短距离无线,

l 电池供电的设备(能耗表计,自行车等)将会采用微功率无线,

l 手持设备(手机,平板电脑等)继续使用4G/5G的移动通信技术。

更大胆的推测是,随着生物识别技术、大容量储能和柔性屏幕材料突破,显示和通信将会无处不在,手机可以会消失,付款按指纹即可。

是时候,让我们一起揭开无线通信的神秘面纱,了解下原理,接触一个即将来临身边的微功率无线通信。

一、      无线通信原理

在通信系统中,我们需要弄清模拟和数字的关系:一个模拟信号就是一个连续变化的电磁波,一个数字信号是一个电压脉冲序列。看一个实例,下图选自经典教材《无线通信与网络(第二版)》,电话通信是典型的模拟数据(声波)通过模拟信号传输;家庭宽带拔号上网是典型的数字数据(计算机只能处理数字信号)通过模拟信号(由“猫”完成调制)传输,同时模拟信号也可以转换成数字信号(由“猫”完成解调);计算机局域共享则是典型的数字数据通过数字信号传输。

通信信号的第一个“敌人”是噪声,如下图所示,噪声会影响数字位,足以将1变为0,或将0变为1。

无线传播主要有3种类型:地波传播、天波传播和直线传播,如下图所示。

无线信号除直线传播外,因为阻碍物的存在,还会发现如下图所示的3种传播机制:反射(R)、散射(S)和衍射(D),因为传输路径的不同而引起多径衰退是无线通信的一个挑战。

因为电磁波是连续的模拟信号,无线通信中数字数据都需要调制成模拟信号,常见的方法有:ASK(幅移键控)、FSK(频移键控)和PSK(相移键控),如下图所示。

二、      LoRa扩频通信

1944年,好莱坞26岁女影星HedyLamarr(号称世界上最美丽的女人)发明了扩频通信技术,这种跳频技术可以有效地抗击干扰和实现加密。

后来人们发现,扩频技术可以得到如下收益:从各种类型的噪声和多径失真中获得免疫性;得到信噪比的增益。换句话说,使用扩频通信抗干扰性更强,通信距离更远。CDMA和WiFi都使用了扩频技术。

扩频调制的示意图如下所示,用户数据的原始信号与扩展编码位流进行XOR(异或)运算,生成发送信号流,这种调制带来的影响是传输信号的带宽有显著增加(扩展了频谱)。

当然扩频技术也不是万能的,它至少有2个弊端:扩展编码调制生成更多片的数据流导致通信数据率下降;较复杂的调制和解调机制。


长期以来,要提高通信距离常用的办法是提高发射功率,同时也带来更多的能耗。电池供电的设备(如水表)一般只能使用微功率无线通信,这样一来就限制了其通信距离。现在,SemTech公司推出的LoRa射频,因为采用了扩频调制技术,从而在同等的功耗下取得更远的通信距离。

2013年SemTech公司推出SX1276/8系列的扩频调制射频芯片,它的实现方式非常巧妙,整个解调器引擎只需要50K个门。功耗低:休眠电流0.2uA,接收电流12mA,发射电流29mA@13dBm,和常见的GFSK芯片Si4438和CC1125接近,但是通信距离是GFSK芯片的3倍。附带说一句,我们国人在IT技术上最大的弱项是硬件呀,基本上IC(集中电路)芯片都靠进口。

SemTech公司官方宣称该芯片可以达到:可视距离15kM,城市环境中3kM的通信距离。根据我们的实测数据:SX1278在1kbps的速率下可以单跳覆盖一个5000多户的小区。这意味着,使用简单的星型组网就可以建立LoRa微功率网络,而GFSK调制的芯片常常需要树型或MESH等复杂的路由网络。

同时,根据我们的使用经验,发现LoRa射频芯片至少有2个弊端:首先,通信速率低,它真正与GFSK拉开通信距离差距的速率都低于1kbps,这意味着LoRa主要用于低速率通信,如传感器数据;另外,1.5~2美金的售价比GFSK芯片高出许多,给产品带来高成本。

了解与下载更多的LoRa资料请链接:http://www.rimelink.com/col.jsp?id=105

三、      iWL881A的设计

iWL881A无线通信模块是“长沙市锐米通信科技有限公司(www.rimelink.com)”的LoRa长距离低功耗产品(如下图),它内嵌高效强大的物联网操作系统Contiki,支持星型/树型/MESH网络,与公司的集中器和云服务器组成“端管云”系统。典型应用场景为:居民抄表(水/电/气)、路灯控制、工厂采集、安全报警等。

该款微功耗无线通信产品应用场景基本由电池供电,因此低功耗设计成了首个“主战场”。MCU选用了ST公司超低功耗处理器STM8L151C8,射频芯片(RF)使用Semtech公司SX1278。该产品具备超低功耗,待机功耗仅为0.6uA,接收功耗约16mA,超长距离发射功耗约100mA。具体测试数据可以参考博文《MCU低功耗设计(三)产品》:

http://blog.csdn.net/jiangjunjie_2005/article/details/47700597。

MCU与RF通过SPI总线连接,此外还有一些控制引脚,SX1278硬件原理图如下:RF通过DIO0~5引脚给MCU发通知信号,NSS /SCK / MISO / MOSI是SPI总线,NRRST是MCU复位RF的引脚。

更多的介绍与技术支持请链接:http://www.rimelink.com/nd.jsp?id=32&_np=105_315

四、      Contiki操作系统

因为功耗、成本和尺寸等因素的限制,微功率无线通信产品一般只能使用资源受限的MCU;同时,节能技术的实现,网络协议栈的支持,一样需要实现。这时,就极为需要一个节省内存、支持多种网络协议栈、可裁剪的操作系统。

Contiki就是一个比较理想的无线通信产品操作系统,它非常节省内存,丰富的无线通信协议原语,小巧实用的Coffee文件系统,可灵活更换的动态链接库,支持IPPv4和IPv6协议栈,由ASNI C语言实现,开源免费。

随着物联网的高速发展,Contiki可能会成为一个普及度十分高的物联网操作系统,如同Linux一样。

免费下载Contiki源代码+原理+功能+编程+移植+驱动+网络,

请链接:http://www.rimelink.com/nd.jsp?id=31&_np=105_315

如果您对于用Contiki设计无线通信产品,请参考以下博文:

Contiki经典论文:http://blog.csdn.net/jiangjunjie_2005/article/details/44274209

Contiki移植:http://blog.csdn.net/jiangjunjie_2005/article/details/44656389

Contiki内核原理:http://blog.csdn.net/jiangjunjie_2005/article/details/44684811

Contiki开发要点:http://blog.csdn.net/jiangjunjie_2005/article/details/44725997

Contiki协议栈:http://blog.csdn.net/jiangjunjie_2005/article/details/45932571

Contiki常用数据结构:

http://blog.csdn.net/jiangjunjie_2005/article/details/46385453

rtimer原理与移植:

http://blog.csdn.net/jiangjunjie_2005/article/details/44947899

解析Contiki系统protothread的预编译C代码:

http://blog.csdn.net/jiangjunjie_2005/article/details/44600365

欢迎加入“LoRaWAN论坛”http://lora.timeddd.com/forum.php

LoRa无线通信设计(一)原理相关推荐

  1. LoRa无线通信设计(三)小区环境测试

    LoRa无线通信设计(三)小区环境测试 引言 我们在<LoRa无线通信设计(一)原理>中解释了LoRa扩频通信带来更长的通信距离的原理:http://blog.csdn.net/jiang ...

  2. LoRa 学习Day4 LoRa无线通信设计(二)空空距离测试

    https://blog.csdn.net/jiangjunjie_2005/article/details/48102279 LoRa无线通信设计(二)空空距离测试 https://blog.csd ...

  3. 无线通信设计秘密三:效率 节能 组网

    无线通信设计秘密三:效率 节能 组网 一. 典型的LoRa无线网络 LoRa(Long Rang)无线通信协议是一种长距离的无线通信技术,它最大的优点是距离远(空旷距离可达15kM),同时低功耗:当然 ...

  4. 无线通信设计秘密二:时分和频分复用

    无线通信设计秘密二:时分和频分复用 一.    二大MAC层协议 我们知道,MAC层协议在无线通信中处于特别重要的地位:首先它要解决信号冲突的问题,即同一个时刻只能有一个发送者:其次,它要尽可能地节省 ...

  5. LoRa SX1278/76驱动原理 附代码

    LoRa SX1278/76驱动原理 附代码 原理解释 LoRa 关键参数说明 前导码: 报头: 显式报头模式: 隐式报头模式: LoRa 调制解调: 扩频因子: 编码率: 信号带宽: 代码说明 SP ...

  6. 无线通信设计秘密四:唤醒下发算法

    无线通信设计秘密四:唤醒下发算法 在电池供电的无线系统中,大部分时间终端都处于休眠状态,这时产生一个问题----如果网关需要随时唤醒终端,那该怎么办呢?答案是,设计一种优秀的"唤醒下发算法& ...

  7. 物联网Lora模块从入门到精通(八)Lora无线通信

    一.前言 在某些环境下,无法通过有线传输数据,这时候我们需要使用Lora无线通信传输数据,Lora无线数据传输具有低功耗.距离长的特点,常用于工厂内等,需要Lora基站. 我曾做过距离测试:Lora模 ...

  8. 15个著名的设计心理学原理以及在设计中的应用

    你是否有在听别人说某某原理法则时一脸懵B的时候?明明知道这个原理却说不出它的名字?不要紧,本文就来介绍与人机交互设计相关的15个常见的设计心理学原理,帮助你了解产品的定位,需求目的和交互逻辑,洞悉用户 ...

  9. Kafka中副本机制的设计和原理

    Kafka中一个分区可以拥有多个副本,副本可分布于多台机器上.而在多个副本中,只会有一个Leader副本与客户端交互,也就是读写数据.其他则作为Follower副本,负责同步Leader的数据,当Le ...

  10. Atitit.struts排除url 的设计and 原理 自定义filter 排除特定url

    Atitit.struts排除url 的设计and 原理 自定义filter 排除特定url 1.1. 原理流程1 2. Invoke1 3. StrutsX2 1.1. 原理流程 读取struts配 ...

最新文章

  1. window系统查看端口被哪个进程占用了,并将它结束
  2. 检测到smtp服务器版本信息,邮件服务器DBMail检测功能
  3. oracle sequrnce_Oracle Sqlldr简单用法
  4. 在计算机网络中发送电子邮件遵循的协议是,一、计算机网络刷题
  5. 计算机网络太难?如何系统自学计算机网络?
  6. css 修改文字基准线_css外部样式表怎么写
  7. c语言儿童教学_五岁儿童的自然语言处理
  8. 2021 年全国大学生电子设计竞赛实施过程说明
  9. 【数据结构导论】考试笔记总结(一)
  10. 深入机器学习系列之:快速迭代聚类
  11. 转载:ecCodes 学习 利用ecCodes Python API对GRIB文件进行读写
  12. Unbuntu20.04环境下一款开源翻译软件:goldendict的安装与配置(图文)
  13. 【面试题】前端人70%以上 不了解的promise/async await
  14. 基于java的Android手机通讯录【详细】【完整代码】
  15. 【C51单片机】交通红绿灯设计(仿真)
  16. 2022-2028年全球与中国饲料核苷酸行业市场需求预测分析
  17. Java爬虫之jsoup的使用
  18. http会话的四个过程
  19. UI设计界面设计培训班
  20. JavaScript代码混淆加密

热门文章

  1. imageJ 如何下载plugin_尺寸统计软件Nano measurer详细使用教程(附下载链接)
  2. win10下 STLINK 驱动不正常 禁用强制验证数字签名
  3. 一个比较好看的彩带飘飞和点击效果 canvas实现
  4. STM32数据可视化显示——纸飞机串口调试助手的使用
  5. Roboware Studio 下载
  6. 北京理工大学计算机学院嵩天,嵩天教授做客我校信息学院
  7. JDK 9.0版本下载安装
  8. 激活函数(激励函数)理解总结
  9. fasterrcnn 总结
  10. 什么是web前端开发和后端开发?