射频RFM75通信是收发双方都需要编程的器件,收发双方的通道频率,空中传输速率设置一致,调试时必须先调通一块再调另一块,否则出现问题了就不知道是发送端有问题还是接收端有问题。调试必须理清思路。正确的方法是先调试发送端,能保证发送正确,再去调试接收端。

首先了解RFM75发射端的工作流程图:

图1

上图1由数据手册中得到,由此可得到其工作流程:

发射数据:

1,上电配置芯片RFM75之前必须先延时超50us后芯片稳定工作。

2,配置寄存器使芯片工作于发送模式后必须使CE引脚置1至少15us。

3,读状态寄存器的STATUS

4,判断是否是发送完成标志位置位。

5,如果是,清标志,

6,清缓冲区TX_FIFO。

7,使用无自动应答方式,因为自动应答方式流程为:发送方发送—等应答--(自动重发)--触发中断。这样会把接收方牵扯进来。单独调试发送端,需完全抛开接收端。

发送端调试:

一,先检查芯片硬件是否正常:

1,MISO脚读出数据时,使用示波器看下是否有波形。

2,使用SPI读写RFM75的寄存器,如果写入的和读出的数据一样,则芯片正常。

二,使用无自动应答方式发送数据,然后读STATUS的值,如果status=0x2e,标志发送方发送成功。不成功需要检查硬件连接和时序可能导致的问题。

RFM75接收端工作流程图:

图二

由图二可得其接收端工作流程:

接收数据:

1,配置寄存器使芯片工作于接收模式后置CE引脚为1至少130us。

2,读状态寄存器STATUS。

3,判断是否是接收完成标志位置位

4,读取数据缓冲区数据。

5,清标志位

6,清接收缓冲区RX_FIFO。

接收端调试方法同发射端。需判断发送的数据是否正确。最终的产品如果不加上应答和重发的话稳定性很难保证。

  RF相关知识整理:以下的总结都是来自于网络,有的来自与博客,有的来自于维基百科/百度百科,仅仅是为了方便查看。

ASK:

ASK:幅移键控调制的简写,例如二进制的,把二进制符号0和1分别用不同的幅度来表示,就是ASK了。

OOK:ASK调制的一个特例,把一个幅度取为0,另一个幅度为非0,就是OOK了。例如二进制符号0用不发射载波表示,二进制1用发射1表示。

FSK:频移键控调制的简写,即用不同的频率来表示不同的符号。例如2KHz表示符号0,3KHz表示符号1。

GFSK:高斯频移键控的简写,在调制之前通过一个高斯低通滤波器来限制信号的频谱宽度。

其中ASK跟OOK的频谱都比较宽。

ASK定义

“移幅键控”又称为“振幅键控”(Amplitude Shift Keying),记为ASK,是调制技术的一种常用方式。   如果数字调制信号的可能状态与二进制信息符号或它的相应基带信号状态一一对应,则称其已调信号为二进制数字调制信号。用二进制信息符号进行键控,称为二进制振幅键控,用2ASK表示。

图1:移幅键控原理图

在“移幅键控”方式中,当“1”出现时接通振幅为A的载波,“0”出现时关断载波,这相当于将原基带信号(脉冲列)频谱搬到了载波的两侧。

移幅键控(ASK)相当于模拟信号中的调幅,只不过与载频信号相乘的是二进制数码而已。移幅就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。二进制振幅键控(2ASK),由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号为“1”时,传输载波;当调制的数字信号为“0”时,不传输载波。原理如图1所示,其中s(t)为基带矩形脉冲。一般载波信号用余弦信号,而调制信号是把数字序列转换成单极性的基带矩形脉冲序列,而这个通断键控的作用就是把这个输出与载波相乘,就可以把频谱搬移到载波频率附近,实现2ASK。实现后的2ASK波形如图2所示。

图2:输出后的2ASK波形

  移幅键控这种调制技术工作的最简单和最常用的形式是开关,载波存在用“1”代表,载波不存在用“0”代表。这种类型的调制称为开关键控(OOK),是最节省能量的调制方式,因为只有在发送“1”时辐射能量。幅移键控需要很高的信噪比才能解调信号,因为根据其本身特性,大部分信号都是以很低的功率进行发射的。ASK调制射频系统的优点是发射和接收设备的结构简单,并且功耗比较低。但不幸的是,ASK/OOK调制系统所占用的带宽低于500kHz或着峰值密度根本不会落入“数字调制系统”要求的范围。这表明ASK/OOK调制系统的发射功率被限制在50mV/m,或者必须采用一些FHSS技术以满足FCC的15.247条款的要求。


ook

On-Off Keying

OOK是ASK调制的一个特例,把一个幅度取为0,另一个幅度为非0,就是OOK。   二进制启闭键控(OOK:On-Off Keying)又名二进制振幅键控(2ASK),它是以单极性不归零码序列来控制正弦载波的开启与关闭。该调制方式的出现比模拟调制方式还早,Morse码的无线电传输就是使用该调制方式。由于OOK的抗噪声性能不如其他调制方式,所以该调制方式在目前的卫星通信、数字微波通信中没有被采用,但是由于该调制方式的实现简单,在光纤通信系统中,振幅键控方式却获得广泛应用。该调制方式的分析方法是基本的,因而可从OOK调制方式入门来研究数字调制的基本理论。

FSK频移键控

中文名称:频移键控

英文名称:frequency-shift keying;


FSK 定义:

正弦振荡的频率在一组离散值间改变的角度调制,其中每一离散值表示时间离散调制信号的一种特征状态。

应用学科:通信科技(一级学科);通信原理与基本技术(二级学科)

频移键控,英文缩写FSK。

频移键控是利用两个不同频率F1和F2的振荡源来代表信号1和0。用数字信号的1和0去控制两个独立的振荡源交替输出。对二进制的频移键控调制方式,其有效带宽为B=2xF+2Fb,xF是二进制基带信号的带宽也是FSK信号的最大频偏,由于数字信号的带宽即Fb值大,所以二进制频移键控的信号带宽比较大,频带利用率小。

GFSK 调制的定义

  GFSK - 高斯频移键控

   高斯频移键控GFSK - Gauss frequency Shift Keying ,是在调制之前通过一个高斯低通滤波器来限制信号的频谱宽度。

调制原理

  GFSK 高斯频移键控调制是把输入数据经高斯低通滤波器预调制滤波后,再进行FSK调制的数字调制方式。它在保持恒定幅度的同时,能够通过改变高斯低通滤波器的3dB带宽对已调信号的频谱进行控制,具有恒幅包络、功率谱集中、频谱较窄等无线通信系统所希望的特性。因此,GFSK调制解调技术被广泛地应用在移动通信、航空与航海通信等诸多领域中。

GFSK调制可以分为直接调制和正交调制2种方式。

直接调制

  直接调制是将数字信号经过高斯低通滤波后,直接对射频载波进行模拟调频。当调频器的调制指数等于0.5,它就是熟知的GMSK(高斯最小频移键控)调制,因此GMSK调制可以看成是GFSK调制的一个特例。而在有的文献中,称具有不同BT积和调制指数的GFSK调制方式为GMSK/FM,这实际上是注意到了当调制指数不等于0.5时,该方式不能称为GMSK这一事实。

  直接调制法虽然简单,但由于通常调制信号都是加在PLL频率合成器的VCO上,其固有的环路高通特性将导致调制信号的低频分量受到损失。因此,为了得到较为理想的GFSK调制特性,提出了一种称为两点调制的直接调频技术。在这种技术中,调制信号被分成2部分,一部分按常规的调频法加在PLL的VCO端,另一部分则加在PLL的主振荡器一端。由于主振荡器不在控制反馈环内,它能够被信号的低频分量所调制。这样,所产生的复合GFSK信号具有可以扩展到直流的频谱特性,且调制灵敏度基本上为一常量,不受环路带宽的影响。但是,两点调制增加了GFSK调制指数控制的难度。

正交调制

  正交调制则是一种间接调制的方法。该方法将数字信号进行高斯低通滤波并作适当的相位积分运算后,分成同相和正交两部分,分别对载波的同相和正交分量相乘,再合成GFSK信号。相对而言,这种方法物理概念清晰,也避免了直接调制时信号频谱特性的损害。另一方面,GFSK参数控制可以在一个带有标定因子的高斯滤波器中实现,而不受后续调频电路的影响,因而参数的控制要简单一些。正因为如此,GFSK正交调制解调器的基带信号处理特别适合于用数字方法实现。


RSSI:

Received Signal Strength Indication接收的信号强度指示,无线发送层的可选部分,用来判定链接质量,以及是否增大广播发送强度。

通过接收到的信号强弱测定信号点与接收点的距离,进而根据相应数据进行定位计算的一种定位技术

如无线传感的ZigBee网络CC2431芯片的定位引擎就采用的这种技术、算法。

接收机测量电路所得到的接收机输入的平均信号强度指示。这一测量值一般不包括天线增益或传输系统的损耗。


LNA(Low Noise Amplifier)

LNA即低噪声放大器,是噪声系数很低的放大器。一般用作各类无线电接收机的高频或中频前置放大器(比如手机、电脑或者iPAD里面的WiFi),以及高灵敏度电子探测设备的放大电路。


SNR(signal to noise ratio)

信噪比(Signal-to-noise ratio,缩写为SNR或S/N),也称作信杂比信噪比讯杂比,在通信系统的接收端测量。


SR符率 (Symbol Rate)在数字电视中信号是以数码形式传输的。在一个数码单元时间内发送一个符号 (Symbol)。例如 0 或者 1 可以是符号。在卫星电视中电磁波以正弦振荡形式发射。这个正弦振荡的相位可以在数码单元时间内变为0,90,180 或者270度。这些相位就是符号。一秒钟内发送的符号数目就是符率。实际上这个正弦振荡 (载波) 通常被多个电视节目轮流分享使用符率是各个节目共同使用的总和再加上开销。例如一个载波的符率为20兆符/秒共有6个电视节目分享。那么一个电视节目的符率大约只有3兆符/秒。


码片速率是指用户数据符号经过扩频之后的速率, 从MAC-d传过来的有效fp bit经过channel coding,帧均衡, 速率匹配, 复用到CCTrCH后,分成IQ两路,两路同时分别依次进行扩频和加扰的操作。扩频就是将用户数据符号与其分配到的相应的扩频码相乘,扩频操作将会增加信号带宽,因为信号的带宽在数值上近似等于其码元传输速率,扩频后的符号速率称为码片速率。 在WCDMA系统中,因为10ms的TTI包含15个slots,每个slot有2560个chips,一算就可得出3.84Mcps的码片速率.

3.84M码片=15*2560(一个slot)*100(10ms的15个slot,1s就乘以100)

Chip rate,单位:cps,chips per second

Bit对应的是有用信息,是进入物理层进行基带信号处理前的信息位,它的速率称为比特速率;Symbol是在空中接口发送之前,对信息进行基带信号处理(信道编码)如交织、循环冗余校验位的添加、速率适配等之后,在进入扩频调制之前的信号;Chip是空中接口上经过扩频调制之后的信息单位,用于体现能量(energy)的承载。

由此,公式bit rate*SF(spreading factor)=chip rate将被修正为chip rate=SF*symbol rate

spreading factor为扩频因子

上图中扩频因子为6,表示码片速率(扩频后的速率)与进入扩频调制之前的信号的比值,可以看出扩频倍数越大,信噪比则越高。


cyclic coding rate

 

2.4G无线收发模块/射频RFM75调试总结/RF知识整理的更多相关文章

  1. 2.4G无线射频通信模块nRF24L01+开发笔记(基于MSP430RF6989与STM32f0308)(1.(2)有错误,详见更正)

    根据网上的nRF24L01+例程和TI提供的MSP430RF6989的硬件SPI总线例程编写程序,对硬件MSP-EXP430RF6989 Launch Pad+nRF24L01P射频模块(淘宝购买)进 ...

  2. 2.4G无线控制器附加AT2401C功放IC增加距离

    现在科技产品的不断进步,智能家居方面慢慢对信号和距离方面的要求渐渐增加.深圳市动能世纪科技有限公司不断的满足客户需求,推出了一款射频信号放大器AT2401C满足客户距离信号等等的需求.并全方位技术支持 ...

  3. 2.4G无线模块NRF2401

    RF24L01+,是工作在2.4~2.5GHz 频段的,具备自动重发功能,6 个数据传输通道,最大无线传输速率为2Mbits.MCU 可与该芯片通过SPI 接口访问芯片的寄存器进行配置,达到控制模块. ...

  4. STM32F407使用MFRC522射频卡调试及程序移植成功

    版权声明:转载请注明出处,谢谢 https://blog.csdn.net/Kevin_8_Lee/article/details/88865556 或  https://www.cnblogs.co ...

  5. Xcode 10 无开发者账号通过无线网络真机调试

    Xcode是苹果公司向开发人员提供的集成开发环境,用于开发macOS.iOS.WatchOS和tvOS的应用程序.WWDC18全球开发者大会上,苹果发布了macOS Mojave beta测试版系统, ...

  6. STM32F103芯片SPI控制NRF24L012.4G无线模块交互通信实验

    1.NRF24L01模块的资料百度搜索一下就有很多.这里我就不做介绍本文主要侧重于应用层面实验介绍与分享. 2.先看下原理图. 根据原理图:写出NRF24L01  C语言驱动文件如下: #includ ...

  7. 24L01-2.4G无线传输模块调节记录

    在调试24L01的时候,虽然能用到别人的程序,但仅仅是程序的初始化,并没有告诉我们如何去后续的操作,如何去再次发送一组数.最近调试24L01接近尾声,将逐一的地方总结下来,以便以后查阅,也供其他人借鉴 ...

  8. 4G无线全网通太阳能水文设备电源监测系统BMS110

    钡铼技术BMS110模块可实现4路电池电压.2路模拟量.2路数字量和1路温度测量,支持Modbus RTU over TCP和MQTT通讯协议,DC9-36V电源供电.BMS110可应用于各种有使用蓄 ...

  9. Android应用调试经常使用知识

    1.Android应用启动过程调试 1).进入设置-->辅助功能-->开发人员选项:假设没有打开开发人员模式.在拨号里面输入*#*#6961#*#*: 2).找到选择调试应用,打开选择你要 ...

随机推荐

  1. linux环境下搭建 j2ee环境

    一.JDK安装(安装在/usr/java目录下)1.下载:jdk-7-ea-bin-b26-linux-i586-24_apr_2008.bin地址:http://jx.newhua.com/down ...

  2. bootstrap-导航总结

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. JSP(基础语法)

    一.JSP简介 JSP全称为Java Server Pages,其根本是一个简化的Servlet设计,它实现了在java当中使用HTML标签.JSP是一种动态网页技术标准也就是javaEE的标准.JS ...

  4. Color.js 增强你对颜色的控制

    Color.js是一个能加强前端开发中对颜色处理的第三方库. 假设你已经基本了解色彩通道.色彩空间.色相.饱和度.亮度.不透明度等概念.当然了,毕竟前端算是半只脚踏进设计领域了,相信这些概念难不到你. ...

  5. Flash、Ajax各自的优缺点,在使用中如何取舍?

    1.Flash ajax对比 Flash适合处理多媒体.矢量图形.访问机器:对CSS.处理文本上不足,不容易被搜索. Ajax对CSS.文本支持很好,支持搜索:多媒体.矢量图形.机器访问不足. 共同点 ...

  6. C#丨爬虫基础

    在前几天看到一片公众号的文章是关于.NET玩爬虫. 所以今天小编索性来try一下,恰好小编最近在关注房价这一块的,索性就写了一个例子抓取房产信息的. 不善言辞的小编直接给出代码吧!相信读者也等不及了. ...

  7. Spark 键值对RDD操作

    键值对的RDD操作与基本RDD操作一样,只是操作的元素由基本类型改为二元组. 概述 键值对RDD是Spark操作中最常用的RDD,它是很多程序的构成要素,因为他们提供了并行操作各个键或跨界点重新进行数 ...

  8. java中 i = i++ 的结果

    昨天看到下面这段代码,分享出来给大家看看,大家也可以讨论讨论. int i = 0; i = i++; System.out.println("i的值是 "+i); 根据我们通常所 ...

  9. Vue2.0音乐播放器

    学习了几周的vuejs,学习的过程中做了一个音乐播放器WebApp (顺便听听音乐~) ,过程中也有借鉴过别人做的,感觉受益匪浅 链接 项目在线地址 : 音乐播放器 github : https:// ...

  10. php 实现购物车功能,以大苹果购物网为例,上图上代码。。。。

    首先是几个简单的登录页面 <body> <form action="chuli.php" method="post"> <div ...