老古开发网首页
导航:老古开发网首页文章索引文章分类测试测量→[一种高精度智能毫秒计的设计]
| -文章搜索 - 最新文章 - |

一种高精度智能毫秒计的设计

发布时间:2006年5月18日 点击次数:322
来源:电子产品世界   作者:武汉理工大学 沈维聪
 

毫秒计时的启、停控制逻辑

    毫秒计在电力行业中通常用于测量继电器或某个控制装置从发出启动指令到实际执行完成的间隔时间,因其间隔时间为毫秒级,故计时器通常采用毫秒计。在实际使用中,计时器的启动与停止控制不是仅仅由一级开关量(某一个单独的开关)所控制,而常常是由二级开关量控制,即先由两个开关量决定计时器的启、停控制逻辑,再由这个启、停控制逻辑控制计时器的启动与停止。

    设启动开关量为A,停止开关量为B,启、停控制逻辑为C(C=“1”为计时,C=“0”为停止计时),则有:

    其中;开关量A可有两个逻辑状态(“1”或“0”),同样开关量B也可有两个逻辑状态(“1”或“0”),这样,计时器的启、停控制逻辑有下列真值表。

状态 启动(C=“1”) 停止(C=“0”)
1 A=“1”∧B=“0” B=“1”vA=“0”
2 A=“1”∧B=“1” B=“0”vA=“0”
3 A=“0”∧B=“0” B=“1”vA=“1”
4 A=“0”∧B=“1” B=“0”vA=“1”

    为了精确地获得控制逻辑C,我们必须通过硬件逻辑电路,将A、B两个开关量转换成控制逻辑C。利用TTL集成电路工作电压为+5V时,其逻辑“1”的电平为+3V~+5V、逻辑“0”的电平为0V~+2V的特性,并设开关量“闭合”为“1”、“断开”为“0”。则对控制逻辑C 可作如下(图2)设计:

    在“状态1”图中,R1的作用是当A、B都闭合时作限流之用,R2的作用是当A、B都断开时作下拉电阻之用。因此,R1、R2应满足5V×R2/(R1+R2)>3.0V;5V/R1<2mA。同样,在“状态2”图中,R1、R2应满足5V×R2/(R1+R2)>3.0V;5V/(R1+R2)<2mA。在“状态3”图中,R1应满足5V/R1<2mA。在“状态4”图中,R1、R2应满足5V×R2/(R1+R2)>3.0V;5V/R1<2mA。

受单片机控制的启、停控制逻辑实际电路

    在MCS-51系列单片机中,其CTC(定时/计数器)的工作方式寄存器中有一GATE位,该位为“1”时所对应CTC的启动与停止可由特定的外部引脚上的逻辑电平所控制,“1”为启动,“0”为停止。有了这个控制逻辑C,我们就可以将它引入单片机,由单片机作精确计时。四种计时状态也可由单片机来选择。为了简化设计并方便使用,笔者采用了四片4066(四双向模拟开关)对图2中的R1、R2进行了四种组合(见图3),以满足四种状态的逻辑要求。计时器为8031的T0,故计时器的启动与停止由P3.2引脚上的逻辑电平所控制。

    图中4066(1)~4066(4)分别由P3.0、P3.1、P3.4、P3.5控制,P3.0、P3.1、P3.4、P3.5在任一时刻仅有其中的一个有效(“1”有效)。当4066的第5、6、12、13脚为高电平(“1”)时,则1~2、3~4、8~9、10~11引脚连通,为低电平(“0”)时则断开。这样,任一时刻就只能有一片4066有效。实际中,A、B开关的一端通常是要接地的,所以笔者使用了两片4N30对开关量A、B的接法作了一个转换,当开关闭合时c、e连通,反之,则c、e断开。当P3.0为“1”时,4066(1)被选中,其它无效。此时,A、B开关量与计时器启、停控制逻辑的关系就是图2中的状态1(此时R1=2kΩ、R2=3.3kΩ)。同样,当4066(2)、4066(3)、4066(4)分别被选中时,就分别对应图2中的状态2至状态4。图3中的74LS04是对启、停控制逻辑电平进行整形,使8031的P3.2引脚获得标准的逻辑电平。

软件设计

    软件任务主要有三个:①键盘扫描,确定计时方式;②精确计时;③显示计时结果。为节省篇幅,在此仅介绍软件的关键之处和特色部分。

    现对8031的资源作如下分配:T0用作计时器;8位初值自动装入;定时方式(计算8031的机器周期);门控(P3.2为高电平计数);初值9CH(-100 MHz);5位BCD码显示窗口;显示缓冲区为R7、R6、R5(R7为高位字节,但最高四位不是显示缓冲区的一部分);软计数器为R4、R3、R2(R4为高位字节)。

    为了做到精确计时,其设计原则是计时器的启、停控制及计时过程中无需软件干涉,以克服由指令的延时所带来的误差。上述提到的启、停控制逻辑以及T0的初值自动装入就是为满足这个设计原则而设置的。由于8031的晶振频率为12MHz,故每个机器周期为1μs。T0的初值为-100,每当T0归零并产生中断时,即表示到达100μs(0.1ms)的计时时间。

    由于T0是每100μs中断一次,所以T0的中断服务程序的执行时间必须要在100μs以内。T0的中断服务如下:

    CTC0:PUSH PSW

    PUSH A

    MOV A,R2

    ADD A,#01

    DA A

    MOV R2,A

    MOV A,R3

    ADDC A,#00H

    DA A

    MOV R3,A

    MOV A,R4

    ADDC A,#00H

    DA A

    MOV R4,A

    POP A

    POP PSW

    RETI

    通过查表得知,执行以上程序所需时间为22μs,小于100μs,符合计数要求。T0的中断服务程序在计数的过程中已将计数结果调整成BCD码,从而使显示程序在显示这部分数据时无需进行从二进制到BCD码的转换。

结束语

    以上述设计制成的毫秒计,其精度取决于8031的晶振的精度以及4N30的延时特性,实际误差仅在2μs以内。


欢迎进入老古论坛进行讨论
[测试测量] 相关文章:
虚拟测试系统精度分析
简介:
摘 要: 系统精度是体现整个系统水平的重要指标。对于虚拟测试系统的精度如何进行分析是个值得讨论的问题。结合研制开发的永磁直流电动机虚拟测试系统给出了分析精度的一般方法,并对衡量系统精度的几种误差进行了具体的计算。 关键词: 虚拟测试系统 电动机 系统精度 虚拟测试仪器(系统)是计算机测试仪器发展的结果。一般来说,它由计算机、一组模块化的硬件和软件组成。用户通过操作计算机图形......

创意电子推出90纳米ARM926EJ测试芯片UTP0010A
频响高达2.5GHz的高精度真有效值功率检测器AD8361
Windows95/98环境下神经信号的采集和分析系统
基于PIC单片机的智能IC卡燃气表电控系统设计
交流电智能测试仪的设计
实际仪表和虚拟仪表综合自动化实验系统
虚拟仪器卡在雷达性能测试中的应用
FAST馈源舱的静态定标和动态跟踪
基于3D数模的三坐标测量机曲面检测
 
下一个:[新闻热点]专家称IPTV延续垄断优势 新公司难出头
简介:
   IPTV 产业可能沦为现有市场巨头们的游戏,而新公司的成长将更加艰难。正在北京召开的 2006 埃森哲全球融合高层论坛上,专家们传递出了这一观点。    5 月 11 日下午,来自管理咨询机构埃森哲的专家 Greg Douglass 在北京表示, IPTV 产业的启动需要大量资金投入,具有资金优势和内容优势的公司会继续在 IPTV 市场中取得优势。但新公司能否在其中也成为主流则尚未可知。    Greg Douglass......
 

上一个:[测试测量]一种实时性较强的采样频率同步实现方法

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:31毫秒