跳到主要内容

AN-1157将安全性添加到433MHz无线通信

内容

参考文献

对于相关的文件和软件,请访问:

https://www.dialog-semicondoduments.c亚博电竞菠菜om/products/greenpak.

下载我们的免费GreenPak Designer软件[1]打开.gp文件[2]并使用GreenPak开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。

yabo国际娱乐对话框半导体提供完整的应用程序库注意[4],其中包含了设计示例以及对话框IC中的功能和块的说明。

  1. GreenPak Designer软件,软件下载和用户指南,对话框半导体yabo国际娱乐
  2. AN-1157将安全性添加到433MHz无线Communication.gp,绿派克设计文件,Dialog半导体yabo国际娱乐
  3. GreenPak开发工具,GreenPak开发工具网页,对话框半导体yabo国际娱乐
  4. GreenPak应用笔记,绿派克应用笔记网页,对话半导体yabo国际娱乐
  5. SLG46120数据表,对话框半导体yabo国际娱乐
  6. SLG46722数据表,对话框半导体yabo国际娱乐

介绍

工业,科学和医疗(ISM)无线电频段是用于一般数据通信的射频频谱的未经许可的一部分。在这些433.92 / 868.35 MHz频段操作的设备中,无线门铃,车库门开启器,Wi-Fi,蓝牙。ISM频段的无线接口模块成本低,可广泛可用。但尽管使用广泛,但大多数都不包含安全保护。随着物联网和家庭自动化的越来越多,这变得越来越重要。在本应用笔记中,我们提出了如何通过在使用低成本发射器和接收器模块时添加伪随机编码来安全地发送信号。

GreenPak SLG46120V [5] IC用于生成数据编码,而GreenPak SLG46722V执行解码。将指出典型的问题,例如常规无线系统的噪声。

图1.无线模块

发射机和接收器模块

我们选择使用模块来实现无线传输,因为它们的可用性和成本低。表1显示了这种模块上的常见功能。

表1.最常见的模块特征

发射机

接收者

频率

433 MHz.

433 MHz.

力量

25兆瓦

-

工作电压

5 - 12v

5 VDC.

工作当前

40 ma(最大)

5.5 ma(max)

调制

FSK / ASK / OOK

FSK / ASK / OOK

速度

不到10 kbps

不到10 kbps

带宽

2 MHz.

2 MHz.

灵敏度

-

-100 dBm @ 50欧姆

覆盖范围

200米

200米

尽管模块可以在不同的设计中使用,但它们共享默认的pinout。图1显示了在这个应用注释中使用的两个模块:左边的发射器和右边的接收器。

模块的引脚是,GND,DA,VCC和NC。引脚用于连接天线。可以使用没有天线的模块用于短距离,但是适当的天线将显着增加覆盖区域的效率。天线可以是一个简单的23厘米的电线。此外,传输功率取决于应用于从5-12 VDC的发射机的工作电压。VCC和GND引脚用于为电路电源,电压限制必须从表1中验证。由于工作电压在发射器和接收器之间时,设计人员必须小心。如果您不确定,那么您可以使用5伏的设计。DA引脚用于发送或接收数据以9200 bps的最大速率串行传输的数据。NC引脚代表无连接,必须隔离。

伪随机噪声编码

伪随机噪声是一种类似于噪声的信号,满足一个或多个统计随机性的标准测试。乍一看,序列可能是未定义的,但它由一个确定的数据流组成,该数据流将在一段时间后自我重复。伪随机噪声的特性是保证密码设备安全通信的基础。一个密码装置可以产生一个密钥信号,这个密钥信号的周期非常长,甚至可以达到数百万个数字。

安全性高的主要原因在于伪随机噪声的特性,它的周期序列与其他序列的相关性很小。此外,通过取周期的两个子集,也会导致弱相关性。此外,与随机噪声不同的是,它很容易在发射端和接收端产生相同的序列。接收器可以在本地产生与发射器产生的序列相同的序列,并使用相关特性实现同步。

在该项目中,我们依赖于最大长度序列(MLS)的特征,它是一种伪随机二进制序列。MLS的周期性比特序列具有序列长度n = 2 ^ n-1,其中n是多项式的程度。可以使用最大线性反馈移位寄存器(LFSR)数字电路来生成序列,如图2所示。多项式N的程度表示所需寄存器的数量。

图2. LFSR用于生成63位序列

寄存器处于流的流中,其中第一进给下一个输入的输出。一些输出连接到模数-2和运算符,结果是反馈到行中的第一个寄存器。多项式X6.+ x + 1表示根据Galois字段(有限域算术)的LFSR结构,两个元素,GF(2)。图2中的图示结构具有学位n = 6.和长度n = 26.1 =中立比特。设计师必须选择表2中列出的选项之一,因为并非所有多项式都可以生产完整n = 2N- 1比特序列。

解决方案架构使用GreenPak

选择SLG46120V IC以实现安全变送器的功能。

表2.最大长度序列多项式

学位(m)

m-sequence的长度(n)

多项式

3.

7.

X3.+ x + 1

4.

15.

X4.+ x + 1

5.

31.

X5.+ x2+ 1

6.

63.

X6.+ x + 1

7.

127.

X7.+ x + 1

8.

255.

X8.+ x7.+ x2+ x + 1

9.

511.

X9.+ x4.+ 1

10.

1023.

X10.+ x3.+ 1

有五个组合查找表(LUTS),八个时钟数字触发器(DFF),一个八级管道延迟,以及具有两个可选频率的RC振荡器。所有这些组件都满足了实现变送器设计的要求。图3(a)显示了顶级示意图,其揭示了GreenPak SLG46120V IC和无线模块将连接在一起。

由于接收器更复杂,因此选择SLG46722V部分以实现这些功能。图3(b)显示了GreenPak SLG46120V和无线模块连接的顶级原理图。可用资源是十五个组合查找表(LUT),七个时钟数字触发器(DFF),一个八级管道延迟,两个regLitch滤波器,以及具有两个可选频率的RC振荡器。所有这些组件都满足了实现接收器设计的要求。

图3.TX / RX顶级原理图

图2中所示的LFSR设计现在在GreenPak开发环境中进行,如图4所示的图所示。该设计将发挥发射器的作用,从而为无线模块生成63位序列。它由六个DFF和一个XOR逻辑运算符的流组成,它充当模块-2和运算符。模块-2和操作员反馈延迟结构的输入,并从代表预览部分中讨论的多项式的第一和最后寄存器输出接收信号。关于LFSR的另一个重要细节是流的一些寄存器必须具有初始状态集。如果延迟结构的所有寄存器具有初始状态为零,则Modulo-2运算符没有反馈的比特,并且可以解决问题,只需将第一个到初始状态才能解决。从寄存器流的末端取出63位的序列,并馈送到作为数字输出的销3。设计人员必须了解振荡器的连接和配置。振荡器的电源向下销必须连接到地面GND。请注意,一些DFF的寄存器具有复位输入引脚,必须连接到VDD。

根据表1,无线接收器的平均速度小于10kbps。在振荡器设置中存在的分隔器的当前组合是不可能实现10kbps的速率。因此,最接近无线模块的最大限制的传输速率为6250 bps,其中振荡器用25 kHz时钟和预分频器设置为4.也可以使用第二个2 MHz时钟并达到更快的速度using a pre-divider of 4 and the ‘OUT0’ second divider configured as 64 which results in 7812.5 bps. Figure 5 shows a clock configuration table for two different rates.

接收器侧具有与图4中呈现的类似设计,图6示出了实际实现。接收器设计将处理无线模块接收的63位的序列。该概念的主要部分也依赖于六个DFF和一个XOR逻辑运算符作为模块-2和运算符的结构。不同之处在于这次模块-2和操作员不会反馈流的输入,但仍然从第一寄存器输出接收信号。

图4.使用GreenPak Designer实现LFSR实现
图5.两个时钟速率配置
图6.接收器中的LFSR类似的实现

63位的序列来自连接无线模块的引脚2。接收器的模块-2运算符比较本地产生的位与引脚2传入的流。如果所有位匹配,则接收序列与本地序列生成器多项式相关。

倒位异或运算符比较输入和表示为“序列比较器”的本地生成的位。输出提供管道延迟的重置端口,该结构表示为“正确序列计数器”。管道延迟的输出在确定正确的位数后将其输出OUT0设置为1。

每个错误的位匹配都重置了管道延迟。管道延迟的OUT0端口连接到NAND 2-L3端口的一个端子。另一个2-L3 NAND终端接收来自LUT链的链数为单位的“全零和探测器”的信号,这在存在零的进入序列时防止输出高。当序列匹配的所有63位时,发射器和接收器的序列相同。管道延迟有八个延迟寄存器,连续连接,可以同时复位。请注意,仅使用管道延迟将只计算16个正确位并设置为输出OUT0。解决此问题的一个技巧是使用配置为递增4的计数器,并将其连接到管道延迟的时钟。请注意,通过使用此方法将忽略“序列比较器”中的一些位,并且评估序列的顽皮比特将通过而不进行评估。可以计算少于63位的另一个解决方案是通过使用更多DFF寄存器来扩展管道延迟。如果设计师计划使用较小的伪噪声序列,则SLG46120V IC中有四个具有重置端口的额外DFF。 The new DFF’s can connect to the output OUT0 of the pipe delay and the reset ports attached to the ‘Sequence comparator’ achieving the counting limit of 20 bits.

考虑到前面涵盖的传输速度,可以计算传输所有63位所需的时间量。计算传输时间的公式是T.pn= N.pn/ R., 在哪里Npn是传输位的总量,R.为传输速率。为Npn= 63位r = 6250 bps,传输时间为T.pn= 10毫秒

无线模块噪声注意事项

噪声问题是许多433 MHz无线模块中存在的常见问题。当没有信号时,接收器模块的数字输出产生一个随机集的一个和零位。图7示出了显示输入噪声行为的信号图。“噪声”部分显示当传输上没有信号时,当接收器RF前端调整增益控制时,通常会发生“唤醒突发”,“数据”部分显示实际传输信息。使用微控制器时,固件编码必须非常有效,以处理输入端口中的信号的随机突发。通常,中断用于触发启动传输事件,随机输入位不断地保持触发中断结构。根据代码实现,这可能会产生故障,并且微控制器将无法接收发送的信号。

图7。开始传播事件

使用GreenPak IC驻留在用于接收数据信息的专用功能中的优点。即使随机激励突发通过输入引脚2,也将由相同的逻辑电路评估所有比特,而不会中断。因此,解码更有效,并且它是软件错误证明。

设计测试

执行第一次测试以显示电路如何与直接信令(无无线)的行为方式。在直接信令中,发射器设计的销3(如图4所示)直接连接到接收器设计的销2(如图6所示)。两种设计都用逻辑分析仪进行了测试。图8示出了从接收器设计中的特定点采取的输出信号。

“直接传输信号”图来自引脚2。“序列比较器”图显示了异或运算符输出的结果,该运算符将输入信号与局部生成的序列进行比较。“管道延迟”图强调了当有8个成功计数和输出引脚3被设置为高的时刻。“振荡器OUT0”图帮助检查时钟事件是否正常工作。注意,'管道延迟'在'序列比较器'最后一次重置脉冲之后的8个时钟计数内设置一个。

执行第二个测试以显示当使用无线模块时电路的行为方式。变送器设计将模块的DA引脚连接到图1中的左侧。然后,接收器设计的引脚2连接到图1中的模块的DA引脚。

图8。逻辑分析仪输出为TX/RX直接连接

图9示出了从接收器设计中的特定点取出的输出信号。“无线模块接收器”曲线绘制来自引脚2的信号。“序列比较器”绘图显示XOR操作员输出的结果,该结果将输入信号与本地生成的序列进行比较。显而易见的是,“序列比较器”现在产生更多的重置信号。“管道延迟”图,其仅配置八个寄存器,用于说明目的,突出显示存在八个成功计数的那一刻,输出引脚3设置为高。同样,在从“序列比较器”的最后一个复位脉冲之后,“管道延迟”在八个时钟计数中从零点切换到一个。图9中的一个有趣观察是序列比较器中的较短脉冲。较短脉冲的原因是由于逻辑分析仪以25 kHz的采样率运行的速率。

观察到较短的脉冲也类似于图7中看到的行为,该行为仅在前八个时钟脉冲上发生。这些是来自无线电静态的输入噪声脉冲。

图9.由无线模块连接的Tx / Rx输出逻辑分析器输出

结论

我们建议添加伪随机编码以改善无线模块的数据通信安全性。该设计根据预期的逻辑分析仪结果验证的内容进行了工作。

GreenPak SLG46120V和SLG46722V提供了用于设计此应用的电路资源。定时控制易于配置,并且有足够的电路资源可用于产生63位的随机序列。

设计者具有选择不同的唯一代码,可以通过使用新的序列发生器多项式来生成不同的唯一代码。这种方法提供的安全远比标准的8位无线车库门控制。