翻译CC1101中文数据手册 - 图文(3)
前导的格式是一个交叉的 1 和 0 的序列(10101010……)。前导的最小长度可以通过 MDMCFG1.NUM_PREAMBLE 的值来设置。当使能发送,调制器将开始发送前导。当发送完 编程数量的前导子节后,调制器开始发送同步字和 TX FIFO 中的可用数据。如果 TX FIFO 是空的,调制器将继续发送前导字节,直到第一个字节写入到 TX FIFO。调制器将接着发
送同步字和数据字节。
同步字是在 SYNC1 和 SYNC0 寄存器中设置的 2 字节数据。同步字节提供了引入数据包 的字节同步。一个字节的同步字可以复制,通过设定 SYNC1 的值到前导格式。也可以通过
设定 MDMCFG2.SYNC_MODE 的值为 3 或 7 将同步字复制为 32 位。同步字将被复制 2 次。
CC1101 支持定长数据包协议和变长数据包协议。可变的或固定数据包长度模式可用于 最长 255 字节数据包长度。再长的数据包,就必须使用无限数据包长度模式。
SWRS061D
Page 10 of 42
CC1101
固定数据包长度模式通过设定 PKTCTRL0.LENGTH_CONFIG=0 来选择。期望的数据包 长度通过 PKTLEN 寄存器来设置。
在可变数据包长度模式,PKTCTRL0.LENGTH_CONFIG=1,数据包长度由同步字后面 的第一个字节配置。数据包长度定义为有效载荷,不包括长度字节和可选的 CRC。PKTLEN 用来配置允许接收的最大数据包长度。任何接收的数据包长度大于 PKTLEN 的值都将被丢 弃。
PKTCTRL0.LENGTH_CONFIG=2,数据包长度将设置为无限长,发送和接收将持续到 手动关闭。在下一部分描述中,将使用不同长度的配置来支持数据包格式。必须确保在发送 前半个或任何字节的时候 TX 模式不被关闭。参考 CC1101 的勘误表。
3.11.2.1
任意长度区域配置
数据包长度寄存器 PKTLEN,在接收和发送时可以重新编程。结合固定数据包长度模式 (PKTCTRL0.LENGTH_CONFIG=0),这使与变长数据包不同的长度配置成为可能。(在 可变数据包长度模式下长度字节是同步字节后第一个字节)在接收开始,数据包长度设置为 一个大的值。MCU 读取足够多的字节来解析数据包 中的长度区域。然后依照这个值对
PKTLEN 进行设置。当数据包处理器中的字节指针等于 PKTLEN 寄存器的值时数据包结束。 因此,MCU 必须在内部指针达到数据包长度之前确认正确的长度。
3.11.2.2
数据包长度大于 255
数据包自动控制寄存器 PKTCTRL0,可以在 TX 和 RX 期间重新编程。这就使发送和接 收数据包长度超过 256 字节并且仍然使用数据包处理器硬件支持成为可能。在数据包开始 时,必须激活无限数据包长度模式(PKTCTRL0.LENGTH_CONFIG=2)。在发送端,PKTLEN 寄存器设置为模(长度,256)。在接收端,MCU 读出足够长度的字节来解析出数据包长度 并设置 PKTLEN 寄存器为模(长度,256)。当数据包中还有少于 256 字节数据,MCU 禁 止数据包无限长度模式并且激活固定长度模式。当内部字节指针达到 PKTLEN 时,发送和 接收结束。(无线进入的状态由 TXOFF_MODE 或 RXOFF_MODE 决定)自动 CRC 添加/校验 也可以使用(通过设置 PKTCTRL0.CRC_EN=1)。
例如当药发送一个 600 字节的数据包时,MCU 必须按照以下执行: ??设置 PKTCTRL0.LENGTH_CONFIG=2。
??重新设置 PKTLEN 寄存器模(600,256)=88.
??至少发送 345 字节(600-255),例如通过填充 64 字节 TX FIFO 6 次(发送
384 字节)。
??设置 PKTCTRL0.LENGTH_CONFIG=0。
??当数据包指针达到 88 发送完成。一共 600 字节被发送。
SWRS061D
Page 11 of 42
CC1101
3.11.3 接收模式下的数据过滤
CC1101 支持三种不同类型的数据包过滤:地址过滤,最大长度过滤和 CRC 过滤。
3.11.3.1
地址过滤
设置PKTCTRL1.ADR_CHK为任意大于0的值使能数据包地址过滤。数据包处理器启动后 将比较数据包中的目标地址字节和在ADDR寄存器中设置的节点地址或者当
PKTCTRL1.ADR_CHK=10时的广播地址0x00以及PKTCTRL1.ADR_CHK=11时的广播地址
0x00和0xFF。如果接收的地址匹配到一个正确地址,数据包被接收并写入到RX FIFO。如
果地址匹配失败,数据包将被丢弃,重新启动接收模式(不管MCSM1.RXOFF_MODE的设置)。
如果当时用无限数据包长度模式和使能地址过滤时接收地址匹配到正确的地址,0xFF将 被写入到RX FIFO,其次是地址字节和有效载荷。
3.11.3.2
最大长度过滤
在可变数据包模式,PKTCTRL0.LENGTH_CONFIG=1,PKTLEN.PACKET_LENGTH寄
存器用来设置最大允许的数据包长度。如果接收的长度字节大于这个值,数据包将被丢弃,
重新启动接收模式(不管MCSM1.RXOFF_MODE的设置)。
3.11.3.3 CRC 过滤
当CRC校验失败时过滤数据包,通过设置PKTCTRL1.CRC_AUTOFLUSH=1使能。CRC 自动清除功能将在CRC校验失败时清空所有RX FIFO。在自动清空RX FIFO后,下一个状 态依赖于MCSM1.RXOFF_MODE的设置。
当使用自动清除功能,在可变数据包长度模式下最大数据包长度为63字节,在定长数据 包长度模式下是64字节。注意当PKTCTRL1.APPEND_STATUS使能,最大允许数据包长度
将减少2个字节,以确保在数据包的结尾附加的2字节的状态字节在RX FIFO中占用的空间。
当CRC校验错误以后全部RX FIFO被清空,在接收正确的数据包前之前接收到的数据包必须 从FIFO中读出。直到CRC校验正确MCU才从正确的数据包中读取数据。
SWRS061D
Page 12 of 42
CC1101
3.11.4 发送模式的数据包处理
需要发送的有效载荷必须写入到TX FIFO。如果使能可变数据包长度第一个字节必须写 长度字节。长度字节的值等于数据包的有效载荷(包含可选的地址字节)。如果在接收端使 能地址识别,写入到TX FIFO中的第二个字节必须是地址字节。
如果使能固定数据包长度,写入到TX FIFO中的第一个字节必须是地址字节(接收端使 用地址识别)。
调制器将首先发送预置数量的前导字节。如果TX FIFO中有可发送的数据,调制器将发
送2字节(可选4字节)同步字,紧接着是TX FIFO中的有效载荷。如果使能CRC,校验时计
算TX FIFO中的所有数据,然后跟随有效数据发送2个附加字节。若果在完整的数据包发送 完成之前TX FIFO变为空的,无线将进入TXFIFO_UNDERFLOW状态。退出该状态的唯一 方法是运行SFTX命令。
发送下溢后再向TX FIFO写入数据不能重启TX模式。
如果whitening被使能,同步字后面的所有字节将被whitened。这必须在FEC/Interleaver
之前完成。Whitening通过设置PKTCTRL0.WHITE_DATA=1使能。
相关推荐:
- [政务民生]2013年公共基础知识热点问题(七)
- [政务民生]检验检测机构资质认定评审准则及释义20
- [政务民生]关于印发重庆市房屋建筑和市政基础设施
- [政务民生]1、隧道洞身开挖支护施工技术交底书
- [政务民生]2015年山东省17地市中考语文试题分类汇
- [政务民生]2-高级会计师资格考试和评审流程图
- [政务民生]2018版中国清分机行业发展分析及前景策
- [政务民生]新课改高中政治探究
- [政务民生]2018-2024年中国新型组合房屋行业投资
- [政务民生]2015年上海市春季高考数学模拟试卷五
- [政务民生]灌砂法及环刀法测压实度(带计算过程)
- [政务民生]运筹学实验2求解非线性规划
- [政务民生]劝学、逍遥游默写(教师卷)
- [政务民生]《运筹学》 - 期末考试 - 试卷A - 答案
- [政务民生]八年级英语下册 Module 6 Hobbies测试
- [政务民生]2019年宪法知识竞赛试题库100题(含答
- [政务民生]自动化英文文献翻译
- [政务民生]公文格式实施细则
- [政务民生]高一地理上册课堂跟踪练习题6
- [政务民生]会计继续教育习题及答案
- 第三章 无约束最优化方法
- 泛读教程第三册答案
- 魏晋南北朝文学
- 幂的运算复习题
- 城市环境问题的成因与治理策略_以社会
- 钢结构行业产业链及竞争分析研究
- 新型热塑性弹性体增韧聚丙烯的研究
- 中国旅游地理B卷试题及答案
- (苏教版)五年级数学上册第三单元测试卷
- 不稳定性心绞痛诊断与治疗
- 俞氏国际后勤职能部门绩效考核办法
- GB7258-2017新标准考试题含答案
- 小学生汉字听写比赛活动方案
- 1.3《平抛运动》学案 教科版必修2
- 2011香港特别行政区公务员考试复习资料
- 考虑水力条件变化的城市给水管网可靠性
- 表面活性剂在油田开发和生产中的应用
- ITT内部培训资料-FI端吸泵的介绍
- 文明守纪,从我做起学生发言稿
- 初中读《聊斋志异》心得体会800字范文