想玩电波钟好久了。2014年的时候就买了一个电波钟模块,当时测试完之后就忘了放什么地方了。前些日子找到了,正好赶上坛子里搞DIY活动,想拿出来试试,可是发现接收不到信号了,想放弃了。不过前几天换了个住的地方,昨天拿出来一试居然可以接收到信号了。在屋子里换了几个地方都可以,于是马上决定行动起来。
电波钟表,也称为无线控制计时钟表(英文名称为:Radio controlled timepieces)。
电波钟表作为一个系统的技术原理是:首先,由标准时间授时中心将标准时间信号进行编码(商业码则进行加密),利用低频(20KHz~80KHz)载波方式将时间信号以无线电长波发播出去。电波钟表通过内置微型无线电接收系统接受该低频无线电时码信号,由专用集成芯片进行时码信号解调,再由计时装置内设的控制机构自动调节钟表的计时。通过这样一个技术过程,使得所有接收该标准时间信号的钟表(或其他计时装置)都与标准时间授时中心的标准时间保持高度同步,进而全部电波钟表显示严格一致的时间。
不同国家的低频时码授时台以不同的频率发射时码信号:
美国,时码代号WWVB,频率为60KHz;
德国,时码代号DCF,频率为77.5 KHz;
英国,时码代号为MSF,频率为60 KHz;
日本两个台,时码代号为JJY,频率分别为40 KHz和60 KHz;
中国,时码代号为BPC,频率为68.5KHz
中国的电波钟发射台位于河南商丘,之所以选择商丘,是因为商丘基本处于中国人口稠密地区的中间位置。见下图
file:///C:\Users\JSH\AppData\Local\Temp\ksohtml\wps73E.tmp.png
在一般条件下,1500Km范围内均可以正常接收发射台发出的授时信号。在气象条件好的情况下2000Km甚至3000Km范围内也可以接收。长波是可以通过天波传输的,可以通过电离层的反射发送更远的距离。
全世界一共有5个国家有授时长波台。分别位于中国,日本(两个),美国,英国,德国。其分布范围见下图:
位于中国东部沿海一般可以收到中国电波钟信号和两个日本电波钟信号,属于比较幸福的一群人了。我现在身处伟大的国际庄,理论上也是可以收到这三种电波钟信号的,但是咱们中国人,肯定要用自己的东西。
闲话少说,发定硬货,电波钟的编码规则。由于中国电波钟是专利目前归属西安的一家公司,是受法律保护的,但是咱们这里只做交流,不用于商业用途,应该不存在什么问题吧。
由于一开始就只关注中国电波钟(以下以英文缩写BPC代替),对其他电波钟的编码规则没有什么了解,总之大概就是用一分钟的时间发送一帧完成的授时信息,处理器通过解析得到正确的时间。BPC编码规则与之类似,但是一帧数据的时间比较短,只有20s,在一分钟内可以发送3帧数据,这样在相同的时间内可以发送更多次的授时数据,以便对接收到的数据进行对比纠错,即提高了授时速度,又保证了数据的可靠性。
BPC编码规则的一帧数据包含20个脉冲,每个脉冲的周期为1s,因此一帧数据需要20s的时间,一分钟发送3帧。其中每帧数据包含一个空脉冲作为帧间隔,实际每帧的有效数据为19个。BPC的编码采用4进制格式,每一位的数值大小用脉冲宽度表示,具体表现为用0.1s代表数据0,0.2s代表数据1,0.3s代表数据2,0.4s代表数据3。
上图为完整的一帧数据格式。其中有5个为是标志位,分别起到不同的作用,如下:
P0 设在每分钟0, 20, 40秒,以缺少秒脉冲使帧与帧隔开,同时作为帧起始预告。
P1 为帧标志, P1=0表示帧起于第1秒, P1=1表示帧起始于21秒, P1=2表示帧起始于41秒。 帧标志是必需的, 它用来确定整分的起始。 例如: 当接收完 一组包含着“10时38分”的时间编码时,如果帧标志标明该帧为第二帧,就可以在下一帧的起始时标定为10时38分41秒,再过20秒便是10时39分的 起始。
P2为预留位。用于需要要扩充信息。
P3 是校验位, 与“午前”, “午后”标志复用。 0和2表示“P1”, “P2”, “时”, “分”,“星期”各位码的值转换成二进制表达式后,其“1”的个为偶 数, 1和 3表示“P1”,“P2”“时”, “分”, “星期”各位码的什转换成二进制表达式后, 其“1”的个数为奇数, 0和1同时表示午前, 2和3同时表示 午后。
P4 是校验位与“年”的最高位利用, 0和2表示“日”“月”“年”的低三位各位码的值转换成二进制表达式后, 其“1”的个数为偶数, 1和3表示“日”“月”“年”的低三位各位码的值转换成二进制表达式后,其“1”的个数为奇数, 0和1同时表示“年”的最高位的值为0,2和3同时表示“年”的最高位的值为1 。
上面都是从网上搜集到的理论知识,下面开始实际测试。我用的模块是2014年从某宝宝上买的,现在那个模块已经没有了。我现在手里的板子是2014年测试的时候焊好的,可以看到明显的灰尘慢慢,还好可以用。
图中左下角是买的模块,右下角是接收天线,以前收音机里很常见的磁棒。右上角是一块手机电池,由于长波信号和开关电源的频率很接近,因此开关电源的干扰可能会影响接收的效果,暂时使用电池供电,后续再测试使用其他方式供电的情况。
下面是用示波器抓取到的一帧完成的授时数据的波形,这个波形是模块解调之后的。但是不知道为什么信号赋值这么小,理论上高电平是可以达到或者接近电源电压的。
这个是完整的一帧数据,但是由于要在一屏上完整显示,时间格调的比较大,很难分清每个脉冲代表的数据。
这个是通过调整示波器时间格分别拍摄并使用PS技术拼接到一块的,可以基本分出脉冲代表的数据了。可以看才出一帧的数据居然有两个数据受到了干扰,出现了异常脉冲,做程序的时候需要处理一下。再来一张刚拼好没有截图的
上图解析出来的数据是2021112032001231010
按照协议分析具体如下:
P1:帧标志:2 41秒 二进制 10
P2:预留位 0 二进制 00
时:21 四进制 2*4 + 1 *1 = 9点 二进制 101
分:112 四进制 1*16 + 1*4 + 2 *1 = 22分 二进制 10110
星期:03 四进制 0*4 + 3 *1 = 星期3 二进制 11
P3:校验位1/午前/午后 2 午后 1的个数为8,偶数;校验正确
日:001 四进制 0*16 + 0*4 + 1 *1 = 1日 二进制 01
月: 23 四进制 2*4 + 3 *1 = 11日 二进制 1011
年:101 四进制 1*16 + 0*4 + 1 *1 = 17年 二进制 10001
P4: 校验位2 0 1的个数为6,偶数;校验正确
解析后的时间为:2017年11月1日下午9点22分41秒,图片拍摄的时间是21点23分,说明解析到的时间是正确的。
目前模块输出的信号幅值才600mV。单片机显然无法辨识这样的高电平,接下来的任务是放大脉冲信号,用单片机解析。
未完待续!!
此内容由EEWORLD论坛网友jishuaihu原创,如需转载或用于商业用途需征得作者同意并注明出处
本帖最后由 jishuaihu 于 2017-11-4 09:45 编辑