TI CC1101学习笔记(二)

2 通讯方式以及配置方式---SPI

CC1101通过4线SPI兼容接口(MOSI,MISO,SCLK和CSn)进行配置,CC1101作为从设备。这个接口同时用作读写缓冲器数据。SPI接口上所有的数据传送都是先传送 MSB

相关知识:
MSB:高位前导;
LSB:低位前导;
big endian(大端):是指低地址存放最高有效字节(MSB);
little endian(小端):则是低地址存放最低有效字节(LSB);

MISO:主设备数据输出,从设备数据输入

MOSI:主设备数据输入,从设备数据输出

SCLK:时钟信号,由主设备产生

CSn:从设备使能信号,由主设备控制,低电平有效

2.1 SPI 读写注意事项

  • SPI接口上的所有传送都是以一个头字节(header byte)开始包含以下:
  • 一个读写位(R/W):在读操作中该位置1,在写操作中该位置0;
  • 一个(突发(burst access)访问位(B)
  • 6位地址位(A5~A0)
  • 在SPI总线上传输数据时,CSn脚必须保持低电平。如果在发送头字节或者读写寄存器时CSn拉高,传送将被取消
  • 当 CSn 变低,在开始转换头字节之前,MCU必须等待,直到 MISO 脚变低。这表明电压调制器已经稳定,晶体正在运作中。除非芯片处在 SLEEP 或 XOFF 状态,MISO 脚在 CSn变低之后总会立即变低。

2.2芯片状态字节

  • 当头字节在 SPI 接口上被写入时,芯片状态字节在 MISO 脚上被 CC1100 写入。状态字节包含关键状态信号,对 MCU 是有用的。(7)位是 CHIP_RDYn 信号。在 SCLK 的在第一个正边缘之前,这个信号必须变低。CHIP_RDYn 信号表明晶体正处于工作中,调节数字供给电压是稳定的。
  • 状态字节中的(6:4 )位由状态值组成。这个值反映了芯片的状态。当使 XOSC 空闲并使数字中心的能量开启,所有其他模块处于功率降低状态。只有芯片处于此状态时,频率和信道配置才能被更新。当芯片处于接收模式时,RX状态是活动的。同样地,当芯片处于传输模式时,TX 状态是活动的。

状态字节中的后四位(3:0)包含FIFO_BYTES_AVAILABLE。为了进行读操作,这个区域包含可从 RX FIFO 读取的字节数。为了进行写操作,这个区域包含可写入 TX FIFO的字当FIFO_BYTES_AVAILABLE=15,15 或者更多的字节是可用/自由的。

cc1101状态字概要

2.3寄存器访问

  • CC1101 配置寄存器地址:0x00到0x2E
  • 所有的配置寄存器均能读和写。读/写位控制寄存器是读或者写。当对寄存器写时,每当一个待写入的数据字节传输到 SI脚时,状态字节将被送至 SO 脚。
  • 通过在地址头设置突发位,连续地址的寄存器能高效地被访问。这个地址在内部计数器内设置起始地址。每增加一个新的字节(每8 个时钟脉冲),计数器值增加 1。突发访问,不管是读访问还是写访问,必须通过设置CSn 为高来终止。
  • 对 0x30-0x3D 间的地址来说,突发位用以在状态寄存器命令选通间选择。状态寄存器只读。突发读取对状态寄存器是不可取的,故它们每次只能被读一个。
    burst位置1:选择状态寄存器;
    burst置0:选择命令选通。

2.4 命令选通

  • 命令选通可以看做是CC1101的一个单字节指令。
    通过寻址一个命令选通寄存器,将启动内部序列。
    这些命令用来禁止晶振使能接收使能无线唤醒 等;
  • 命令选通寄存器的访问和一个寄存器的写操作一样,但没有数据被传输。就是说,只有 R/W 位(置为 0)突发访问(置为 0)和六个地址位(0x30 和 0x3D 之间)被写。一个命令滤波可能在任何其他 SPI 访问之后,而不需要将 CSn 拉至高电平。命令选通立即被执行,当 CSn 高时 SPWD 和 SXOFF 命令被执行是例外。

2.5 FIFO访问

  • 64 字节 TX FIFO 和 64 字节 RX FIFO 通过0x3F 被访问。
  • 读/写位为 0 时,TX FIFO被访问。
  • 读/写位为 1 时,RX FIFO 被访问。
  • TX FIFO 是只写的,而 RX FIFO 是只读的。
  • 突发位用来决定 FIFO 访问是单字节还是突发访问。
  • 单字节访问方式期望地址的突发位为 0 的头字节和一个数据字节。在数据字节之后跟随一个新的头字节,因此,CSn 继续保持低。
  • 突发访问方式允许一地址字节,然后是连续的数据字节,直到通过设置 CSn 为高来关断访问。
    • 0x3F : 单字节访问 TX FIFO
    • 0x7F : 突发访问 TX FIFO
    • 0xBF : 单字节访问 RX FIFO
    • 0XFF : 突发访问 RX FIFO

2.6 PATABLE 访问

  • 0x3E地址用来访问 PATABLE。PATABLE用来选择 PA 能量控制设置。在接收此地址之后,SPI 等待至少 8 个字节。通过控制PATABLE,能实现可控的 PA 能量上升和下降,减少的带宽的 ASK 调制整型也如此。
  • PATABLE 是一个 8 字节表,定义了 PA 控制设 置 , 为 8 个 PA 功 率 值 ( 由FRENDO.PA_POWER 的 3 个位的值所选择)的每一个所使用。这个表从最低位(0)到最高位(7)可读和写,一次一位。一个索引计数器用来控制对这个表的访问。每读出或写入表中的一个字节,计数器就加 1。当 CSn 为高时,计数值置为最小值。当达到最大值时,计数器由零重新开始计数。
  • 对 PATABLE 的访问是单字节或者突发访问,由突发位决定。当使用突发访问时,索引计数器的值增加;达到7时重新从0开始。读/写位控制访问是写访问(R/W=0)或者读访问(R/W=1)。
  • 如果一字节被写入 PATABLE,且这个值将要被读出,那么,为了设置索引计数器的值重为 0,CSn 必须在读访问之前置为高。注意,当 PATABLE 进入休眠状态时,所存储的内容会丢失,特别是第一个字节(索引为 0)。

2.7 基本控制和状态脚

  • CC1101有2个专用配置脚(GDO0和GDO2)和一个共用脚(GDO1)可以向控制软件输出有用的内部状态信息。这些脚可以用来向MCU产生中断。
  • GDO1和SPI的SO引脚共用。
  • GDO1/SO的默认设置时3态输出。通过选择任何编程选项,GDO1/SO将变为普通引脚。当CSn拉低,该引脚将始终作为普通的SO功能引脚。
  • 在同步和异步串行模式,在发送模式下,GDO0引脚将作为串行TX数据输入引脚。
  • GDO0也可以用作片上模拟温度传感器。通过外部ADC测量GDO0脚的电压,可以计算出温度。温度传感器的详细说明见18页的Section 4.7。通过默认的PTEST寄存器设置(0x7F),如果频率合成器被允许温度传感器的的输出时可用的。(例如:MANCAL,FSTXON,RX和 TX状态)在IDLE状态向PTEST寄存器写入0xBF允许模拟温度传感器是必要的。离开IDLE状态之前,必须恢复PTEST寄存器为默认值(0x7F)。

2.8 数据包处理的硬件支持

2.8.1发送模式下

据包的处理者可以配置增加下面的元素到TX FIFO中的数据包存储

  • 一个可编程数量的前导字节;
  • 两字节同步字,可复制为4字节同步字。只插入前导字节或者同步字节是不可能的;
  • 一个覆盖数据区域的CRC校验计算。

推荐设置4字节前导和4字节同步字,除了500k波特率时推荐使用8字节前导。另外,在数据区域和附加的2字节CRC校验,以下可以被执行

  • 使用PN9序列Whitening数据。
  • 通过使用交叉和编码数据(卷积编码)前向纠错。

2.8.2接收模式下

数据包处理支持将是解构数据包,(如使能)以下可以被执行

  • 前导检测
  • 同步字检测
  • CRC计算和CRC检查
  • 一个字节地址检测
  • 包长度检查(根据设置的最大长度检查长度字节)
  • 反Whitening(如果使能)
  • 反交叉和解码( 如果使能 )另外,RSSI(接收信号强度指示)、LQI(链路质量指示)和CRC状态的两个状态字节可以附加在RX FIFO

2.9数据包格式

数据包的格式可以配置为由以下部分组成:

  • 前导 n 同步字
  • 可选的长度字节
  • 可选的地址字节
  • 净荷

可选的2字节CRC

数据包格式

前导形式是一个交互的0 /1 序 列(01010101...)前导的最小长度是可编程控制的。当启用 TX 时,调制器开始传送前导。当控制数目的前导字节被传送完毕,调制器开始发送同步词汇,然后传送来自 TX FIFO的可利用的数据。若 TX FIFO 为空,调制器将继续传送前导字节,直到第一个字节被写入 TX FIFO。调制器将随后传送同步词汇和数据字节;前导字节的长度由MDMCFG1.NU_PREAMBLE 值控制。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值