关键词: Protues; 脉冲宽度; 精确测量; 仿真测试
Design and simulation of pulse width measuring circuit based on Protues
XU Chang?an
(Wanjiang College of Anhui Normal University, Wuhu 241008, China)
Keywords: Protues; pulse winth; accurate measurement; simulation testing
1 脉冲宽度的测量方法
1.1 连续脉冲宽度的测量[3]
对于单脉冲宽度的测量,一般按照图2方法进行测量[4],先由振荡器(一般为高稳定度的石英振荡器)产生一定频率的方波,通过一个门控电路送给计数器进行计数,计数器计数值的多少和振荡器的周期的大小反应了门控电路接通时间的长短,如用被测脉冲来控制门控电路,则可以测出该脉冲的宽度,测量精度主要取决于振荡器振荡频率的稳定度和计数器计数值的精确度。
E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\09T1.tif
图1 连续脉冲波形
图2 测量脉冲宽度方框图
对于图2的实现,可以采用一般的数字电路芯片来完成,辅助以脉冲整形、通道触发控制等电路,系统较为复杂,稳定度和精度都难以保证。采用单片机作为该电路的控制核心,在电路得到简化的同时,稳定度和精度都会大大提高。
2 单片机控制脉冲宽度的测量
2.1 单片机控制脉宽测量电路的原理及硬件电路
单片机控制脉宽测量电路框图如图3所示,被测信号直接送单片机芯片,利用单片机内部的时钟信号和定时/计数部件完成测量任务,同时还可通过编程应用相应的算法进行测量数据的处理,结果直接送显示电路显示即可。
E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\09T3.tif
图3 单片机控制脉宽测量方框图
图4 脉宽测量硬件电路图
2.2 单片机控制脉宽测量电路的软件设计
图5为测试主程序流程图,先初始化相应寄存器,然后等待测试请求按键K2按下,K2按下后,进入测试子程序。测试子程序先等待被测脉冲电位变低,低电位时置TR0为“1”,在被测脉冲上升沿到来时启动T0计数,下降沿时停止计数,最后读出T0的计数值[6]。数据处理子程序首先完成数据十六进制到十进制的转换[7],然后将每一位要显示的数字转换成ASCII码送相应的显示缓冲区单元。显示子程序先在第一行显示“Please press button:”字样等待测试命令,测试完成后在第二行显示测试的具体值。
E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\09T5.tif
图5 主程序流程图
2.3 单片机控制脉宽测量电路的Protues仿真测试
在protues仿真软件中建立图4所示电路,编写程序,调试好后生成.hex文件装入AT89C51,仿真结果电路工作正常,等待测试(或复位后)和测试结束时的液晶显示情况见图6和图7。
E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\09T6.tif
图6 复位时的显示图
采用Protues自带的Dclock作为输入脉冲,通过Dclock的属性对话框修改其脉宽,在输入频率为8 Hz~50 kHz范围内误差很小,小于6 Hz或大于60 kHz时测试结果不正常,显示为0。具体的参数测试结果见表1,从表中可以看出该脉宽测试电路在相应频段有较高的精度。
E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\09T7.tif
图7 测试结果显示图
表1 测试结果表
3 结 语
该脉宽测量电路由于采用单片机芯片控制,所以电路结构简单、成本低,同时可靠性和稳定性大大提高;由于采用液晶显示,所以控制简单,显示直观明了且位数较长。实际电路使用时要注意几点:第一,可通过提高单片机的性能和适当增加单片机的晶振频率来降低测量脉宽的下限值;通过编程增大单片机计数器的计数值来提高测量脉宽的上限值。第二,仿真时只简单地采用protues内部的DCLOCK作为输入脉冲,实际电路可能需要对输入脉冲进行整形处理。第三,protues仿真测试数据和实际测试数据之间存在误差(如实际测试时输入脉冲频率大于50 kHz不会显示为0),具体参数以实际电路的测试结果为准。
参考文献
[4] 谢行恕,康士秀,霍剑青.大学物理实验[M].北京:高等教育出版社,2001.
[5] 范立南,谢子殿.单片机原理及应用教程[M].北京:北京大学出版社,2006.
[6] 张毅刚,彭喜元,彭宇.单片机原理及应用[M].北京:高等教育出版社,2010.
[7] 姜志海,黄玉清,刘连鑫.单片机原理及应用[M].北京:电子工业出版社,2009.