长期以来,学校、工厂等单位常用的打铃仪多采用单片机计时,计时误差每天达0.5 s,日积月累走时误差会达数分钟,甚至十多分钟,给管理造成不便。近几年来,高校、企业规模不断扩大,多校区、多厂区的企事业单位不断增多。这些学校、企事业单位强烈要求多校区、多厂区的上下课、上下班铃声保持同步,可实际情况因现有打铃仪走时误差而极难同步。本文提出的基于gps信号接收和pic单片机的智能打铃仪,走时 ,误差极小。只要多校区、多厂区的企事业单位的响铃时间设置相同,便可使铃声保持同步,误差小于1 s。
打铃仪硬件设计
本文介绍的打铃仪电路结构框图如图1所示。它主要由电源电路、微处理器、gps接收、按键电路、液晶显示、温度检测、声光提示、控制输出电路构成。
基于pic单片机和gps信号接收电路实现智能打铃仪的应用方案
接收电路
(global positioning system, 定位系统)是美国从20世纪70年代开始研制的,历时20年,耗资200亿美元,于1994年全面建成;是具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。gps具有全天候、高 、自动化、高效率等显著特点,具有定位导航、授时校频、精密测量等多方面的强大功能。
本设计方案是利用gps接收电路接收解调gps信号,从中提取时问信号作为打铃仪的时间基准。因gps信号中的时间是由铯原子钟产生的,时间 极高,故而可使打铃仪的计时 很高,计时误差远小于1 s。
接收电路如图2所示,由gps天线和gps模块组成。
天线将1 575.42 mhz的高频信号接收下来,送往gps模块进行低噪声放大、变频转换为中频信号;中频信号经采样、量化后,转换为数字中频信号;数字中频信号进入相关通道,经过处理后,解译出导航电文;gps模块内微处理器接收导航电文数据,并进行相应处理后串行输出定位、时间、速度等信息。
模块采用gs-312。该模块内的基带处理采用sirf公司的star iii架构芯片组。该芯片组配备20万个相关器,具有-159 dbm的接收灵敏度,且功耗低。该模块的各个引脚功能如表1所列。
的8脚应当外接电池。如不接电池,当系统主电源断电后重新上电时,gs-312为冷启动,其初次接收gps信号并成功输出定位时间信息 长时间达42 s;若接上电池,当系统主电源断电后重新上电时,gps模块为热启动,其初次接收gps信号并成功输出定位时间信息仅需1 s。
在某些使用场合,gps天线与系统线路板之间距离较远才能较好地接收到gps信号,故而采用rs422标准进行较远距离的gps解调输出信号的传送。电路如图2所示,在具体工程中将ic2和gps模块单独制作成室外单元,通过八芯电缆与室内主电路的ic1及电源相连。
是eia推荐的“平衡式电压数字接口电路的电气特性标准”。该标准是为改善rs-232c且与rs-232c兼容而制定的。它的特点是采用平衡传送,差分接收方式。其中发送接收一个信号均用两条线,而完全不使用信号地,且数据传送更远,抗干扰能力更强。maxim公司的max488收发器芯片满足rs-232、rs- 422、rs-485通信标准,该芯片内含有1个驱动器和1个接收器,同时具有低功耗、单 5 v供电、驱动器过载保护、无需外接元件等特点,其共模输入电压范围为-7~ 12 v,因而应用广泛。max488的引脚功能如表2所列。
通过传输线驱动器把逻辑电平转换为电位差信号以完成初始端的信息传送,而通过传输线接收器把电位差转换为逻辑电平实现终端的信息接收,该传输形式能提高系统的抗干扰能力以及传输距离。图2中ic1的驱动器反相输出端 (6z)和非反相输出端(5y)接到ic2接收器反相输入端(7b)和非反相输入端(8a),而把icl的接收器反相输入端(7b)和非反相输入端 (8a)接到ic2的驱动器反相输出端(6z)和非反相输出端(5y),从而构成一个较远距离的全双工通信。该电路的通信速率 可达0.25 mbps,经实验可靠通信距离可达20 m以上。
其他硬件电路
微处理器采用microchip公司的 pic16f873。该芯片采用14位类risc指令系统,片内资源丰富,内含a/d转换器、eeprom等,使打铃仪省去外接a/d转换电路和 eeprom芯片,简化了系统电路。该芯片还支持在线编程,易于进行软件调试、升级。
图3打铃仪电路中的电源电路部分含有60 mah充电电池构成的备份电源。单片机由r1和r2的分压电压可判断主电源是否掉电。当主电源有电时,5 v直流电压经d1后为gps接收模块和单片机供电,经r3限流后为电池bat1提供涓流充电;当主电源掉电时,电池bat1经d2后为单片机和gps接收模块供电,以保证系统主电源掉电时系统依然能正常走时,但系统停止其他功能。r4和热敏电阻rt1的分压电压随环境温度的变化而变化,单片机对该分压电压进行a/d转换,再查表可测出环境温度。蜂鸣器bak1和发光二极管led1为按键按下有效及响铃输出的声光提示。单片机控制继电器j1决定外接电铃是否响铃。接按键的5个i/o引脚的内部上拉电阻打开。液晶显示模块yds12864与单片机采用串行口相连,以中文方式显示当前年、月、日、时、分、秒、星期、温度等信息及系统设置时的提示信息。
打铃仪软件设计
协议
几乎所有gps接收模块的串行输出数据格式都遵循美国国家海洋电子协会nmea(national marine electronics association)所指定的标准规格。这一标准制订所有航海电子仪器间的通信标准,其中包含传输资料的格式以及传输资料的通信协议。nmea协议有 0180、0182和0183三种,0183可以认为是前两种的超集,现正广泛使用。nmea-0183协议的数据格式为1个起始位、8个数据位、1个停止位、无奇偶校验位,波特率为300、600、1 200、2 400、4 800、9 600、19 200;其输出数据为ascii码,语句包括gpgga、gpgll、gpgsa、gprmc、gpgsv、gpvtg等,各语句内含内容各不一样。含有年月日时分秒数据的gprmc语句输出格式为:$gprmc,《1》,《2》,《3》,《4》,《5》,《6》,《7》,《8》,《9》,《10》,《11》。以“lf”表示该帧数据结束。例如:$gprmc,102521.231,a,3143.2679,n,13432.2134,e,0.9,309.62,101299,,*10。具体意义如表3所列。
数据读取
每秒更新输出数据1次,可用串口中断方式读取。nmea-0183协议每一语句内含的各个内容均以逗号隔开,可以通过判断逗号的个数,识别时间数据和日期数据,其流程如图4所示。
主程序设计
打铃仪主程序流程如图5所示,程序结构采用散转结构,该结构抗干扰能力强,程序跑飞能自动重人。按键子程序含有长按功能,在设置响铃时间时利用按键长按功能便于快速设置。用户可长按即时响铃键实现即时响铃功能,以避免误按响铃。
打铃仪设计的注意问题
天线部分的pcb设计很重要,它直接关系到gps信号的接收效果。本设计采用的是无源天线,天线接收下来的信号进入gps模块的rf引脚之前的一段pcb走线要求具有50 ω的匹配阻抗。
模块 gps-312串行输出默认波特率为4 800,通常情况下,该波特率满足需求。
模块gps-312输出时间为格林尼治时间,应转换为北京时间,即在gs-312输出时间的小时位加上8。应注意,在格林尼治时间的16:00-24:00之间加8后时间格式的转变,同时日期要加1。
结语
采用gps时间为基准的打铃仪已经批量生产。用户实用证明,该机走时 、使用方便、人机交互友好;缺点是在收不到gps信号的场合,依靠晶振分频计时与普通打铃仪一样存在计时误差。本设计采用rs422协议将gps接收到的信号进行较远距离传送,只要将室外单元放在开阔地,便可较好地解决收不到gps信号的问题。
本方案稍加改进,即可方便地应用于走时极为准确的万年历或时间控制器。该时间控制器可以方便地实现多机同步控制。可见,本方案具有一定的推广价值。
『本文转载自网络,u球体育app下载的版权归原作者所有,如有侵权请联系删除』