摘 要:介绍一种利用8253芯片产生可变的脉冲序列的方法。在该方法中,通过软件编程使8253的2个计数通道分别工作在方式1和方式2,产生脉宽、脉间宽度可变的脉冲序列。
关键词:电源;微机控制;脉冲
电火花线切割机脉冲电源有很多种,其中分组脉冲电源是高速走丝和低速走丝两种线切割机床使用效果比较好的电源。分组脉冲电源中脉冲的产生和控制以往都采用数字逻辑电路,电路结构较复杂。通过微机对脉冲电源的脉冲产生和分组脉冲进行控制,对实现网络化的加工控制具有现实意义。一种微机化线切割机脉冲电源原理图见图1:
笔者在参与线切割机脉冲电源的研制过程中,使用8253设计了可变脉宽的脉冲发生器,通过软件编程精确控制了脉宽和脉间的宽度。
18253的工作原理简介
8253可编程计数器/定时器的工作频率为0~2MHz,它有3个独立编程的计数器,每个计数器有三个引脚,分别为时钟CLK、门控GATE、计数器和计时结束输出OUT;每个计数器分别有6种工作方式。下面针对使用到的两种工作方式——方式1和方式2的工作原理[1]进行简述。
方式1:可编程单稳,即由外部硬件产生的门控信号GATE触发8253而输出单稳脉冲。计数器装入计数初值后,在门控信号GATE由低电平变高电平并保持时,计数器开始计数,此时输出端变成低电平并开始单稳过程。当计数结束时,输出端OUT转变成高电平,单稳过程结束,在OUT端输出一个单稳脉冲。硬件再次触发,OUT端可再次输出一个同样的单稳脉冲。单稳脉冲的宽度由装入计数器的计数初值决定。在WR信号的上升沿(CPU写控制字之后),输出端OUT保持高电平(若OUT原为低电平则变为高电平)。CPU写入计数值后,计数器并不马上开始计数,而要等到门控信号GATE启动之后的下一个CLK的下降沿才开始。在整个计数过程中,输出端OUT保持低电平,直至计数值至0,OUT变为高电平为止。
方式2:速率发生器,其功能如同一个N分频计数器。其输出是将输入时钟按照N计数值分频后得到的一个连续脉冲。在该方式下,当计数器装入初始值开始工作后,输出端OUT将不断地输出负脉冲,其宽度为一个时钟周期的时间,而两个负脉冲间的时间脉冲个数等于计数器装入的计数初值。若计数初值为N,则每N个输入脉冲输出一个脉冲。当CPU写完控制字后,输出端OUT转变成高电平,计数器将立即自动开始对输入CLK时钟计数。在计数过程中,OUT端始终保持高电平,直至计数器的计数值减到1时,OUT端才变为低电平,其保持的宽度为一个输入CLK时钟周期的时间,然后输出端OUT恢复高电平,计数器重新开始计数。
8253控制字格式为:
其中:SC1 SC0为计数器选择位;RL1 RL0为计数器读写操作选择位,以确定计数器进行装入或读出是单字节还是双字节;M2 M1 M0为计数器工作方式选择位;BCD表示计数器计数方式选择位。
2可变脉宽脉间脉冲产生的原理
在实现过程中,让计数器0工作于速率发生器方式(方式2),计数器1工作于可编程单稳方式(方式1)。假设提供给8253的时钟周期为T,所需脉宽宽度Ti是Ni个时钟周期的宽度,即Ti=Ni×T;所需脉间宽度T0是N0个时钟周期的宽度,即T0=N0×T。如图2所示。
提供给计数器0的计数值为Ni+N0-1,这里减1是因为速率发生器输出的负脉冲为一个时钟周期的宽度;提供给计数器1的计数值为N0。启动计数器0后,在它的输出端OUT0产生了一个脉宽宽度为Ni+N0-1个时钟周期、脉间宽度为一个时钟周期的脉冲信号;将该信号作为计数器1的门控信号接入GATE1,启动计数器1工作后,利用其单稳工作特性在OUT1产生N0个时钟周期宽度的脉间的单稳信号。
由于每个计数器中的计数寄存器为16位,因而该脉冲序列周期最大为65535个时钟周期。如以1MHz时钟频率计,则最大脉冲信号周期为65535μs,即65.535ms,对于脉冲周期要求更长的可采用二级级联方式,详细可参考有关书籍,限于篇幅,本文不作介绍。在实际应用中,通过改变提供给8253的时钟信号和改变计数器的计数值可分别控制脉宽和脉间宽度,具有很强的灵活性。
3硬件电路
8253脉冲信号产生电路的连接如图3。
计数器0和计数器1的时钟输入信号CLK0和CLK1接相同时钟信号。计数器0的门控端GATE0置“1”接高电平,其输出端OUT0输出的脉冲信号作为计数器1的门控信号接入GATE1端。
本文中时钟频率为1MHz,周期T为1μs。计数器0的口地址为300H,计数器1的口地址为301H,8253控制寄存器的口地址为303H。
4软件设计
下面以产生脉宽宽度Ti为2μs(Ni=2)、脉间宽度T0为6μs(N0=6)的脉冲信号为例介绍软件编程方法。
根据上述要求,计数器0的控制字为14H(方式2、单字节、十六进制计数方式),计数器1的控制字为52H(方式1、单字节、十六进制计数方式)。
5试验结果
按照上述参数设置,从计数器1输出的脉冲序列如图4。
经试验证明,通过软件编程我们在输出端得到了各种可精确控制脉宽和脉间宽度的脉冲信号。该方法实现简单,编程容易,脉冲信号稳定。通过采用8255可编程并行输入输出接口芯片作为分组脉冲控制器,我们还实现了分组脉冲中脉冲的个数和组数的控制,进一步提高了分组脉冲电源的性能。应用中如对脉冲宽度有更高的要求,可采用8254芯片,其工作频率最高可达10MHz,时钟周期达到0.1μs。该方法也可广泛应用于需要对脉冲进行精确控制的电子电路和各种测量仪表中。
参考文献
[1]于英民,孙全,莫伟.计算机接口技术[M].北京:电子工业出版社,1996.







