探索Si4356独立接收器开发套件:从入门到实践
在无线通信领域,开发套件对于工程师快速验证和实现设计想法至关重要。今天,我们就来深入了解一下Silicon Laboratories的Si4356独立接收器开发套件,看看它能为我们带来哪些便利和可能性。
文件下载:4356-LEDK1W-434.pdf
一、套件概述
Si4356独立接收器开发套件(P/N 4356 - LEDK1W - XXX)为我们提供了熟悉和评估EZRadio® Si4356独立直接模式接收器的完整解决方案。该套件有434 MHz和868 MHz两个频段版本,具备以下关键特性:
- 发射节点:采用预编程的演示钥匙扣,搭载Si4010发射SOC。
- 接收节点:是一个可通过开关配置的Si4356演示板。
- 信息显示与用户交互:接收演示板配备四个LED用于显示信息,四个按钮用于接收用户命令。
- 丰富的开发资源:Silabs网站提供了开发用户应用所需的所有文档和文件。
- 强大的开发工具支持:支持使用Silicon Laboratories集成开发环境(IDE)进行软件调试,以及Keil & SDCC C编译器、汇编器和链接器工具链。
套件内容丰富,包含了Si4356 EZRadio RFStick接收器板、Si4010钥匙扣板、电池、适配器、USB延长线等,具体可参考文档中的表格。
二、软件设置
下载必要软件
首先,我们需要从网站(http://www.silabs.com/products/mcu/Pages/8 - bit - microcontroller - software.aspx)下载8位软件。Si4356开发套件至少需要以下组件:
- Silicon Labs IDE:这是一个完整的独立软件程序,包括项目管理器、源代码编辑器、源代码级调试器等实用工具,支持整个Silicon Labs 8位微控制器(MCU)产品线。
- Unlimited Keil® PK51 Professional Developer's Kit:Keil 8051 C编译器/汇编器/链接器工具链。我们可以免费注册并获取解锁PK51工具的密钥。
安装软件
下载并运行所选组件的安装程序exe文件,然后按照屏幕上的说明进行操作即可完成安装。
注册Keil工具集
开发套件包含最新版本的C51 Keil 8051工具集,初始时代码大小限制为2 kB,程序从代码地址0x0800开始。注册后,代码大小限制将完全解除,程序将从代码地址0x0000开始。注册步骤如下:
- 在Silicon Labs网站(http://pages.silabs.com/lp - keil - pk51.html)上注册以获取免费密钥(产品序列号)。
- 以管理员权限从安装目录打开Keil μVision4 IDE。
- 选择“File” -> “License Management”打开许可证管理窗口。
- 点击“Get LIC via Internet...”按钮打开获取许可证IDE代码(LIC)窗口。
- 按“OK”打开浏览器窗口访问Keil网站。如果窗口未打开,可导航至www.keil.com/license/install.htm。
- 输入产品序列号以及其他所需信息。
- 完成表单后,点击“Submit”按钮。系统将向提供的电子邮件地址发送包含许可证ID代码的邮件。
- 从邮件中复制许可证ID代码(LIC)。
- 将LIC粘贴到μVision4中许可证管理窗口底部的“New License ID Code (LIC)”文本框中。
- 按下“Add LIC”按钮,此时窗口应列出Silabs的PK51专业开发套件为已授权产品。
- 点击“Close”按钮。
三、硬件设置
钥匙扣组装
按照以下步骤组装钥匙扣:
- 从内部将键盘框架卡入钥匙扣外壳的上半部分。
- 从内部将橡胶键盘插入框架。
- 将纽扣电池插入钥匙扣PCB上的电池座,负极应朝向PCB。
- 将PCB插入外壳的上半部分,按键接触侧应朝向橡胶按键。
- 扣上外壳的后半部分。
- 检查操作,按下钥匙扣上的任何按钮时,LED应闪烁四次。
RFStick设置
设置RFStick的步骤如下:
- 将S6电源开关设置为“Adapter”位置。
- 通过PCB边缘连接器将RFStick连接到Toolstick Base Adapter。
- 将Base Adapter直接连接到PC的USB端口或使用USB延长线连接。
- 如有必要,等待Windows安装调试接口驱动程序。
- RFStick可能未预装软件或板上软件已过时,首次使用时,建议从http://www.silabs.com/Support%20Documents/Software/4356_rfstick_dir_SW.zip下载完整的Si4356开发套件RX侧代码项目,升级RFStick的MCU固件。
- 启动Silabs IDE并关闭任何打开的项目。
- 在连接目标设备之前,可能需要设置一些连接选项。在IDE菜单中选择“Options” -> “Connection Options...”打开连接选项窗口。首先在“Serial Adapter”部分选择USB Debug Adapter,然后选择C2 Debug Interface。完成所有选择后,点击“OK”按钮关闭窗口。
- 点击工具栏中的“Connect”按钮或从菜单中选择“Debug” -> “Connect”连接到设备。
- 点击工具栏中的“Download Code”按钮,浏览到Si4356开发套件RX侧代码项目的out文件夹中的4356 - rfstick - dir.hex文件,将项目下载到目标设备。
- 点击工具栏中的“Disconnect”按钮,启动下载的示例代码。
若要在不连接USB的情况下操作RFStick,可在板底部的电池座中插入两节AAA电池,并将电源开关设置为“Battery”位置。
四、直接模式接收演示操作
在直接模式接收演示中,Si4010钥匙扣发射器和Si4356 RFStick接收器分别作为发射和接收节点。设置好节点后,需要使用RFStick上的SEL0 – SEL3滑动开关和SW1 - 1至SW1 - 4 DIP开关为Si4356配置演示的RF参数。SEL0和SEL1根据表2设置中心频率,不同频段的套件中心频率不同,使用时需注意匹配,否则会显著降低灵敏度。
钥匙扣上的按钮已被编程为传输各种数据包格式,Si4356 RFStick仅对其配置为接收的钥匙扣按钮传输做出响应。具体的配置可参考文档中的表3和表4。需要注意的是,滑动和DIP开关必须在给板上电之前进行配置。
五、RF参数与数据包结构
RF参数
| 演示套件根据频段使用不同的RF参数,具体如下: | 套件部件编号 | 中心频率 | FSK偏差 | 符号速率 |
|---|---|---|---|---|
| 4356 - LEDK1W - 434 | 433.92 MHz | ± 59 kHz | 9.6 kBd | |
| 4356 - LEDK1W - 868 | 868.30 MHz | ± 119 kHz | 9.6 kBd |
正常RF数据包
| 正常RF数据包用于在接收器端演示优化用于RF通信的数据包的接收。它由16字节组成,结构如下: | 字节数 | 字段名称 | 描述 |
|---|---|---|---|
| 5 | 前导码 | 0xaa | |
| 2 | 同步码 | 0x2d, 0xd4 | |
| 4 | 芯片ID | Si4010的唯一工厂烧制芯片ID | |
| 1 | 状态 | 低5位为按钮信息 | |
| 2 | 数据包计数 | 用于PER测量的滚动计数器 | |
| 2 | CRC - 16 | 生成器X16 + X15 + X2 + 1,起始值0xFFFF |
传统编码器数据包
传统编码器数据包用于在接收器端演示未针对RF通信进行优化的传统数据包的接收。其结构遵循Holtek HT6P20编码器芯片生成的比特流结构,本演示实现使用22个地址位和2个数据位,地址位是Si4010的四字节工厂编程唯一ID的22个LSb位,数据位反映按下的按钮。
六、接收器节点
RFStick平台
RFStick是评估EZradio芯片的基本演示系统,板主要分为MCU部分和无线电部分。MCU部分包含Silabs C8051F930 MCU和基本人机界面设备(四个按钮、四个LED、四个开关和一个蜂鸣器),还有四个四位开关(SEL0 - SEL3)用于配置无线电。无线电部分包含EZRadio芯片、匹配电路和天线,RF输入可通过0 Ω电阻在PCB天线和50 Ω SMA输入连接器之间选择,默认连接PCB天线。MCU通过四个GPIO与Si4356 EZRadio芯片连接,具体连接可参考文档中的表8。
板的电源可以通过电源选择开关(S6)选择。如果S6处于“Adapter”位置,电源由连接到J1 PCB边缘连接器的Toolstick Base Adapter提供;如果S6处于“Battery”位置,电源由板底部电池座中的两节AAA电池提供。RF部分(RFVDD)的电流消耗可以在J6上测量,使用此功能时需要切断板底部的PCB走线。板还包含两个板识别存储器(U3和U4),通过调试接口为WDS提供有关连接板的信息。
接收器演示代码操作
Si4356 RFStick接收器板上的8051F930 MCU已预装4356 - rfstick - dir演示程序,该程序存储在闪存中,可以使用开发套件中的Silicon Labs Toolstick Base Adapter进行覆盖。完整的4356 - rfstick - dir软件项目可以在Si4356产品页面上找到。
上电后,演示代码读取四个DIP开关的状态,以确定需要接收的数据包类型。之后更改开关设置将无效。Si4356接收并解调钥匙扣的传输,将原始数据信号输出到F930 MCU。接收器程序首先对接收的信号进行去毛刺和重定时处理,以提高灵敏度,然后评估接收到的数据包。如果数据包有效,程序将根据接收到的数据包状态字节中的按钮信息闪烁LED。
去毛刺
Si4356通过对传入传输进行过采样来异步解调传入数据,由于采样时钟较高,当信号电平接近灵敏度极限时可能会出现毛刺。采用中值滤波算法去除这些毛刺,该算法通过对窗口内的元素进行排序,选择中间元素作为输出。在实际操作中,只需统计窗口内1的数量,如果该数量大于窗口大小的一半,则输出为逻辑1,否则为逻辑0。
重定时
重定时算法用于估计两个数据转换之间的原始数据位数,并考虑RX数据上的任何抖动。该算法在Timer3中断服务例程中逐位执行。软件实现中,数据速率和采样速率在application_defs.h文件中定义,去毛刺/重定时的输出是一个单字节缓冲区bRetimedBitBuffer。接收八个位后,fRetimedBitBufferFull标志指示缓冲区已满,可以读取。
数据包评估
重定时算法的输出作为数据包处理算法的输入参数。数据包处理程序执行典型的数据包处理功能,如同步字检测、CRC检查和有效负载验证。对于正常RF数据包,在接收和评估过程中会跳过前导码部分,通过同步字检测找到数据包的准确位置,进行CRC检查验证有效负载内容,检查发射机ID,并根据表2显示按钮信息。对于传统编码器数据包,由于可能没有固定的同步部分,可使用导频周期和起始位作为同步模式,但灵敏度有限,使用反码周期作为同步模式可获得更好的结果,同时也会进行发射机ID检查和按钮信息显示。
关联
当接收器程序处于关联模式时,它会将接收到的ID存储为关联ID,而不是检查传入数据包中的ID。ID的两个MSb位始终设置为零,以允许在关联和正常接收期间混合正常和传统数据包。
七、总结
Si4356独立接收器开发套件为工程师提供了一个全面、便捷的平台,用于探索和开发无线通信应用。通过本文的介绍,我们了解了套件的硬件组成、软件设置、操作步骤以及接收器节点的工作原理。在实际应用中,工程师可以根据具体需求进一步优化和扩展该套件的功能。你在使用类似开发套件时遇到过哪些问题?又是如何解决的呢?欢迎在评论区分享你的经验。
-
接收器
+关注
关注
15文章
2665浏览量
78964 -
无线通信
+关注
关注
58文章
5478浏览量
148960
发布评论请先 登录
探索Si4356独立接收器开发套件:从入门到实践
评论