当前位置:首页 > 单片机 > 单片机
[导读]1.前言本文将分析一个利用CC2530实现无线串口,文中将会列举部分代码并对CC2530的具体操作进行分析。本文的具体的内容包括以下几个部分CC2530是符合802.15.4标准的无线收发芯片,但是本文并没有遵守802.15.4协议规则

1.前言

本文将分析一个利用CC2530实现无线串口,文中将会列举部分代码并对CC2530的具体操作进行分析。本文的具体的内容包括以下几个部分


CC2530是符合802.15.4标准的无线收发芯片,但是本文并没有遵守802.15.4协议规则,在发送过程中忽略了网络ID、源地址和目标地址等参数,在接收的过程中禁止了帧过滤。通过发送和接收过程的处理使得CC2530无线部分的使用尽可能的简单清晰,通过最少的代码说明问题。

无线芯片的调试具有一定的难度,一般存在发送设备和接收设备。为了通过最简单的代码说明无线芯片的使用,本文中仅编写一种设备代码同时实现发送和接收功能。设备的功能也相对简单,CC2530从串口接收数据并把数据通过RF部分“无损”发送,于此同时CC2530把从RF部分接收的数据通过串口“无损”发送,通过这样的方式实现无线串口。

串口数据属于“流”型数据包,RF部分属于“帧”型数据包。在串口数据处理与分析中,一般采用特定的串口头和长度的方式解析数据,但是本文采用通过串口时间间隔的方式接收数据,这种方法等同于modbus-RTU串口数据处理方法。通过这种检测字节数据时间间隔的方法使得CC2530的串口部分可以接收无特殊格式要求的数据,真正实现无线串口功能。

【代码仓库】代码仓库位于bitbucket,请使用Hg克隆或下载zip包,请勿使用任何版本的IE浏览器,除非您了解HTML4和HTML5对于浏览器的影响,推荐使用谷歌或火狐浏览器,若使用国产双核浏览器请切换到极速模式。

【视频链接】


1.1实验准备

为了实现无线串口功能,需要准备两套CC2530模块和一个仿真器。如果条件允许可以增加一个仿真器,仿真器可以是CC Debugger也可以是SmartRF04EB,同时也可以准备一套CC2531 USBDongle做为嗅探器,抓取RF发送数据做调试分析。


1.2 实验结果

本文主要实现了无线串口功能,通过串口调试助手发送字节数据。例如通过串口向设备A发送Hello CC2530,设备B可收到Hello CC2530,并把该字符串通过串口调试助手打印至屏幕。设备B发送Hello RF,设备A同样可以收到数据并打印至屏幕。

图1.2.1(a-b) 设备A和设备B串口调试界面

图中中括号包含的数字为RSSI结果,RSSI表示接收信号强度,例如图中的-28。RSSI结果的单位为dBm,dBm为绝对单位且参考的标准为1mW。

2.初始化

RF部分的寄存器较多,需要耐心阅读数据手册和相关工具才可以完成设置。虽然RF部分的寄存器较多,但是还是借助smartRF工具、数据手册和示例代码,依然可以总结出使用CC2530无线部分的一般方法。

初始化部分包括接收数据包帧过滤控制,发射功率控制和信道选择;借助smartRF工具生成若干推荐值;打开接收终端并进入接收状态。

2.1 代码


voidrf_init()

{

FRMFILT0=0x0C;//静止接收过滤,即接收所有数据包

TXPOWER=0xD5;//发射功率为1dBm

FREQCTRL=0x0B;//选择通道11

CCACTRL0=0xF8;//推荐值smartRF软件生成

FSCAL1=0x00;

TXFILTCFG=0x09;

AGCCTRL1=0x15;

AGCCTRL2=0xFE;

TXFILTCFG=0x09;

RFIRQM0|=(1<<6);//使能RF数据包接收中断

IEN2|=(1<<0);//使能RF中断

RFST=0xED;//清除RF接收缓冲区ISFLUSHRX

RFST=0xE3;//RF接收使能ISRXON

}


2.2 分析

FRMFILT0的默认值为0x0D,该寄存器的最后一位为FRAME_FLITER_EN,该位的具体含义为使能帧过滤,该位在接收过程中发挥重要的作用。CC2530是符合802.15.4协议的RF芯片,在802.15.4协议中,MAC层有固定的协议格式和不同种类的命令,协议中包括命令类型、源地址和目标地址等重要信息,使能该位CC2530可以自动过滤不需要接收的无线数据帧,例如无线数据帧的目标地址和CC2530寄存器中的自身地址不符合,那么CC2530可以忽视该无线数据帧且不会触发中断。具体的过滤过程可以查看数据手册,在这里不详细解释。为了实现最简单的应用,禁止该位使得CC2530可以接收任意无线数据帧。

关于FRMCTRL0,本程序中保留了默认值所以并没有在代码中体现。从网上查找的代码中,绝大多数代码使能了AUTO_ACK标志位,即使得CC2530芯片可以自动应答无线数据帧。从表面上看,CC2530的应答机制可以保证无线通信的可靠性,但是这种应答机制需要遵循802.15.4标准,若使能自动应答,那么CC2530发送的数据包也必须符合802.15.4标准。为了尽可能的简单,本程序禁止了该位。

关于FRMCTRL0,AUTOCRC默认为使能状态,CC2530会自动进行CRC校验的计算和解析。

smartRF可以帮助用于生成若干比较冷门的寄存器的建议值,这些寄存器关系到CC2530无线调试和解调相关部分,在实际使用的过程中可以采纳建议值不做深究。

初始化最后,使能RF接收终端。并通过RFST寄存器写入清空接收缓冲区和进入接收状态命令。

3.发送过程3.1 代码


voidrf_send(char*pbuf,intlen)

{

RFST=0xE3;//RF接收使能ISRXON

//等待发送状态不活跃并且没有接收到SFD

while(FSMSTAT1&((1<<1)|(1<<5)));

RFIRQM0&=~(1<<6);//禁止接收数据包中断

IEN2&=~(1<<0);//清除RF全局中断

RFST=0xEE;//清除发送缓冲区ISFLUSHTX

RFIRQF1=~(1<<1);//清除发送完成标志

//填充缓冲区填充过程需要增加2字节,CRC校验自动填充

RFD=len+2;

for(inti=0;i

{

RFD=*pbuf++;

}

RFST=0xE9;//发送数据包ISTXON

while(!(RFIRQF1&(1<<1)));//等待发送完成

RFIRQF1=~(1<<1);//清除发送完成标志位

RFIRQM0|=(1<<6);//RX接收中断

IEN2|=(1<<0);

}


3.2 分析

发送过程本身不困难,大致可分为侦听SFD清除信道,关闭接收中断,填充缓冲区,启动发送并等待发送完成,最后恢复接收中断。在这几个过程中唯一需要说明的便是填充缓冲区过程,在初始化过程中提到FRMCTRL0寄存器,该寄存器中AUTO_CRC标志位默认为使能状态,阅读数据手册不难发现,CC2530的物理层负载部分第一个字节为长度域,填充实际负载之前需要先填充长度域,而物理层负载在原长度的基础上增加2。长度域数值增加2的原因是由于自动CRC的存在,CRC部分占两个字节CC2530会把这两个字节填充至发送缓冲区。

4.接收过程

和发送部分略有不同,接收部分可以分为接收中断部分和接收数据帧处理部分。

4.1 代码


#pragmavector=RF_VECTOR

__interrupt

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭