05:04\\\\\\\\r\\\\\\\\n基于AS3933制作的无线起跑线模块
AD\Test\2024\September\TestAS3933F103.PcbDoc
01 接收信号
一、前言
前几天测试了 AS3933对于125kHz的解码功能。 上午, 制作了一个125kHz 串口数据调制信号板。 下面利用 AS3933完成信号的接收解调, 并基于此,测试实现无线起跑线的功能 。
二、电路设计
在原来的实验电路板上, 增加了一个N沟道的 MOS 管。 将 AS3933 的数据输出信号 经过 MOS 管的反向, 连接的单片机的串行口接收管脚。 铺设单面PCB, 将增加的 MOS 管放置在单片机附近。 下面制作电路板。
▲ 图1.2.1 测试电路SCH
▲ 图1.2.2 测试电路板PCB
一分钟之后得到测试电路板。 测试电路板制作的非常完美, 下面进行焊接测试。
三、软件调试
焊接电路板, 清洗之后进行调试。 由于使用实在上午电路板上进行修改, 所以, 将上午的软件下载之后, 便可以看到电路已经开始运行了。 下面将刚才制作的 125kHz 串口调试电路板的天线放置在工字型天线旁边, 在 AS3933的 DATA 输出管脚可以看到接收到的解调信号波形。 下面青色的是经过MOS管反向之后对应的串口信号, 该信号接入 单片机的串口2 。
通过串口输出 串口2 接收到的数据。 波特率为 9600. 可以看到接收到的属于与发送的 0x55,0xaa有差距。 如果开始接收到的是0x55, 接下来的数据为0xfa。 如果开始接收到的是0x54, 后面的字节为 0xaa。 杂志必然有一个是错误。 此外还有接收到 0x00 的数据。 这说明接收到的信号波形与发送的波形之间有差异。 这是展开看到的 AS3933输出信号以及返乡后的信号波形。 的确, 数据波形出现了失真。
▲ 图1.3.1 单片机接收到的数据
将 125kHz发射信号与接收解调信号同时观察。 蓝色是发送调制信号。 黄色是AS3933解调信号。 可以看到前面两个脉冲居然变成了一个脉冲。 后面的脉冲信号都变成了正常。 展开波形, 可以看到在调制信号消失之后, 还有大约 50微秒的延迟时间。 这个延迟, 使得接收信号变窄了。 现在存在着最大的一个问题, 就是前面两个脉冲信号被合并成为一个, 这造成接收信号出现错误。
根据AS3933数据手册中的说明, 寄存器3 控制了解调的模式。 第7位,控制了包络线上下比较的回滞电压, 将它降低, 减小脉冲宽度变化。 第6位控制了回滞作用上升沿还是下降沿, 将它修改为 1, 只在上升沿使用回滞控制。 后面三位, 控制了数据位的宽度。 将它们修改为 0, 这样增加数据位波特率。 将寄存器3的值, 修改为 0xc0. 可以看到, 解调信号变得正常了。 串口读取的数据也正确了。
▲ 图1.3.2 修改之后对应的解调波形
▲ 图1.3.3 修改之后对应的解调波形以及解调出的数据
下面, 测试接收器解码的速度。 手持发送器的天线, 在接收工字型电感上面划过, 可以看到它可以非常迅速的接收到 天线发送的数据。 只有, 当天线路过之后, 接收数据立即停止。 由此, 可以看到, 使用AS3933的确可以完成无线信号的快速接收与解码。
※ 总 结 ※
本文测试了利用 AS3933 对于 125kHz 无线信号解码的功能, 由此制作了 一个无线起跑线检测模块。 使用一个MOS管脚对于AS3933的 DATA信号进行反向, 再由单片机接收串口数据。 需要对 AS3933的解码控制寄存器的数值进行修改。 这样才能够保证接收到的数据是完整的。
改版(增加BEEP)
AD\Test\2024\September\TestAS3933F103.SchDoc
ARM\Keil\STM32\Test\2024\September\TestAS3933F103\MDK
▲ 图2.1.1 改版后的原理图
▲ 图2.1.2 改版后的PCB
■ 相关文献链接:
● 相关图表链接: