打印

自制的可整点报时的电波钟

[复制链接]
3884|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qq278319027|  楼主 | 2014-5-6 19:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qq278319027 于 2014-5-6 19:40 编辑

2014年济南大学
第七届“恒拓•三龙”杯电子电路设计大赛



电波钟




     参赛学生:周胜锋

学校/学院:济南大学自动化与电气工程学院


指导教师:朱殿琪



2014年3月16日
摘要
电波钟表是一种新兴的计时产品,是把原子振动的频率引出作为计时基准。目的是使世界时间同步。主要是为了解决目前石英钟表的精确度问题。石英钟表较机械钟表已准确很多,但日差仍有一秒半秒的误差。这种误差对于人们的日常生活没有多大的影响和更正的必要,但对于军事和科学实验,就是要解决的大问题。在一些重要场合,误差在0.01秒之间,结果也会失之千里。
本作品通过BPC接收模块接收来自中国标准授时中心的带有时间信息的电波,由单片机解码得出精准的时间。通过定点校时消除电波钟走时的累积误差,达到时钟的精准。通过数码管显示具体时间,用语音模块实现了整点报时及多个闹钟功能。该电波钟适用于对时间精度要求很高的场合,操作简单、方便。

关键词:BPC接收  校时 单片机  整点报时  多个闹钟

Abstract
Waves clock is a new kind of timing products, is to lead the atomic vibration frequency as timing benchmark. The purpose is to make the world time synchronization. Mainly to solve the problem of current quartz clock precision. Quartz clock accurately than mechanical clock has a lot of, but the error of the poor, there are still one and a half seconds seconds. This error did not have much influence on People's Daily lives and correction is necessary, but for the military and scientific experiment, is to solve the problem. On some important occasions, error in 0.01 seconds, the result will be a mile.
This work by the BPC receiving module receives from the center of the China standard timing with waves of time information, accuracy is obtained by microcontroller decoding time. Eliminated by the designated school waves clock as cumulative error, and achieve the clock precision. Through digital tube display specific time, with the voice module implements the hour and multiple alarm clock function. The waves suitable for time clock requiring high precision, simple operation, convenient.
Keywords: The BPC receive  timing  singlechip  on time alarm

目录
摘要        I
Abstract        II
目录        III
一 设计任务        1
1.1设计任务        1
1.2技术指标        1
1.3题目评析        1
1.4题目完成情况        1
二 方案设计及论证        2
2.1系统方案设计        2
2.1.1系统方案选择        2
2.1.2结构框图        2
2.2系统方案论证        3
2.2.1电波信号接收方式        3
2.2.2主控芯片选择        3
三 系统硬件设计        4
3.1电波信号接收及其电平转换模块        4
3.2电压转换模块        5
3.3功放模块        5
四 软件设计        6
4.1 BPC电波解码        6
4.2按键切换        7
4.3语音播放        7
五 系统测试与数据分析        7
5.1电波信号接收检测        7
5.2电波信号解码调试        8
六 结语        9
参考文献        10
致谢        11
附录        12
附录1  部分原理图和实物图        12
附录2  部分源程序        13

一 设计任务
1.1设计任务
电波钟通过BPC电波信号接收模块接收信号,单片机把它解码后用数码管显示年月日、时分秒。通过每天特定时间校时消除走时的累积误差,保证了电波钟走时的精准。通过语音模块实现了人声整点报时,可设置多个闹钟,采用电池供电,系统工作稳定,功能完善,功耗较低。
1.2技术指标
电波钟走时精准,误差在几毫秒内,系统低功耗,长时间工作无明显发热现象。除BPC接收模块采用3.3V供电,其余模块均采用5V供电,相应电源均由可充电电池转压得来。由于单片机的供电电压与BPC接收模块的不同,要实现两者间的通信,需要可靠的电平转换电路。
1.3题目评析
由于包含中国标准授时中心信息的BPC码是保密的,解码BPC电波信号是本题的难点。解码既是本题的关键,又是设计最基本的步骤。其次是题目要求用数码管显示时间,由于数码管管脚数较多,焊接难度大,且占用单片机IO口较多,使其他外围电路设计难度增大。再次是电波信号易受外界环境干扰,需要外加信号处理电路。
1.4题目完成情况
本电波钟在实现精准走时的基础上达到了毫秒级的误差。可用数码管显示完整的时间信息,且能每天在特定时刻接收电波,校正走时误差。能整点报时和设置多个闹钟。电波钟整体设计美观,整个系统工作稳定,经测试,可持续工作很长一段时间且无明显发热现象。经过努力,本团队设计的电波钟在完全达到题目的基本要求的前提下完美的完成了发挥部分的设计。

二 方案设计及论证
2.1系统方案设计
2.1.1系统方案选择
在对本方案的系统设计时,首先考虑的就是BPC码接收模块的稳定性处理,由于该模块每接收一次电波信号需要20秒,而处理器选用的是单线程的STC89C52单片机,电波信号处理的时候处理器不能执行其他工作,所以程序的设计主要是以解码模块为中心。除了解码模块工作期间,数码管实时显示当前时间,闹钟设置与整点报时均可正常进行。
2.1.2结构框图
该系统以STC89C52单片机为中心控制各个模块,使它们协调工作。BPC信号接收模块将带有时间信息的无线电波接收后输出给电平转换电路处理,处理后的信号再交给单片机解码。解码后实时显示在数码管上,通过按键实现闹钟的设置,通过语音模块实现人声整点报时和音乐闹钟。模块电源由一块可充电电池提供,不同的电压通过转压后得到。



图2.1 结构框图

2.2系统方案论证
2.2.1电波信号接收方式
方案一:电波钟时刻接收电波信号并将它解码显示在数码管上,以便实现精准时间时时更新。该方法保证了电波钟走时准确,不产生累积误差,符合电波钟的设计初衷。但是接收信号时显示模块工作会受影响。
方案二:采用定点校时的方法消除走时的累积误差,实现精准走时。例如:在每天晚上凌晨1点、2点、3点任一时刻接收电波信号校时,只要其中一个时刻接收到正确信号,接下来就不接收。也就是每天校准时间一次。
方案论证:由于电波信号本身的精确度极高,每天校准时间一次完全可以达到精准走时的目的。且方案二的程序实现起来比较容易,数码管和其他模块工作均不受影响。故采用第二种方案。
2.2.2主控芯片选择
方案一:应用STC89C52单片机,STC89C52单片机模块是一款常用的单片机。该单片机操作简单、价格便宜、系统稳定,市面上关于此单片机的资料也比较多。使用此芯片基本可以实现系统正常工作。
方案二:MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。具有强大的处理效率和超低功耗的工作模式。
方案论证:考虑到本系统的各个功能的要求,虽然MSP430f149单片机强大的处理能力,低功耗,多功能等特性显然符合我们的要求,但STC89C52RC单片机是一个价格低廉的单片机,其工作性能完全可以满足本系统的工作要求。所以选择了STC89C52RC9单片机作为本系统的主控芯片。

三 系统硬件设计
电波钟的硬件设计是该系统设计中最重要的部分,直接影响着软件调试过程和结果的精确性。必 须保证硬件电路的稳定性和负载平台的精确性、合理性。本系统的硬件设计包括BPC接收模块、数码管显示模块、语音模块和按键显示模块。经过努力,实现了各模块的协调稳定工作。

图3.1  系统硬件图
3.1电波信号接收及其电平转换模块
此模块的好坏直接决定了电波钟工作的稳定性和准确性,故对电路的设计要求高。由于电波信号易受外界环境影响而出现乱码错码等问题,所以该模块的信号处理电路显得尤为重要。该模块在接收到电波信号后通过电平转换模块后输出稳定的信号输出给单片机解码。

图3.2  电波信号接收及处理模块

3.2电压转换模块
由于电池是5V的,而电波信号接收模块所需的工作电压为3.3V,所以需要转压电路把5v转成稳定的3.3V电压。电压的稳定关系到整个系统的工作性能。本模块采用SPX117芯片将电池的5V转成3.3V为信号接收模块供电。


图3.3  电压转换电路
3.3功放模块
为了使语音模块能更出色的达到报时效果,该模块采用了使喇叭音量放大的功放电路,经过比较,使用功放电路的效果比不使用时的完全不同,经过放大处理后,语音清晰且音量明显增大。


图3.4  喇叭放大电路

四 软件设计
作品上电后先接收一次电波信号,解码后显示在数码管上,然后一直检测是否到达了设定的校时时刻,校时时刻是每天早上2,3,4点。到了校时时刻后接收一次电波,若接收信号正确,接下来的校时时刻就不接收。也就是每天只接收并解码一次电波信号。接下来就一直进行闹钟检测,按键检测和数码管实时显示。

图4.1 系统流程图
4.1 BPC电波解码
BPC因发播呼号“BPC”而得名,是低频时码授时技术在中国的实施格式。通过单片机对其解码是电波钟制作最基本也是最重要的一步,通过示波器对电波信号的分析及网上查找资料得到了以下BPC编码格式,解码程序的设计就是根据这个编码规则进行的。

图4.2 BPC码编码格式
4.2按键切换
电波钟设计使用了四个独立弹性按键,由这四个按键需要完成时间调整,多个闹钟设置、功能切换等功能,难度较大,期间处理各变量的逻辑关系花了相当一部分时间。
4.3语音播放
该模块采用的是ISD1760语音芯片,主控单片机主要通过四线(SCLK,MOSI,MISO,/SS)SPI协议对ISD1760进行串行通信。ISD1760作为从机,几乎所有的操作都可以通过这个SPI协议来完成。对该模块进行操作时,首先将需要的语音录入芯片,然后通过总线操作及程序调试逐步确定各个语音段的地址,需要时调用该地址进行播放即可。
五 系统测试与数据分析
在软件调试之前,首先对硬件模块的物理量进行了测试。测试出这些物理量将更加有助于下面的软件调试工作。因为软件的调试是基于硬件的可靠性及稳定性之上的。最后对系统整体测试,以确定各模块运行的正常性,根据数据进行分析与改进。
5.1电波信号接收检测
时码信号帧周期为20秒,每分钟包含三帧;以秒脉冲宽度表示四进制数的0,1,2,3,以四进制数表示相应的“分”,“时”,“日”,“月”,“年”,“星期”等时间信息;以帧标志表示帧所在的时间段,以缺少秒脉冲作为帧间隔和帧预告标志;采用码位复用技术。接收到的脉冲信号是方波且电平高低变化明显。脉冲采用的是负脉冲,即低电平100毫秒再高电平900毫秒表示四进制0,低电平200毫秒再高电平800毫秒表示四进制1,依次类推得到各个位的数据。用示波器对接收到的信号进行检测。通过检测发现,示波器显示的波形和先前得到的BPC编码规则对应的波形基本一致,由此确定了电波信号的解码方法。

图5.1示波器显示电波信号

5.2电波信号解码调试
方波秒脉冲有0.1S,0.2S,0.3S,0.4S四种脉冲宽度状态,分别表示四进制的0, 1, 2, 3, 采用四进制数表示时间信息增加了每位码位的信息容量。现有的时间编码都以二进制表示时间信息,图中,各秒内的数字为权值,如日数权值为16的位接收到0,权值为4的位接收到3,权值为1的位接收到3,这表示日数是16*0+4*3+1*3=13日。是为了采用微处理器解码方便。用单片机采集几组数据进行分析。根据编码规则解码后对比当前时间。

脉冲宽(100毫秒)        3        1        13        323        21        4        142        14        143        1
4进制                                2         0        02        212         10    3            031  03          032        0
信息:14年3月13日2时38分41秒,星期五
脉冲宽(100毫秒)           1           1            13         324        21        4             142  14          143        1
4进制                                0         0           02          213        10        3             031         03          032        0
信息:14年3月13日2时39分01秒,星期五

图5.2信号采集分析


六 结语
从这个项目启动以来,我们团队就一刻没有放松过,从开始的选材到后来的模块测试和模块整合,我们始终保持着高昂的奋斗状态。在设计电路方面我们遇到了很多的困难,不过经过我们及时查找资料和耐心的琢磨都一一克服了,充分认识到模拟电路和数字电路的重要性,在实践中拓展了模拟电路和数字电路的知识,使我们认识到了模拟电路与数字电路在实际电路中的设计与使用方法与技巧,也深深地领悟到学习是永无止境的,许多的使用技巧在书中是学习不到的,只有在实践中才能领悟到。通过编写程序极大地提高了我们的语言编程能力,使我们充分的认识了c语言指针的使用方法及技巧。
在充满挑战的路途中奋斗是非常磨练人的,更是幸福的。从刚开始项目制作,到最终完成它,我和我们团队始终保持着高度的热情和满满的信心。从刚开始的,慢慢磨合到最后的默契合作,我们收获的不仅仅是技术上的,更多的是我们对团队合作的认识和理解。团队的高效合作不仅可以提高工作效率,团队中各个人的智慧也是对完善项目的强大支撑。
一帆风顺的进行项目制作是难以想象的,在充满崎岖的路上行走才是值得回味的,在项目过程中,我们遇到了一个个没有预料到的困难,虽然有时候有一种挫败的感觉,但是我们都静下心来,在大家的各种方法中一个个的把错误化解,最终达到了预期状态。合作和创新是我和我们团队得到的最大收获。在未来的日子里,我们一定会把这些收获付诸现实,在追求知识的路途中走得更远。

参考文献
[1]周杰.基于PIC单片机的电波钟设计.南京信息工程大学.2010年4月
[2]樊培彩. 基于广播信号的电波钟解码设计与实现. 中国海洋大学.2007.
[3]童诗白.模拟电子技术基础(第四版).高等教育出版社.2006.
[4]黄继昌.电子元器件应用手册.人民邮电出版社.2004.
[5] Meehan Joanne,Muir Lindsey.SCM in Merseyside SME.Benefits and barriers[J].2008
[6] Yeager Brent.How to troubleshoot your electronic scale[J].Powder and Bulk Engineering.1995
[7]郭天祥.51单片机c语言教程.电子工业出版社.2009年1月
[8]张鲁.单片机原理及应用.机械工业出版社.2007年4月
[9]李广弟.单片机基础[M].北京航空航天大学出版社.1994年6月
[10]谭浩强.C程序设计(第三版).清华大学出版社.2005年

致谢
项目启动以来,在朱老师悉心的指导下,我们团队解决了一个个意想不到的困难,一步步走向成功的殿堂,完成了这次项目的制作。这次项目的完成增强了我们接受新知识挑战新事物的能力,培养了我们分析问题解决问题的能力,提升了我们团队每一个人的整体创新意识。该设计的完成也提高了我们的动手实践能力,激发了我们学习专业文化知识的兴趣,为我们完成大学以后课程的学习打下了坚实的基础。项目申请开始以来,我们将课余时间几乎全部投在实验室设计产品,养成了谦虚谨慎,艰苦奋斗的科研态度,为我们以后的工作和学习奠定了基础。所有的这一切都是我们一生的财富,我们感谢这次电路设计大赛给我们带来的巨大收获。
本课题在选题及研究过程中得到朱老师的亲切关怀。朱老师严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我们。从课题的选择到项目的最终完成,朱老师都始终给予我细心的指导和不懈的支持。朱老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向朱老师致以诚挚的谢意和崇高的敬意。
项目的圆满完成离不开周围良好的学习环境。在本文完成之际,我代表整个团队诚挚的感谢学校的组织和筹划,感谢您给我们提供这个展示自我的舞台。同时还要感谢像朱老师一样一直支持我们的所有老师和同学,我再次代表团队向他们表示深深的敬意和诚挚的谢意,谢谢你们!

附录
附录1  部分原理图和实物图

附图1.1 单片机最小系统原理图




附图1.2 BPC接收模块
附录2  部分源程序
#include <reg52.h>
#include “jiema.h”
#include “delay.h”
sbit MKin=P2^1;              //电波钟解码程序
char xiaoshi=0,fenzon=0,xinqi=0,ri=0,yue=0,nian=0,wu=0,miao=0;
uint shu=0;
uchar a[17];
void Zuan_Huan()
{
        uchar k;
        duo_MoKuai();   //读电波钟模块
        for(k=0;k<17;k++)
        {
          if((38<a[k])&&(a[k])<43)      a[k]=3;                  
          else if(28<(a[k])&&(a[k])<33) a[k]=2;                  
          else if(18<(a[k])&&(a[k])<23) a[k]=1;
          else if(7<(a[k])&&(a[k])<13)  a[k]=0;         
                    //接收的电波是负脉冲 ,低电平持续100ms为0  
                    //持续 200ms为1  持续300ms为2  持续 400ms为3
        }
        xiaoshi=((a[0])*4)+(a[1]);
        fenzon=(((a[2])*16)+((a[3])*4)+(a[4]));
   xinqi=((a[5])*4)+(a[6]);
        ri=((a[7])*16)+((a[8])*4)+a[9];                                // 换算方式
        yue=((a[10])*4)+a[11];
        nian=((a[12])*16)+((a[13])*4)+a[14];
        wu=a[15];                                 //0和1表示上午 2和3表示下午
        miao=a[16];                         // 0表示1秒 1表示21秒 2表示41秒
    if(miao==0)
        {         
          miao=18;
        }
        if(miao==1)
        {
          miao=38;
        }
        if(miao==2)
        {
          miao=57;
        }
        if(wu>1)
        {
          xiaoshi=xiaoshi+12;          //时间处理
        }
}                                         

电波钟-周胜锋(修改) 终极n.pdf

725.02 KB

电波钟教程

相关帖子

沙发
Frank2013| | 2014-5-7 16:24 | 只看该作者
顶一个,

使用特权

评论回复
板凳
swykswlm| | 2014-5-24 22:42 | 只看该作者
全部啊

使用特权

评论回复
地板
余135| | 2014-6-1 10:04 | 只看该作者
我一直在学习!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝