摘要:介绍一种测频仪的设计方案,并将此仪器应用到云南天文台丽江2.4m望远镜圆顶温度的测量工作中。详细阐述了PIC18F452自带的CCP模块的测频原理,同时给出了仪器软硬件的设计思路,最后在Proteus中对系统进行了仿真测试。测试结果表明了该方案的可行性。该仪器的研制也为西部望远镜的选址工作提供了一种有效的测量工具。
通过频率的测量来间接地获取温度数据是检测天文望远镜圆顶温度的常用方法。频率信号不但具有较强的抗干扰能力,而且易于传输。因此将望远镜圆顶附近的温度传感器所产生的电信号转换为频率信号,然后对频率信号进行测量和采集,最终再通过一些确定的函数关系把频率值转换为温度值。该方案与直接测量温度的方法相比,可操作性更强。
1 PIC18F452的测频原理
PIC18F452是美国Microchip公司生产的一款高性能的8位单片机,其片上资源十分丰富,本文设计的测频仪就是使用该单片机的CCP1(捕捉/比较/脉宽调制)模块的捕捉功能来实现的,CCP1模块工作在捕捉模式下的功能框图如图1所示。
在捕捉模式下,每当CCP引脚上有下列事件之一发生时:每个下降沿发生、每个上升沿发生、每4个上升沿发生、每16个上升沿发生,CCP R1H:CCPR1L就会捕捉TMR1或TMR3寄存器的16位计数值,即记录下事件发生的时刻,使用CCP模块的这个功能就可以实现频率的测量。
使用PIC18F452进行频率测量的原理如图2所示:设置CCP模块工作于捕捉模式,并且让它在每个上升沿捕捉一次数据,由相邻两个上升沿到来的时间差就可以得到被测脉冲的周期,从而也就得到了脉冲的频率。
2 测频仪的软硬件设计
2.1 硬件电路设计
测频仪的硬件电路主要包括两个方面:频率测量电路和数据通信电路。频率测量是指使用PIC18F452的CCP模块测量外部脉冲信号的频率;数据通信是指将测量得到的数据通过串口传至PC机进行处理。测频仪的硬件电路如图3所示。
2.2 软件设计
软件的主要功能就是设置相关的功能模块来配合硬件实现频率的采集与数据的上传,为了达到实时采集的目的,CCP模块使用中断方式进行捕捉。测频仪与PC机采用主从式通信,PIC18F452根据PC机发来的不同指令进行相关的操作,指令共有两种:开始采集和停止采集。当接收到“开始采集”命令时,PIC18F452就启动CCP模块进行频率的测量并把测量结果通过串口上传到PC机;当接收到“停止采集”的命令时,PIC18F452就关闭CCP模块,同时停止上传数据,然后继续等待上位机的命令。测频仪的软件流程图如图4所示。
3 仿真分析
使用软件仿真的方法不但可以在理论上验证设计的可行性,而且也降低了开发的成本和开发难度,这种技术在基于单片机的开发中是非常有用的。
Proteus是英国Labcenter公司开发的一款电路分析与实物仿真软件,可以仿真、分析多种模拟器件和集成电路,功能非常强大,同时该软件还支持多种型号的单片机,如AVR,PIC,MCS-51等。更可贵的是该软件可以与Microchip公司的MPLAB集成开发环境进行无缝连接,从而也可以进行程序的单步调试,整个操作也十分简单,只要用MPLAB将源程序编译成HEX文件导人到Proteus中的电路图中即可继续仿真测试,测试所用的电路原理图如图5所示。
关于这个仿真原理图有以下几点需要说明:
(1)仿真的目的是为了验证所关心的CCP模块的工作情况,所以图中省略了PIC18F452的晶振电路和复位电路,其实它们都不会影响程序运行的结果。
(2)串口通信部分所使用的仿真元件(COMPIM)不需要进行电平转换,只要安装上虚拟串口并设置仿真元件的相关属性就可以实现Proteus中的PIC18F452与PC机进行通信,所以图中省略了MAX232电平转换芯片。
(3)COMPIM仅仅是提供一种物理连接上的映射关系,所以这里的RxD引脚和TxD引脚的连接方式是按照对应关系连接的,在实际的硬件电路中还是要按照硬件电路图(见图3)去连线。
当以上工作进行完毕之后,就可以对设计的电路进行仿真调试了,程序的仿真结果如图6所示。
从图6可以看出,PIC18F452已经测出了设定的几个输入频率的数值,仿真结果表明该方案可行。
4 硬件电路的测试
仿真通过之后,就可以按照图3搭建硬件电路来进行硬件的运行测试。在此使用VB 6.0来编写上位机软件,同时配合Access数据库来存储PIC18F452上传的频率数据。系统的运行效果如图7,图8所示。
5 结语
目前,测频仪已经被成功地应用到了云南天文台丽江2.4 m圆顶的温度采集工作中。今后还会对仪器进行扩展和完善(例如,在仪器上增加数据存储模块),到时该仪器将可以适应野外的工作环境,这对于即将开始的西部望远镜的选址工作具有非常现实的意义。