基于STM8及USX1231的收发系统设计

发布者:创意驿站最新更新时间:2016-09-19 来源: eefocus关键字:STM8  USX1231  收发系统 手机看文章 扫描二维码
随时随地手机看文章
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频段的规范要求。在本系统的基础上,稍作改变就可适用于不同的应用环境。

关键字:STM8  USX1231  收发系统 引用地址:基于STM8及USX1231的收发系统设计

上一篇:基于单片机的低成本CMOS图像采集系统
下一篇:基于STM8的红外与超声波结合测距仪

推荐阅读最新更新时间:2024-03-16 15:10

ARM+llinux系统移植3G拨号上网收发短信(二)
一、发送text格式的短信 给联通发text格式的短信: ~ : microcom -s 115200 /dev/ttyUSB1 at OK 设置短信格式为Text模式: at+cmgf=1 OK at+cmgs= +861300711**** 输入发送的内容: hello (内容写完后按一下ctrl + z发送) +CMGS: 48 OK 给电信发text格式的短信: ~ : microcom -s 115200 /dev/ttyUSB1 at OK 设置短信格式为Text模式: at+cmgf=1 OK at+cmgs= +861532736**** 设
[单片机]
ARM+llinux<font color='red'>系统</font>移植3G拨号上网<font color='red'>收发</font>短信(二)
基于嵌入式Linux的短信收发系统设计
1. 引言 全球移动通信系统GSM是我国范围最广、通信能力最强的移动通信业务,而其中的短消息功能由于其使用方便、价格低廉、可靠性高而得到广泛应用。嵌入式Linux也是目前得到广泛应用的技术,功能强大和资源丰富是其最大的优势。本文在嵌入式Linux系统中利用GSM模块实现短信的收发,对不方便架设通信线的偏远地区,提供了数据采集的新手段。同时嵌入式系统体积小巧,Linux操作系统资源开放,所以本系统经过二次开发,可方便地构成移动数据采集系统,用于远程数据采集、监控。 2. 短信收发原理 短信服务业务SMS(Short Message Service)是GSM系统提供给用户的一种数字业务。它与话音传输及传真一样同为GSM数字蜂窝移
[单片机]
基于嵌入式Linux的短信<font color='red'>收发</font><font color='red'>系统</font>设计
STM8 IO口初始化为输入引脚
使用环境(蓝色粗体字为特别注意内容) 1、硬件环境:STM8S003F3P6、ST-LINK stlink V2 2、软件环境:Embedded Workbench 6.5(IarIdePm)、ST Visual Programmer(STVP) STM8 IO口初始化为输入引脚代码如下所示: void SWITCH_conf(void){ PD_DDR &= ~(1 6);// PD6(RXD)方向为输入 PD_CR1 |= 1 6; // PD6(RXD)上拉输入 PD_CR2 &= ~(1 6);// PD6(RXD)不使能中断 }
[单片机]
Intersil推出首款汽车后视安全系统视频SerDes收发
Intersil公司(纳斯达克全球精选市场交易代码:ISIL),今天宣布针对汽车后视安全系统,推出ISL76321串行/解串器 (SerDes) 接口芯片。这款单片式收发器解决方案通过一条屏蔽双绞线 (STP) 电缆传送视频数据、双向控制信息和电源,从而简化系统设计。这款产品有助于设计人员降低系统成本,简化设计,同时延长传送距离,提高视频图像质量。ISL76321扩展了Intersil产品组合,结合Intersil Techwell®显示管理、LED照明、环境亮度传感和电源管理器件,可为客户提供完整的后视摄像头安全解决方案。 ISL76321将16位视频数据和双向I2C控制信息集中于一条高速STP线缆,数据传输距离
[汽车电子]
Intersil推出首款汽车后视安全<font color='red'>系统</font>视频SerDes<font color='red'>收发</font>器
基于STVD给stm8编程遇到的问题
一、安装软件破解问题: stm8有两种编程环境:STVD和IAR for STM8;STVD是ST官方出的,很多资料上显示STVD比IAR更好用。但是STVD只是编程环境,编译软件为cosmic,和之前的方式不太一样,之前的类似MDK软件都是集成了IDE和编译器的。cosmic不是ST官方的,是法国的一家公司,很不好破解,网上很少有直接破解好的,通过给cosmic公司发邮件要licence也不靠谱(亲身体验)。所幸最终找到了可以破解的软件。总之也是费尽九牛二虎之力。 二、在建工程时遇到的具体问题: 1、 出现这种的原因是:cosmic没有破解。找一个破解版的即可解决。 2、 出现这种问题的 原因是stm8s.h中这
[单片机]
基于STVD给<font color='red'>stm8</font>编程遇到的问题
STM8 DS18B20温度传感器子程序
软件设计 /********************************************************************* 目 的: 建立DS18B20操作库 目标系统: 基于STM8单片机 应用软件: Cosmic CxSTM8 *********************************************************************/ void _delay_us(u8 us) { while(--us); } //-----复位----- void resetOnewire(void) { OUT_DQ(); CLR_DQ(); _delay_
[单片机]
stm8 tim4 测速显示
/******************************************************************* 实验名称及内容:PWM测速度并显示 配套书籍:《深入浅出STM8单片机入门、进阶与应用实例》《STM8实战》 实验平台及编程人员:骨灰级菜鸟 / #include iostm8s208mb.h //主控芯片的头文件 #include “stdio.h” /端口/引脚定义/ #define LCDRS_SET PF_ODR|=0x01 //置位PF0 #define LCDRS_CLR PF_ODR&=0xFE //清0PF0 #define LCDRW_SET PF_ODR|=0x0
[单片机]
<font color='red'>stm8</font> tim4 测速显示
3合一套件 stm8 学习笔记之css
ST 3合一开发板stm8学习之 CSS 一 程序简介: 该工程主要涉及到gpio和rcc,tim部分,工程实现的功能是系统时钟内部和外部的切换已验证系统时钟的的安全性,当外部时钟失效时 会自动切换到内部时钟运行 时钟特征: 1 强大的控制器,更容易得到高性能的同时保证功率最低 2 可独立管理的时钟源,都带有分频器 没有倍频 可以得到更高精度的时钟 3 可靠的无障碍时钟切换机制。程序运行中可以切换时钟源 4 抗干扰时钟配置寄存器,大部分时钟寄存器有一个互补寄存器,如果不匹配就会产生复位(系统自动完成) 时钟源: 1—24m外部晶振 外部时钟信号 最高24m //以上为HSE 16m高速内部rc振荡器 // HSI 128k低
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved