cc1200 Sub-1 GHz RF Transceivers 开发

一些应用需要定制开发无线串口、指定发送频点、调制方式、加密传输等等,需要使用无线数据的传输场景,需要使用公用频段进行数据传输。

一些场景需要使用Sub-1 GHz频点进行数据传输,比如无线串口,其他无线申请,在国内选择ISM频段也是比较模糊,这里只是做可以使用多个频点进行测试,这里比较有比较中肯的说法。

目前在我国800M 和900M 频段目前已经被GSM的蜂窝移动网所占用,绝大部分的产品都工作在433MHZ左右,315M频段是早期的无线遥控的产品的主要频段,因此在该段的无线电磁环境相当的复杂,进行无线的数据传输是不太可靠的,433M频段目前由于很多新的汽车的遥控器目前也逐步使用该频段,因此也正在变得越来越复杂。所以这两个频段更多的使用在传输简单数据的无线遥控上。而对于水、电、气等公用事业的计量数据采集,国家无线电管理部门释放了两个免申请的无线计量频段(470-510M),专门用于民用计量设备的无线数据传输。

硬件设计

这里选择使用TI CC1200进行无线数传开发,该芯片性能优点较多,下图为主要特性

典型应用图

STM32管脚连接

STM32管脚

CC1200管脚

备注

PB8

GPIO2

中断管脚General-purpose I/O,可以配置为中断

PA4

CSn

片选Active-low chip select

PA5

SCLK

时钟

PA6

SO(GPIO1)

Serial data out (general-purpose I/O)

PA7

SI

Serial data in

PA11

RESET_N

Asynchronous, active-low digital reset

PA12

CC1200芯片运行状态机

刚开始软件开发时候,没有搞明白这个图,搞了很长时间,手册翻来翻去,发现这个图被我忽略了。CC1200收发同频,需要对状态机进行控制。

工程代码下载地址:

(1条消息) cc1200驱动STM32无线通信,无线数传无线串口,收发代码工程-嵌入式文档类资源-CSDN文库

代码解读

代码使用keil4.72编写,包含cc1200_rx工程实现无线数据接收、cc1200_tx工程实现无线数据发送

代码下载到板子,一个板子发送,另一个板子接收

整个驱动工程是从TI提供的例程中修改得到,但是TI的例程是使用的自家的MSP430单片机,导致驱动移植到STM32上工作量非常大,也有很大难度。这里完成移植,并测试通过数据收发,也在实际项目中使用。其中:

cc1200_rx工程实现无线数据接收

cc1200_tx工程实现无线数据发送

基础代码,STM32接口定义,主要是SPI接口和复位控制管脚,其中VCTL管脚是项目中独有设计的增大功放的控制IO,可以忽略。

SPI配置

中断配置

功放控制管脚配置

当时项目需要所以射频部分加大了发送功放,一般设计可以没有这个管脚,也就是个IO开关

收发控制,其实就是完善上图CC1200状态机的控制,看懂了上图,代码也就看懂了,代码也就好编写了。

CC1200参数配置

CC1200参数修改,使用TI提供SmartRF Studio ,我项目使用版本比较低,生成的配置文件可能有些差异。导出的配置参数,复制到到cc120x_easy_link_reg_config.h文件,我代码里面做了很多个频点的配置文件,通过读取FLASH的载波频点进行区分使用哪个配置参数

CC1200配置成功后,需要读取配置文件,确认配置是否完全配置进去,这里是个大坑,当初没有做这个判断,每次开机都有不稳定的情况出现,反反复复,折腾了一个月才发现这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大牛攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值