最近,我有幸执行一个涉及Arduino Uno的项目,其中采用Atmel ATmega328微控制器,并使用SPI总线连接RFM12B模块、ISM频段FSK收发器。和往常一样,我们要解决多个硬件和软件问题。大家将看到,MDO4000混合域示波器帮助我们找到了噪声问题的根本原因。我使用的设置如下:
下面的截图显示了数据包传输期间发生的情况:
标着A的橙色轨迹是RF幅度随时间变化,是用连接到频谱分析仪输入上的简单天线捕获到的。SPI总线使用数字逻辑通道探测,在发送的SPI总线命令上触发了单次采集。由于这是FSK频移键控,在理想情况下,RF幅度应该不变。但我们可以看到,实际情况并不是这样。下面,我们增加了频率随时间变化轨迹,标为F:
左上方的噪声突发是频率随时间变化,就在传输前面。我使用静噪声功能,清除噪声: