NRF51822 RADIO中文资料

NRF51822  RADIO中文资料
NRF51822  RADIO中文资料

16 ----2.4 GHz radio (无线发射机)

The RADIO包括了一个2.4G的接收机和一个发射机,它兼容了Nordic的所有2Mbps,1Mbps和250kpbs模式增加了1Mbps的蓝牙低功耗模式。

The RADIO使用EasyDMA,EasyDMA包含一个自动压包和解包工具,以及CRC发生器和CRC校验使对它进行非常简单的配置,更多信息查看上图。

The RADIO包含了一个设备地址匹配单元和一个内部框架分隔单元。它可以被用作简化地址白名单和帧间距分隔。在低功耗蓝牙和仿真中使用。

The RADIO也包含一个信号轻度指示器(RSSI)和一个位计数器,当一个预先设定的位通过RADIO被发送或者接受完成时,位计数器会引发一个事件。

16.1 功能描述

16.1.1 EasyDMA

EasyDMA在CPU RAM以内读写数据包,不能通过RAM以外的地址后者代码段读取数据包。

根据上面的框图,the RADIO's EasyDMA利用PACKETPTR指针接受和发送数据包。CPU必须配置每一次的发送机的发送和接受模式直接的转换,MAXLEN 寄存器配置发射机在同一个数据包中的接收或发送的最大字节数。此功能可以被用来确定无线发送接机所分配的数据包是否被覆盖或者越界。

16.1.2 包配置(Packet configuration)

一个无线数据报文,包含以下部分:报头(PREAMBLE),地址(ADDRESS),长度(LENGTH),S0,S1,PAYLOAD(有效载荷:可理解为有效数据。)和CRC。无线发射机发送上述部分时的顺序展示在下图,从左到右,第一个发送的是PREAMBLE 位。

报头(PREAMBLE)总是根据第一个 ADDRESS位的值在0xAA或者0x55两个数字之间取值。如果ADDRESS是0则PREAMBLE位为0xAA,否则为0x55.

下图展示了无线数据包在内存中储存实例

无线电字节顺序:ADDRESS和PAYLOAD低位总是优先的存储方式,CRC总是高位优先的存储方式,,S0,LENGHT,S1和PAYLOAD可以通过PCNF1的ENDIAN位。

S0,LENGTH和S1域的大小可以通过PCNF0配置,如果这些域的配置的大小小于8位则使用低字节优先的存储方式。

如果S0,LENGTH和S1域的大小被指定为0,这些域在存储的时会被忽略掉,否则每个字段表示为一个单独的字节,不管无线电配对的位数。

16.1.2最大的数据包长度(Maximum packet length)

独立于的配置MAXLEN,S0,LENGHT,S1和PAYLOAD的总长度不超过255字节。

16.1.4 地址配置(Address configuration)

无线电ADDRESS地址域有两部分组成:基地址和前缀地址区,基地址的大小可以通过PCBF1的BALEN里设置。如果BALEN小于4则基地址被LSByte截断。

无线电地址被定义在BASEn和PREFIXn寄存器中,对于其他无线电地址寄存器,TXADDRES,RXADDRES和RXMATCH寄存器,逻辑广播地址使用的发布为0-7,无线电地址和逻辑广播地址的关系见下表。

16.1.5 信号强度指示器{Received Signal Strength Indicator (RSSI)}

此功能是用来测量接收信号的强度,被称为RSSI。

使用RSSISTART task对接收到的信号进行采样,采样的结果是通过读取RSSISAPLE

寄存器得到的。

RSSI采样的周期被定义在t RSSI,详细的介绍请查看指定设备的文档,采样的周期的平均值作为RSSI的信号强度值。

当无线电接收模式被使能(RXEN tesk)的时候RSSI采样才是有效的并且接收必须开始。

16.1.6 数据白化(Data whitening)

下面红色部分是对白化的解释,不是翻译的原文内容:

whitening的中文件直译为白化,真实的意思应该是数据加噪.

白化处理主要是为了避免在传输过程中出现过长的连续0或1的位流。基带处理器需要从接收到的模拟数据信号中判断数据是0还是1,但过长的连续0或1位流就会造成问题。因为在接收到的模拟数据信号中并不存在象直流信号中那样的参考点,因此必须依靠接收到的最后几个传输信号进行校正。任何连续的0或1的长序列位流串都可能导致校正失败。因此需要采用数据白化技术对信号进行扰码处理,以大大降低出现长序列0或1位流串的可能性。

The RADIO可以白化和去白化,查看PCNF1寄存器的WHIEEN如何使能白化功能,当使能白化和去白化时都是通过The RADIO在接收发送时自动处理的。在RAM中的无线数据包是没有被白化的。

白化的产生是通过多项式g(D) = D^7 + D^4 + 1,然后异或数据包进行白化或者去白化操作,见下图:

白化和去白化操作是执行除了报文头和地址域的剩下的整个包。

线性反馈移位寄存器,如Figure20上图,可以通过DATAWHITEIV寄存器进行初始化

16.1.7 Radio states(RADIO状态)

无线电发送机的状态表示如下表Table17.

16.1.8 最大连续传输时间(Maximum consecutive transmission time)

最大的连续传输时间是指THE RADIO在停止之前达到的最长时间,也就是在READY event和DISABLE task之间的尽可能长的时间。

最大的连续传输时间是THE RADIO运行4ms±60ppm(百万分之六十),和16ms±30ppm。

16.1.9 发送序列(Transmit sequence)

在无线电传输一个数据包之前,他必须进入TXRU(进入过度模式准备发送),当TXEN 任务被触发时TXRU过渡状态序列被开启。在无线发送机被成功过渡以后将产生READY 事件,表明数据包传输已经被开启。数据包的开始传输是被START任务触发的,如下图,START任务在第一次被触发以后RADIO则进入YXIDLE状态。

下图指示了单个数据包发送的过程,CPU手动触发不同的任务时需要对RADIO进行必要的控制,即没有使用快捷方式,如果不使用快捷键,CPU执行在READY和START 之间和END和DISABLE之间导致产生了一个延时量。the RADIO默认在READY和START之间,END和DISABLED之间为'1's.

稍微对上述发送序列做一下修改,如下图所示,配置RADIO在READY和START之间,END和DISABLE之间使用快捷方式,因此没有延时。

RADIO可以连续的发送数据包,而且在两个数据包之间无线禁止和重启RADIO。如下图所示。

16.1.10 接收序列(Receive Sequence)

在RADIO能够接收到数据包之前,必须在过度接收模式(RXRU),当RXEN任务被触发时RXRU过度序列启动。在RXRU成功启动以后,会产生一个REDAY事件,接收才能被启动。START 任务才能触发数据包开始接收。如Figure25所示,the RADIO 进去RXIDLE 状态后,START才能任务第一次被触发。

Figure26阐述了RADIO在CPU手动触发不同任务控制流的情况下的非连续性的接收数据的过程。即没有使用快捷方式。如果不使用快捷方式,CUP的执行会在STRAT和READY,END 和DISABLE之间产生一个延时量。如Figure 26所示RADIO监听并且可能接收到未知的数据,"X"表示从STRAT到报文头(P)已经被接收。

对Figure 25版本做简单的修改为Figure 26. 把RADIO 配置为快捷方式则READY 和START,END和DISABLE的延时量会消失。

RADIO在两个数据之间无需禁止和重启的连续接收多个数据包。如Figure 27所示

16.1.11 Interframe spacing(帧间隔控制单元)

Inter Frame Spacing(IFS)是指在两个连续的数据包之间的时间间隔,单位是微秒us,是指从接收到的前一个数据包的最后一位到下一个传输过来的数据包的开始第一位的时间间隔。RADIO可以通过配置TIFS寄存器强制的指定这个时间间隔,但是设置的时间不能短于RADIO的运转周期。即不能短于关断接收机的时间和切换回发射机的时间。TIFS 仅执行在END_DISABLE 和DISABLED_TXEN的快捷方式使能的时候。TIFS仅仅限制在BLE_1MBIT模式有效。

16.1.12 Device address match(设备地址匹配单元)

设备地址匹配功能(特性)是指专用于低功耗蓝牙地址白名单以及类似的实现。该特性使接收临近设备的无线数据包成为了可能,本特性仅仅工作在RADIO被配置为低位优先的接收模式。

设备地址匹配单元首先假定48位有效载荷的设备地址,S0 的数位6在TxAdd位上;更多信息请参考低功耗蓝牙设备规范中的设备地址,TxADD,白名单。

RADIO可以同时监听到8个不同的设备地址,设备地址被成对的指定在DAB/DAP寄存器中,一对为一个地址,除了TxADD位被定义在DACNF上,DAB寄存器指定了至少32位有效位的设备地址。DAP寄存器指定了最多16位的有效设备地址。

每个设备地址都可以单独的包含和排除在匹配机制。配置的方式在DACNF寄存器上。注:英语水平有限仅供参考,详见官方手册

相关主题
相关文档
最新文档