微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > 射频综合技术问答 > 简单无线收发的STM8L15实现

简单无线收发的STM8L15实现

时间:10-02 整理:3721RD 点击:

2008年中国政府为微功率(短距离)无线电应用增加了868MHz~ 868.6MHz的工作频率。其对无线电设备的射频要求如下:

  (1)发射功率限值:5mW(e.r.p);

  (2)发射信号的占空比限值:1%;

  (3)载波频率容限:100×10-6;

  并把该类设备归类于“各类民用设备的无线电控制装置中。

  从上面的规定中可以看到,该频段可用带宽为600kHz,但并没有明确在该频道使用的带宽,数据速率以及调制方式方面要求,这就给予了应用很大的空间。本文主要是基于868MHz频段的要求,设计了比较简单通用的无线收发系统,该系统可适用于该频段的不同的无线传输应用。

  SX1231介绍及性能描述

  SX1231芯片是Semtech公司推出的一款高集成度、低功耗、多频段的UHF RF收发器。其工作电压为1.8V~3.6V,24引脚QFN封装,工作频率包括3155MHz、4335MHz、 8685MHz和915MHz无许可证的ISM频段;内部集成SIGMA-DELTA小数分频锁相环、功率放大器、唤醒定时器、数字调制解调器、66字节的发送和接收数据FIFO、数据包处理、数据加密功能AES,以及6个可配置的DIO等,所有主要的RF通信参数是可编程的,大多数可动态设定。采用16节的FIR通路滤波器,因而有好的选择性;发射功率可编程输出,从-18dBm到+17dBm;有多种调制解调方式:FSK、GFSK、MSK、GMSK和OOK等;SX1231在使用时所需的外部元件很少,1个32MHz的晶振、几个电容和电感就可组成一个高可靠性的收发系统,设计简单且成本低。SX1231在1.2kbps时的灵敏度高达-120dBm,主要用在无线抄表(AMR)、无线传感器网络、家庭和建筑物自动化、无线告警和安全系统、工业监视和控制等领域。

  无线射频收发系统设计

  系统总体方案

  无线射频收发系统的结构框图如图1所示,由STM8L151K2单片机控制SX1231实现无线数据的收发。发送模块中的STM8L151K2将数据传送给SX1231,然后SX1231对数据进行包格式处理,包括增加前导码、同步字、CRC校验码,如果需要也可以对数据进行加密处理。最后数据包经天线发送给接收模块。接收模块对接收到的射频信号放大、解调、解包之后,再将数据送给主控制器STM8L151K2进行相应的处理,如送显示屏或PC数据处理中心等。该系统包括按键和液晶显示屏等人机交互界面,以及RS232接口,这实现了与PC的通信功能。



  图1 系统方框图

  系统硬件设计

  主控芯片选用ST公司推出的单片机STM8L151K2。STM8L151K2有1K bytes的RAM和8K bytes的Flash以及256bytes的EEPROM,片上集成了包括串口、SPI、I2C、ADC、触摸屏控制功能等外围模块接口,完全满足本系统对微控制器的要求;有多种电源管理模式(如等待模式、低功耗运行模式、低功耗等待模式等)。

  STM8L151K2可以通过SPI接口对SX1231的内部寄存器进行读写操作,灵活配置各项参数。通过4线SPI接口完成对SX1231的初始化配置、读写数据、访问FIFO等操作,使SX1231正常工作在发射、接收模式,完成数据在空中的传播。

  SX1231是15脚~18脚的标准的SPI接口,DIO0~DIO5可以通过内部寄存器来配置成不同的中断信号。映射关系如表1所示,这样可以很方便地获取SX1231的工作状态。如果需要了解FIFO满、FIFO不是完全空,工作模式Ready,有效的数据包发送或接收、电池电压低、RSSI、PLL锁定等状态,都可以配置寄存器来把这些信号映射到DIO PIN,然后单片机STM8L151K2通过检测这些DIO PIN的电平来获得或者主动通知MCU某个状态发生。可用19脚(RXTX)控制射频收发开关以进行发射通路和接收通路的切换,高电平时为发射状态。图2中采用UPG2214TB射频开关,V1和V2分别为开关的控制脚。由于SX1231只有一个控制脚,因此增加一个三极管反相器就完成了开关的控制。21脚(RFIO)是发射和接收共用的PIN,但是该PIN的最高输出功率为13dBm。如果需要输出更高的功率(17dBm或20dBm),就必须把发射接至23脚(PABOOST),这时21脚(RFIO)只当作接收PIN。



  图2 硬件设计原理图

  SX1231接收端的输入阻抗可设置成50Ω和200Ω,通常设成200Ω,此时同一匹配值在全频段仍可获得很好的灵敏度。

  SX123节省功耗方面有一些很重要的特性:

  (1)工作电压范围宽:从1.8V~3.6V都可以正常工作,且任何特性都保持不变。特别是对于发射,工作电压低至1.8V时仍然保持相同的输出功率,即电压从1.8V~3.6V,输出功率都能到达17dBm或20dBm,不随电压而变。但是其他类似的芯片,输出功率则随着电压的下降而降低。这样一种特性,使得该系统能够使电池的利用最大化,延长电池的使用寿命,这对低功耗的应用来说具有非常重大的意义。

  (2)可以在sleep/standby模式下读写寄存器:该特性节约了写FIFO时的功耗。在sleep模式下的电流为0.1μA,而在接收模式下的电流为16mA,节约了160000倍的功耗。



  表1 DIO PIN 与信号的映射关系表

  系统软件设计

  系统中各主要功能模块均编成独立的函数由主程序调用。功能模块包括:初始化程序(包括初始化STM8L151K2、SX1231)、无线发送程序、无线接收程序等。无线发送程序负责写入数据载荷到SX1231,并根据通信协议来配置芯片的前导码、同步字及CRC校验码,最后SX1231把其组装成数据包将其发送出去;无线接收程序负责接收并处理数据。首先,SX1231接收到一个完整的数据包,之后逐步的把前导码、同步字以及CRC码去除,最后MCU从其FIFO中取出有效数据。

  无线收发模块之间的通信是以数据包的形式发送的,本系统定义的数据包格式如表2所示。



  表2 本文系统定义的数据包格式

  其中,Preamble(前导码)是一连串的10101010(0XAA)或01010101(0X55),其数量为0~655635字节,具体几个字节可以根据应用的需要来设定。前导码主要用来进行帧同步,接收机主要依靠前导码来进行有用信号识别,完成频率控制,以及自动增益控制、信号强度判断等动作以确保用最佳的状态接收正确的数据。SyncWord(同步字)在前导码之后,通过设定好的同步字来作为同步模式的标志码,也可以作为一个网络的ID,相同网络的设备用相同的同步码。而接下来的地址码(Address)可以作为网络内每个设备的ID,如果数据包中的地址于本设备的地址相同,则接收数据,否则不予处理。有效载荷(Message)是真正需要传输的数据。最后是CRC校验码,由芯片自动完成。

  初始化程序

  初始化程序包括STM8L151K2的初始化以及SX1231的收发频率、工作模式、调制方式、数据速率以及数据包处理等寄存器的初始化配置。

  系统上电后,STM8L151K2处于默认状态,根据系统功能需求重新进行初始化配置。SX1231也处于默认状态,需要进行配置才能工作。SX1231的初始化是一个重要的部分,正确的配置对系统最终的通信性能有很大的影响。

  数据发送程序

  无线发送程序流程如图3所示。完成STM8L151K2、SX1231的初始化后,配置寄存器写入相应的初始化RF控制字;然后通过SPI连续写寄存器向TX FIFO内写入需要发送的数据;再切换到发射模式。当数据发送完后,PacketSent寄存器置1,同时映射的DIO PIN会变成高电平通知MCU数据包发送完成。然后写数据到FIFO,发送,如此循环。直到所有数据发送完成,进入Sleep模式。



  图3 数据收发流程图

  数据接收程序

  程序完成STM8L151K2、SX1231的初始化后,配置寄存器写入相应的初始化RF控制字,把SX1231配置为接收状态。检测PayloadReady为高电平时,表明已经收到数据,然后MCU从FIFO中读取数据,并进行处理。如此循环直至完成接收。

  系统测试结果

  系统测试条件及设置

  该部分为本系统测试时的设置,根据不同的应用需求,部分设置可用作相应的变动。

  电源电压:3.3V

  频率:868.3MHz

  数据速率:4.8kbps

  频偏:5.0kHz

  接收机带宽:10kHz

  数据类型:PN15

  功率设定:4dBm

  测试结果

  发射功率

  从图4中可以看到,发射功率为6.86dBm。低于5mW(7dBm)的规范要求。



  图4 发射功率

  载波频率容限:100x10-6

  从图5中可以看出,设置为868.3MHz输出,实际测量的频率为868.2960MHz,则频率偏差为((868.30-868.296)MHz/868MHz)=4.6×10-6,小于规定的载波频率容限100×10-6。



  图5 载波频率容限

  发射信号的占空比限值:1%

  发射信号的占空比通常指在一定时间内,发射信号的时间与未发射信号的时间比值。这主要取决于应用的要求,但是对类似短距离无线通信,发射器的发射的时间是非常的小,适合于各种控制类应用。如抄表的应用中,每个月抄表一次,而且每次发射的时间都小于1秒,这个占空比远远小于1%。



  图6 信道间隔和占用带宽



  图7 邻信道功率

  信道间隔和占用带宽

  对于25kHz的信道间隔,允许的占用带宽为8.5kHz~16kHz之间。从图6的结果中可以看到,占有99%的能量的占用带宽为14.7247kHz,小于16kHz。

  邻信道功率

  在载波25kHz频率偏移处的功率须小于载波功率40dB。

  接收灵敏度

  接收灵敏度是-113.4dBm@0.1%。整个系统的接收链路预算为120.2dB。通信距离可以达到600m左右。

  从测试结果可看出该系统具有很好的性能,精准的频率控制,高的接收灵敏度,可以满足于宽带的应用要求,而且结果也表明完全适合于窄带应用。完全满足于中国年微功率(短距离)无线电应用对于868MHz~868.6MHz频段的规范要求。在本系统的基础上,稍作改变就可适用于不同的应用环境。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top