Proprietary Knowledge Base

    Publish
     
      • Si446x 上非标准前导检测的输入和输出

        Nari | 11/323/2014 | 04:19 PM

        当您在 WDS 的 RCA 中的“RF parameters”RF 参数)选项卡上的 Rx 项目中选择“Preamble pattern”(前导模式)时,将看到以“Non std. pattern”(非标准模式)概念开头的选项。这个概念表示非标准前导检测。

         

        究竟什么是非标准前导码

         

        非标准前导码是不属于标准前导码的*任何*重复模式。标准前导码是一个重复的 0101(或 1010)模式字符串。要注意的是,这些模式是以接收调制解调器被配置的数据速率来解释的。例如,4 kbps 速率下的 0101 模式与 8 kbps 速率下的 00110011 模式看起来没有任何不同;但是,从接收调制解调器的角度讲,当被配置为 4kbps DR 时,该模式为标准模式,被配置为 8kbps DR 时,该模式为非标准模式。

         

        为什么我们要区分标准和非标准的前导码模式

         

        在我们回答这个问题之前,让我们解释一下为什么接收器需要使用前导码开头?使用前导码的原因有两个:  

         

        • 使接收器能处理其控制回路,包括 AFC(自动频率控制)、BCR(位时钟恢复)和 AGC(自动增益控制)。除非所有这些回路都得到处理,否则将无法保证解调后的比特流将是正确的。标准前导码模式有助于更快更准确地处理这些控制回路(AGC 较少),因为它提供最多的位转换。
        • 一旦处理过控制回路后,解调后的比特流将是正确的,接收器可以在其中检测出特定模式。一旦检测到这个模式,接收器可以告知在信道中接收到了一个有效信号,并且可以优化它的配置以接收该信号的其余部分。(这种优化可以缩小接收的带宽和/或减缓,甚至冻结上述控制回路。发生此配置变更时的事件称为“档位切换”。请在 AN734 中查看更多信息。) 换言之,这里的前导检测的作用是限定输入信号。

         

        第一方面,控制回路以非标准和标准前导码(虽然其采集时间会稍长)的解决方式几乎相同。然而一些算法将有所不同(因为它们只能用于标准模式),这会导致不同的调制解调器配置。第二方面,如果是非标准前导码,检测(模式识别)必须发生在包处理器中,因为调制解调器的前导检测算法只能用于标准模式。这将再次导致不同的芯片配置,以及在 WDS 的 “Packet” – “Preamble”(“数据包” -“前导码”)选项卡上配置非标准前导码的*要求*。检测非标准前导码与检测同步字的程序大致相同。为什么我们要进行麻烦的非标准模式检测,而不是仅仅检测同步字? 执行检测仍然具有一些优势。

         

        • 如果非标准前导检测和同步字检测均进行,检测噪声上的这两种信号的可能性比仅检测噪声上的同步字的可能性要小得多。(作为一种替代方法,非标准前导码的最后部分很可以成为同步字的一部分)。
        • 同步字检测可以从前导码检测中的档位切换事件中受益。即,如果在前导检测中选择了较窄的 BW 滤波器,对同步字的灵敏度将更高。(但是,并不推荐在 revB1 上这样做,请见本文的最后一节。)
        • 根据检测,无线电可以断言在其 GPIO 之一上有 VALID_PREAMBLE 信号,这在主机 MCU 中可能派上用场。

        要回答本段落开头的问题,需要区分标准和非标准的前导码,因为其最终需要不同的调制解调器/数据包处理器配置。非标准前导检测基本上是提供检测前导码及其所有优点的替代手段。

         

        为什么我在 WDS 中的“preamble前导码模式下拉菜单中看到两个非标准前导码模式

         

        以下段落适用于 WDS 版本 3.2.6.0。这两种不同的非标准前导码模式选项只有长度有所不同。一个大于(或等于)32 位,另一个小于 32 位。这个长度是发送到接收器的整个前导码模式的长度,而不只是核心重复模式。如果整个前导码的长度小于 32 位,则不建议执行前导检测。为了避免检测噪声,我们建议(要检测的)模式的长度至少为 20 位。这样,如果发送的是 32 位长的前导码,留给接收器处理的就只有 12 位了。它仍可以管理这么多位,但是如果位数更少则不能保证正常操作。因此,如果选择“less than 32 bit”(少于 32 位)选项,接收器中将不会进行前导检测。这有点误导,因为即使在说明文本中明确地显示的是“非标准模式”,如果小于 32 位,将不会进行任何前导检测。在这种情况下,将跳过前导检测,仅进行同步字检测。如果模式长度大于(或等于)32 位,则适合使用前面描述的操作。*如果您愿意承担出现更多伪检测的风险(即伪检测的成本相对较低),则您也可以使用低于 20 位的模式检测阈值,这将反过来相应地调整所需的最低前导码模式长度。即,如果您设置 16 位模式检测阈值,可以仅向接收器传送 12 + 16 = 28 位前导码。在这种情况下,从下拉菜单中选择 Non std. pattern > 32 bit(非标准模式 > 32 位)。

         

        如何在 WDS 中设置非标准前导码

         

        以下段落适用于 WDS 版本 3.2.6.0。在 Rx 端,唯一需要配置非标准前导码的前导码模式是:Non std. pattern > 32 bits(非标准模式 > 32 位)。在您选择此前导码模式后,在“Preamble pattern (on air interface)”(前导码模式(空中接口))段中的“Preamble”(前导码)部分下的“Packet”(数据包)选项卡上设置非标准模式本身。此条目是核心重复模式本身。对 Rx 端而言,您已经完成了操作。在 TX 端,除了填充上述非标准模式条目(它在 Tx和 Rx之间是共享的),还要定义“Preamble TX length”(前导码发送长度)。TX 将保持传送(一遍又一遍地传送)核心前导码模式,直到传送的字节数量达到“Preamble TX length”(前导码发送长度)中指定的限值。

         

        最好了解 Si446x 上与非标准前导码相关的点

         

        • 选择非标准前导码模式时,Rx 端的前导检测阈值由非标准前导码模式的长度确定。该模式的长度在属性 PREAMBLE_CONFIG_NSTD 的字段 PATTERN_LENGTH [4:0] 中设定。前导码检测阈值的最大长度为 32 位。

         

        • 前导码模式本身在属性 PREAMBLE_PATTERN_31_24 到 PREAMBLE_PATTERN_7_0 中设定。

         

        • 属性 PREAMBLE_CONFIG_STD_1 中的字段 RX_THRESH [6:0] 对在非标准前导码模式中设置前导检测阈值没有影响。它仅在标准前导检测中起作用。但是,最好将此值与非标准前导码模式定义的前导检测阈值匹配。

         

        • 如果 PREAMBLE_TX_LENGTH 的值比前导码模式本身长,则该模式将保持重复,直到传送的前导码位数达到 PREAMBLE_TX_LENGTH 中的值。

         

        • 在非标准前导码模式中,同步字检测超时跳过(属性 PREAMBLE_CONFIG_STD_1 中的 SKIP_SYNC_TIMEOUT功能不可用。
          在非标准前导码模式中,同步字超时时间定义为 PREAMBLE_TX_LENGTH 和同步字长度的总和。是的,在这里,看起来仅 TX 属性对于 RX 配置有影响。例如,如果 Tx 的前导码长度设置为 40 位,同步字长度设置为 16 位,则查找同步字的总时间窗口(从前导检测开始)为 56 位。如果在此时期内未发生同步字检测,接收器将返回前导码搜索状态。如果传送的前导码比搜索窗口长,同步字检测可能被错过。

         

        • 同步字搜索窗口的最大长度是 255 个字节(最大 PREAMBLE_TX_LENGTH) )+ 4 个字节(同步字的最大长度)。假设检测阈值为 32 位(以及一个 0 Rx 建立时间),前导检测将会发生 4 个字节到该数据包。从这一点开始,如果同步字的末尾超过 259 个字节,它将不会被检测到。此操作使芯片所收到的前导码长度的最大限值达到 255 个字节。如果向接收器传送了更长的前导码,将意味着较低的错包率。(即偶尔会有丢包发生,甚至在高输入功率水平下)如果同步字在接收器返回前导码搜索状态之前或之后立即到达,数据包会丢失。

         

        • 如果同步字检测由于某种原因失败(失去上述机制或仅仅在灵敏度水平上具有位错误),数据包处理器将自行重置以寻找另一个前导码,但调制解调器将不会被重置为前导码搜索状态。这是一个 rev B1 上的漏洞,将在 revC 中得到修复。此漏洞有以下含义:如果为前导检测配置了档位切换事件,调制解调器可能会减慢或冻结它的一些控制算法。通常在这种情况下会冻结 AFC 误差估计量。这就是我们所说的慢档或跟踪状态。如果未检测到同步字,调制解调器将保持慢档模式,如果下一个数据包到达时与上一个数据包相比有频率偏移,则其可能会错过(因为 AFC 将以前一个数据包的频率保持冻结)。因此,如果在 revB1 中配置了非标准前导检测,我们建议向同步字检测放置档位切换事件,而不是给前导检测放置该事件。这将防止调制解调器在低速档模式下被卡住。注意,此漏洞使利用非标准前导检测的第二个优势变得无效(在本文开头处列出)。要手动配置档位切换事件,请参考 API 文档中的属性“MODEM_AFC_MISC”。
      • Si443x ISM 收发器的 RSSI 功能

        Nari | 11/323/2014 | 04:16 PM

        什么是 RSSI?

        接收信号强度指示 (RSSI) 是对接收器调谐的信道中的信号强度的估计值。可以从每比特具有 0.5 dB 分辨率的 8 位寄存器中读取 RSSI 值。下图展示了输入功率水平和 RSSI 值之间的关系:

         

         RSSI.png

         

        RSSI 的绝对值将根据调制解调器的设置而略有改变:线性和曲线的斜率保持不变,但可能会向上或向下移动一点点。如果给定应用中需要了解绝对精度,强烈建议测量曲线的所需无线电参数。

         

        无线电处于接收模式时,可随时读取该 RSSI。该 RSSI 不会被锁存,但在接收模式下会不断更新。

         

        注意:可能很少会发生错误。如果在更新期间读取,RSSI 值可能不正确(读数为 0,而不是实际的 RSSI 值)。更新周期约每 4 Tb 10 ns(位元周期)。如果是 10 kbps,可能导致 RSSI 被读取错误的概率为 1/40000。这个可能性极其低,但是为避免发生这种情况,建议实施下列一种选项:

        • 在 RSSI 中断之后,读取 1 Tb 内的 RSSI 值
        • 只要结果是非零,即重复执行 RSSI 读取 
        • 不要读取 RSSI,但使用无线电的空闲信道评估功能(可通过中断或在 GPIO 上获得状态)

         

        高分辨率 RSSI 可实现准确的信道功率测量,这非常有用,因为:

        • 估计发射器和接收器之间的距离或估计不同节点位置的应用可能需要评估接收的数据包的链路质量。另外还有应用中的电流消耗关键,因此如果需要良好的链路质量,则需要降低发射器的输出功率。对于这些应用,强烈建议在检测到输入数据包的同步字后立刻读取 RSSI,因为 RSSI 没有锁存到任何事件,在接收数据包时必须由主机 MCU 读取并储存。
        • 某些监管标准和网络堆栈解决方案需要在发送数据包之前评估信道。RSSI 可以用于空闲信道评估 (CCA)、载波感测 (CS) 和对话前监听 (LBT) 功能。

         

         

        如何能访问 RSSI 信息

        无线电处于接收模式时,通过 rssi[7:0] in "Register 26h - Received Signal Strength Indicator" 寄存器可以随时读取 RSSI。无线电成功转变为接收模式 6Tb(位时间)后,提供第一个 RSSI 信息。在接收模式下,RSSI 寄存器每 4TB 更新一次。

         

        此外,无线电可以将实际 RSSI 值与预定义阈值对比。这是空闲信道评估功能。该阈值被编程到 rssith[7:0] in "Register 27h. RSSI Threshold for Clear Channel Indicator"。在接收模式下评估 RSSI 后,如果此信道中的信号强度高于或低于阈值,需作出一个决定。如果信号强度高于编程的阈值,则 RSSI 状态位 irssi, in "Register 04h. Interrupt/Status 2" 将置位为 1。如果 enrssi in "Register 06 The RSSI status 也可以通过将任意 GPIO 配置寄存器配置为 GPIOx[3:0] = 1110 路由到 GPIO 线,将触发主机 MCU 的中断。此功能提供一种快速且由中断驱动的方法来在发送数据包之前评估信道。无线电不提供任何其他功能来实施复杂的对话前监听 (LBT) 功能,它应该依靠 RSSI 读取或无线电上的 CCA 功能在主机 MCU 中实现。

      • Si446x IQ 校准

        Nari | 11/323/2014 | 04:15 PM

        问题

         

        如何在 Si446x 上检索并重新应用 IQ 校准的结果

         

        答案

         

        执行 IQ 校准后为了提高图像的选择性),在接收应用中可能需要检索校准值并当部件在复位事件后再次进入 Rx 状态时手动应用这些值通过这个方案可以跳过 IQ 校准在随后的接收功能中),节省大量时间 (~ 250 ms),否则接收器在忙于执行校准程序时将变“盲”

         

        如果自从上一次校准事件后温度变化低于 +/- 30 摄氏度并且接收频率保持在相同的频段内则可以应用此方案同一频段意味着 VCO 的分频比不发生变化这适用于 Si4x60/1/3 revB1 中的以下频率范围。142-175 MHz;213-262 MHz;284-350 MHz;420-525 MHz;567-670 MHz 850-1050 MHz。如果执行频移时超过这些范围则需要进行新的校准。注意这些范围不适用于Si4464。

         

        即使不能对 IQ 校准结果进行直接 API 访问它们仍保存在 HW 寄存器中这些寄存器可以通过特殊 API 命令访问相关的寄存器称为 iq_calamp iq_calph。[4-0] 包含校准结果的绝对值而位5 包含这些结果的符号[7-6] 没有任何意义请注意在检索然后重新应用结果时格式并不重要重要的一点是必须将相同的值重新写回到寄存器

         

        上面提到的允许直接访问寄存器的特殊 API 命令写入寄存器时称为“POKE读取时称为“PEEK这两个命令在 API 中有其独特的命令代码它以寄存器地址作为补充执行读取和写入操作PEEK”的命令代码是 0xF0,POKE”的命令代码是 0xF1。相关寄存器的两个字节地址是:iq_calamp – 0x00 0xD6;iq_calph – 0x00 0xD7。因此读取这两个值要执行以下 API 操作

         

        'PEEK' 'iq_calamp'

        (0xF0 0x00 0xD6)

        'PEEK' 'iq_calph'

        (0xF0 0x00 0xD7)

         

        芯片将返回含有各自校准结果的一个字节几乎与在 API 中返回属性值的方式相同写回校准结果将执行以下两个“POKE”操作下面的校准值仅用于演示目的)​​。

         

        'POKE' 'iq_calamp' 16

        (0xF1 0x00 0xD6 0x16)

        'POKE' 'iq_calph' 0F

        (0xF1 0x00 0xD7 0x0F)

         

        关于这个方案还有一个细微之处值得一提如果 IQ 校准过程本身已经将值写入寄存器相关寄存器仅在休眠状态下保存其值也就是说如果它们是通过上述方案写入的其值将由于休眠状态转换而丢失意思是除非自从最后一次复位后已经执行过校准每此睡眠状态转换后必须刷新校准寄存器。(这样做的原因是因为相关寄存器只是自己的“原始”相应部分的副本这些部分位于内存区其内容在休眠状态转换时将保留校准过程写入“原始”寄存器而上述方法仅写入这些寄存器的“副本”。)

         

        有关 IQ 校准的更多信息请参考 AN790。

      • 无线 MBUS 堆栈

        Nari | 11/323/2014 | 04:15 PM

        问题

         

        Silicon Labs 的 WMBUS 解决方案支持哪种无线 MBUS 模式?

         

        答案

         

        Silicon Labs 为 Si446x 无线电和 EFM32 MCU 提供完整的 WMBUS 堆栈和文档,支持最常用的 WMBUS 模式:S1、S2、T1、T2、C1、C2。

      • Si443x 和同步字的选择

        Nari | 11/323/2014 | 04:14 PM

        问题

         

        我应该为同步字字节选择哪些值?

         

        答案

         

         

        选择同步字字节值的主要目的是选择具有良好的自相关函数的值。理想情况下,最佳的同步字值将具有其自相关函数的单个强峰,同时在其他位置(几乎)具有零值。应避免使用有重复位模式的同步字值,因为这样的模式不具有理想的自相关函数。具体而言,不应该使用类似于前导码(例如 '1010...' 模式)的位模式。

         

        Si443x 芯片默认使用值为 0x2DD4h 的 2 字节(16 位)同步字。如果需要更长的同步字,Silicon Labs 建议使用一个值为 0x5A0FBE66h 的 4 字节(32 位)同步字。

      • 为什么我会从 WDS 的范围测试演示的输出频谱中看到虚假内容?

        Nari | 11/323/2014 | 04:14 PM

        当主要用于调试目的时可能需要从 WDS 的范围测试演示查看输出频谱往往在第一次尝试时测量的频谱中含有看似虚假的内容此知识库文章介绍了它们的根本原因并推荐了避免这些情况的测量方法

         

        WDS 的“范围测试”项目中,Tx 在发送一个数据包后关闭其输出然后在要发送下一个数据包时再重新打开请参见下面的例子其中展示了数据包大小限制内 Tx 输出频率与时间的关系

         

        1.png 

         

        有些值得注意的细节数据包的开始和结束都有一个简短的 CW 传送如果发送的是短数据包这会负责传送频谱图上的 CW 内容图形中的全黄部分表示噪音这是 Tx 关闭的区域

         

        上述机制也可以通过使用开关信号选通的 TX 信号来说明您可以认为这是 Tx 输出以高占空比方波进行了脉冲调制这种行为对频谱测量带来了两个可能的问题

         

        1 – Tx 输出的快速切换将导致短暂时间的频谱散射

        2 – 切换信号的频谱高占空比方波会对输出频谱产生直接影响它会与所需的 Tx 输出频谱卷积在一起

         

        第一个问题是与减少扫描时间有关的问题而第二个问题则是与增加 SA 上的扫描时间有关的问题

         

        如果使用 SA 随机查看输出扫描将与数据包的开始不同步因此可能在连续扫描中在不同的时间发生瞬变瞬变本身及其在 SA 扫描过程中的时间内的不同位置会导致频谱图有点“混乱”见下面的示例此例是在 MAX HOLD 跟踪模式中获取的

         

        2.png

         

        要在这样的信号上进行精确的光谱测量必须确保分析中不包含瞬变换言之它意味着在输出是需要的 FSK/OOK 调制信号时仅观察该输出

         

        有一个方法可以在范围测试演示中实现这一点TX_STATE 信号放置在 GPIO 之一上使用这个信号在 SA 上触发扫描您可能要添加一些触发延迟以在数据包的开始排除 CW 部分将扫描时间设置为刚好低于数据包的长度用此方法上升和下降瞬变都会被排除在频谱分析之外并且将不会显示虚假内容再次查看使用上述方法获取的下面的示例信号

         

         3.png

         

        注意由于在范围测试演示内每个数据包2 字节计数器的内容是相同的因此所得到的频谱图案将是完全静态的即每次扫描会导致生成接近相同的频谱所以在 MAX HOLD CLEAR/WRITE 图形之间区别很小如果有)。

      • 基于 Si446x 上的 RSSI 测量的自动操作

        Nari | 11/323/2014 | 04:10 PM

        基于 Si446x 上的 RSSI 测量的自动操作

         

        1.       RSSI 中断

         

        如果当前 RSSI 水平高于(超过)在 API 属性 MODEM_RSSI_THRESH 中定义的 RSSI 阈值,RSSI 中断将被激活。无论如何配置 MODEM_RSSI_CONTROL 或 MODEM_RSSI_THRESH 或 FRR_CTRL_X_MODE 属性,Si446x 芯片中的 RSSI 中断的来源始终是当前 RSSI 值与设定的 MODEM_RSSI_THRESH 值的比较。也就是说,RSSI 中断(GET_INT_STATUS 命令返回的 MODEM_STATUS 响应字节的位 D3)始终通过将当前的 RSSI 值与 RSSI_THRESH 相比较来生成,而不是将锁存的 RSSI 值与 RSSI_THRESH 相比较。除非清除中断或接收器通过其自动状态机器或主机 MCU 重新启动,否则该中断保持有效。

         

        1.       锁存的 RSSI 检查

         

        RSSI 中断可能会与涉及锁存的 RSSI 值的另一个函数混淆。在 MODEM_RSSI_CONTROL 属性中,有一个名为 CHECK_THRESH_AT_LATCH(位 D5)的函数。如果将此位置位,则会对锁存的 RSSI 与 RSSI_THRESH 进行对比。但是,其目的是确定锁存的 RSSI 值没有超出阈值。如果锁存的 RSSI 超出阈值,则不会发生中断,数据包的接收继续正常进行。如果锁存的 RSSI 低于阈值,则芯片转换为 START_RX:RXTIMEOUT_STATE,并生成 INVALID_PREAMBLE 中断(如果启用)。利用跳频时,接收器调到下一频率的其中一个条件是 INVALID_PREAMBLE。如果锁存的 RSSI 值保持在 MODEM_RSSI_THRESH 定义的阈值以下,本段落中描述的功能将生成一个 INVALID_PREAMBLE。因此,换句话说,如果在信道中没有检测到信号功率,可使接收器调到下一个频率​​。

         

        1.       CCA 信号

         

        CCA(空闲信道评估)信号是可以输出到其中一个 GPIO(在 API 文档中查找 GPIO_PIN_CFG)的信号之一。如果当前 RSSI 值高于 MODEM_RSSI_THRESH 中给出的阈值,则它会变高电平,如果当前 RSSI 值低于此阈值,则它会变低电平。只要接收器打开,此信号就会不断更新。

         

        1.       CCA 锁存信号

         

        CCA 锁存(空闲信道评估锁存)信号是可以输出到其中一个 GPIO(在 API 文档中查找 GPIO_PIN_CFG)的信号之一。锁存的 CCA 信号可能会与锁存的 RSSI 信号混淆。锁存的 CCA 信号*不是*通过将锁存的 RSSI 信号与 RSSI 阈值相比较产生的。锁存的 CCA 信号是通过使用锁存函数“记住”CCA 信号(通过当前的 RSSI 与 RSSI 阈值对比)产生的。除非检测到同步字或接收器重新启动,否则 CCA 锁存信号保持有效。

         

        1.       抑制功能

         

        可以根据当前的 RSSI 读数有条件地(除其他措施外)配置对 RX_DATA 输出的抑制。如果当前的 RSSI 仍低于 API 属性 MODEM_RSSI_THRESH 中定义的 RSSI 阈值,将不会开启 RX_DATA,而如果高于这个水平,则将开启 RX 数据。参见 API 属性 MODEM_OOK_CNT1 中的 SQUELCH 了解更多详细信息。

      • Si443x 和链接范围

        Nari | 11/323/2014 | 04:08 PM

        问题

         

        使用 Si443x 芯片可以获得的链接范围是什么?

         

        答案

         

        这是一个很难完全准确回答的问题。有很多影响链接范围的参数,其中几个不受 Silicon Labs 的控制。因此,我们不能保证特定的链接范围值。

         

        然而,可以提供一些指导。Silicon Labs 创建了一种 Excel 工作表形式的范围计算器,您可以从我们的网站进行下载。在此计算器中,用户输入各种参数,如 TX 输出功率、RX 灵敏度、天线增益、操作频率和传播模型。此 Excel 文件基本上仅包含了由一些众所周知的链接范围和天线方程组成的 GUI 界面。

         

        众所周知,在自由空间中的传播损耗与距离^2 成正比。也就是说,为了使链接范围加倍,有必要将 TX 输出功率增加 6 dB(或将接收灵敏度提高 6dB)。但是,典型应用中的传播模型很少遵从这种“平方距离”的关系;建筑物、树木和围墙之类的人造物都导致了信号的额外衰减或反射,使得通信质量随着距离的增加更迅速地下降。在这个 Excel 计算器中,将传播模型常数从 n=2(即自由空间)增大到更大的值,如 n=2.5(具有干燥土壤的户外视线范围)或 n=4(室内)或 n=6(有许多障碍物的室内)就能看到这个影响。传播模型对链接范围有非常大的影响,但遗憾的是,这是一个很少能确切知道的参数,并且在一个位置和另一个位置可能会不同。

         

        众所周知,在自由空间中的传播损耗与频率^2 成正比。也就是说,所有其他参数都相等,在较低频率下工作时的链接范围比在较高频率下工作时的链接范围更大。用户往往被限制在以特定频率或在窄的频带内工作,所以这点可能没有实际意义。然而,如果给定一个选择(并假设相等的 TX 输出功率和天线增益等),可以通过在较低的频率下操作得到更大的链接范围。

         

        链接范围的理论方程表明,TX 输出功率增加 1dB 将产生与 RX 灵敏度改进 1 dB 相同的链接范围的提高。然而,在实践中,增加 TX 输出功率通常会产生更大的有益效果。信号环境和背景噪声通常会被充分升高,导致 RX 灵敏度不会由芯片的噪声系数来确定,所以改善 RX 灵敏度不会导致链接范围实现预期的增大。

         

        接收器灵敏度可以通过使用窄接收带宽优化,因为这样收到的总噪声功率会更少。然而,使用窄接收带宽操作时,需要使用相对低的数据速率。也就是说,通过使用低数据速率,而不是高数据速率来获得最佳链接范围。

         

        使用窄接收带宽(即低数据速率)的一个缺点是,链接的 TX 和 RX 端的频率精度必须非常高。也就是说,如果链接的 TX 和 RX 任意一端(或两端)的晶振容差很差,生成的频率错误导致所接收的信号甚至不处于滤波器的带宽范围内,那么使用窄的接收滤波器带宽并没有好处。希望使链接范围绝对最大化的用户通常使用高度精确的晶振,甚至可能使用 TCXO,以获得所需的频率精度来支持窄接收滤波器带宽的使用。

         

        TX 和 RX 天线的增益对链接范围有显著影响。再次重申,我们通常并不知道准确的天线增益。环形或单极或弯曲线之类的印迹天线通常具有中度至交叉的天线增益,范围为 -5 至 -12 dBi(相对于无方向性天线的 dB 值)。通过使用市售的单极或螺旋谐振器可以实现性能的改善,使天线增益处于 -5 到 +2 dBi 的范围内。这种天线的性能经常高度依赖于可用 GND 平面的区域和质量。

         

        总之,有许多影响链接范围的因素。Silicon Labs 不能保证链接范围的特定值,但随时准备帮助客户为其应用的性能进行评估。

      • Si4010 NVM 编程用户模式

        Nari | 11/323/2014 | 04:00 PM

        问题

         

        Si4010 有三种 NVM 烧写模式 - 工厂、用户和运行。什么是用户模式,如果选择用户模式,可以在 NVM 中更改我的代码吗?

         

        答案

         

        这些模式决定烧写文件如何组成。

        在 Factory工厂)模式下,在 NVM 中以及 NVM 中的其余部分,仅 Silabs 工厂设置对用户开放以便用户可以输入他们的代码。

        在 USER用户)模式下,客户可以写入到 NVM 中,并仍然使用 IDE 做进一步的补充。NVM 是一次可编程器件 (OTP),所以被写入的区域不能再次写入。未写入的 NVM 区域仍然可以编程。在此模式下,Si4010 不会自动将 NVM 用户代码复制到 RAM 并开始执行。用户必须进行启动以执行代码。C2 接口仍然可用,因此可以使用 Silabs IDE 调试代码。

        在 RUN(运行)模式下,C2 接口被禁用,代码将在启动时从 NVM 复制到 RAM 并立即执行。进行此操作之后将无法进行修改,该设备将不连接到 IDE 或 NVM 烧写工具。

        要了解更多详情,请参阅 Si4010 数据表和 AN511 以及 AN617。

      • PCB 与 Si10xx 设备的装配问题

        Nari | 11/323/2014 | 03:59 PM

        问题

         

        在我们的 PCB 上,我们遇到 Si10xx 设备开路或短路方面的问题。

         

        解决方案

         

        Si10xx 无线 MCU 设备全都采用 0.5mm 间距的表面贴装封装。与其他表面贴装设备一样,焊膏和 PCB 焊盘图案可能需要在设计方面进行精细调整以优化产量。

         

        常见问题包括引脚开路。引起这个问题的原因可能是由于信号引脚没有焊膏,或由于焊接膏粘在焊膏钢网开口上而不沉积在 PCB 上的释放问题,或可能由于裸露焊盘和周边信号焊盘之间的焊锡覆盖范围不平衡。设备可能在焊锡池中在裸露焊盘处浮起,使外部焊盘上的焊膏和引脚之间的间隙足够高而不会浸湿。减小裸露焊盘上的焊锡覆盖范围可能会有帮助。

        引脚偶尔发生短路,表明可能使用了过多的焊膏。一种可能的解决方案是拉长 PCB 焊盘和阻焊层开口,以提供一个分开多余的焊锡结珠的库区。裸露焊盘上的多余焊接可能将导致信号引脚与裸露焊盘接地端之间短路。

        一些 Si10xx 数据表包含放置过孔的建议。一定要遵循这些建议,因为过孔以与 PCB 或封装不同的速率在纵向扩展,并可能引起机械应力。

        PCB 基板(或者,从电路板的面板上拆下各种板卡的过程)也可能会导致损坏。使用克断法的电路板可能弯曲设备下方的 PCB。这可能会导致焊盘与封装或 PCB 分离。基板过孔布线可能会有帮助。