CPLD器件在时间统一系统中的应用
摘要:时间统一系统是靶场试验任务顺利完成的关键。本文介绍一种利用CPLD器件实现的可编程的性能良好的IRIG-B码源。通过高度集成,将用于产生B码的各种门电路集成在一个芯片中,构成一个应用系统,达到了最佳性价比。 关键词:B码源 CPLD器件 时序 引 言 随着电子技术的发展,对遥测信号的帧结构的可编程度、集成度的要求越来越高,用于时间统一系统的B码源的设计也趋于高度集成化。为了适应现代靶场试验任务的要求,我们采用Altera的CPLD器件,将用于产生B码的各种门电路集成在一个芯片,通过高度集成的系统可以用于产生标准的串行时间码向测量设备发送,测量设备对接收到的B码进行解调能产生出系统所需的绝对时间和各种控制信号。此B码产生系统可作为基地设备检测调试用,也可作实践教学设备。 在靶场试验中随着设备所需信息量的增加,对标准化时统设备要求也就越来越高,其中关键的问题之一就是选用什么样的时间码。IRIG-B(美国靶场仪器组-B 型格式)DC时间码以其实际优越性能,成为时统设备首选的标准码型。javascript:window.open(this.src);" style="cursor:pointer;"/> IRIG(Inter-Range Instrumentation Group)是美国靶场司令部委员会的下属机构,称为"靶场时间组"。IRIG时间标准有两大类:一类是并行时间码格式,这类码由于是并行格式,传输距离较近,且是二进制,因此远不如串行格式广泛;另一类是串行时间码,共有六种格式,即A、B、D、E、G、H。它们的主要差别是时间码的帧速率不同。B码的主要特点是时帧速率为1帧/s;携带信息量大,经译码后可获得1、10、100、1000 c/s的脉冲信号和BCD编码的时间信息及控制功能信息;javascript:window.open(this.src);" style="cursor:pointer;"/>高分辨率;调制后的B码带宽,适用于远距离传输;分直流、交流两种;具有接口标准化,国际通用。IRIG-B(DC)时间码格式如图1所示。其帧速率为1帧/s,可将1帧(1s)分为10个字,每字为10位,每位的周期均为10 ms。每位都以高电平开始,其持续时间分为3种类型:2 ms(如二进制"0"码和索引标志) 、5 ms(如二进制"1"码)和8 ms(如参考码元,即每秒开始的第一字的第一位;位置标志P0~P9,即每个字的第十位)。第一个字传送的s是信息,第二个字是min信息,第三个字是h信息,第四、五个字是d(从1月1日开始计算的年积日)。另外,在第八个字和第十个字中分别有3位表示上站和分站的特标控制码元(参考图1)。 2 硬件电路设计javascript:window.open(this.src);" style="cursor:pointer;"/> B码信号是否正确,是否被正确地解调出来,关键在于能否按照B码的变化规律产生预置信号。本课题的难点在于按照其本身的变化规律安排好产生B码的各种时序。 用9个十进制计数器级联组成时钟电路,用来产生时间信号--天、时、分、秒信号。四种信号经过缓存后顺序送入并串转换电路,将并行码串行输出,由7个产生时序脉冲的4017级联产生B码所需的三种脉冲形式,经过逻辑门的控制将串行输出的时间码转化成B码。将所有计数器、缓存器、并串转换电路、时序脉冲产生器、各种逻辑门等集成到可编程器件(CPLD)中,javascript:window.open(this.src);" style="cursor:pointer;"/>即用将一个完整的系统集成到一个芯片中。外围电路只需一个时钟电路和上电置数电路即可。由于采用了可编程器件,用软件编程可以把一个硬件系统集成到一个芯片中,大大简化了硬件电路,并且可以对芯片内部的电路进行仿真和多次编程,调试起来很方便。 根据确定的方案,设计的硬件电路如图 2所示。可编程器件EPM7128SLC84-15内部电路如图3所示。 硬件电路由可编程芯片、主时钟、置数电路三部分组成。芯片内部电路由365进制计数器、缓冲电路、并串转换电路、时序脉冲发生器及逻辑门控制电路组成。 图2中,置数电路将预置好的时间置入,javascript:window.open(this.src);" style="cursor:pointer;"/>使得芯片内部的365进制计数器从此时刻开始计数。主时钟是频率为10 MHz的晶振,作为芯片内部时序脉冲发生器的时钟信号。可编程芯片内部电路设计是本课题设计的核心。图 3中,时序脉冲发生器由七级4017级联而成,由外输入时钟作为第一级的时钟。第七级产生的秒信号作为365进制计数器的时钟,该计数器组由九个十进制同步计数器74LS162组成,输出7位二进制形式的秒信号,7位分信号,6位时信号,10位天信号(分为低八位和高二位天信号两组)。输出的时间信号送至缓冲器,javascript:window.open(this.src);" style="cursor:pointer;"/>由时序脉冲发生器的第六级输出周期为100 ms的时钟信号作为缓冲器的内部时钟,将缓冲过的时间信号以B码的格式顺序送入并串转换电路。并串转换电路的置位信号由时序脉冲发生器第六级的Q8提供,每100 ms将输入的时间信号锁存一次,时序脉冲发生器的第五级输出的周期为10 ms的时钟作为并串转换的时钟,将并行数据串行输出。时序脉冲发生器通过逻辑门的控制产生了B码的三种脉冲形式:第一种是高电平为2 ms ,低电平为8 ms的脉冲(代表逻辑"0");第二种是高、低电平均为5 ms的脉冲(代表逻辑"1");第三种是高电平为8 ms ,低电平为2 ms的脉冲(作为位置识别标志和参考码元)。并串转换输出的串行码经过逻辑门的控制,码?quot;1"转化为B码脉冲的第一种形式,码元"0"转化为B码脉冲的第二种形式,即将二进制的时间信号转变成为B码形式。参考码元、时间码元、位置识别标志综合在一起作为真正的B码输出。 3 主要单元电路设计javascript:window.open(this.src);" style="cursor:pointer;"/> 3.1 置数电路 根据课题要求,电路应具有置数功能。置数电路如图 4 所示,改进后的置数电路如图 5所示。 将预置的天、时、分、秒在上电的同时置入各个计数器中。由于计数器74LS162是同步计数器,要求置数脉冲有效时(低电平有效)至少有一个时钟的上升沿。 计数器的时钟是由时序脉冲发生器提供的秒信号,为了保证在置数脉冲有效时存在一个时钟上升沿,对秒信号作如下改进: 输入信号clka 由时序脉冲发生器产生,输出信号clk 作为365进制计数器的时钟。输入输出波形关系如图 6所示。 3.2 可编程芯片EPM7128SLC84-15内部电路 本部分采用层次结构的设计,由底层到顶层将复杂的电路模块化,最后生成一个顶层模块。图7 表示内部电路的层次结构。 最底层的四个模块分别包含四部分较复杂的电路,将四个模块分为两组,又生成较高层的模块t1和t2,模块t1和t2最终生成最顶层的模块。采取模块化设计的优点在于可以由底层到顶层对每一个模块分别进行仿真,有利于各个模块间时序的配合。 (1)t2模块 365进制计数器 该部分电路由九个十进制同步计数器 74LS162级联而成,称为计数链,生成的模块形式如图 8所示。 它的功能是将计数器输出的5组时间信号以B码的格式交替输出。javascript:window.open(this.src);" style="cursor:pointer;"/>缓冲电路生成的模块如图 9所示。 为简单起见,用VHDL语言描述如下: FUNCTION 74160 (clk, ldn, clrn, enp, ent, d, c, b, a) RETURNS (qd, qc, qb, qa, rco); SUBDESIGN testa (dina[6..0],dinb[6..0],dinc[5..0],dind[7..0],dine[1..0],fin1,fin2:INPUT ; dout[9..0] : output;) VARIABLE q[3..0] :node;javascript:window.open(this.src);" style="cursor:pointer;"/> begin (q3,q2,q1,q0,)= 74160(fin1,vcc,fin2,vcc,vcc,GND,GND,GND,GND); case q[3..0] is when 0=> dout[4..1]=dina[3..0];dout5=gnd;dout[8..6]=dina[6..4];dout9=gnd;dout0=gnd; when 1=>javascript:window.open(this.src);" style="cursor:pointer;"/> dout[3..0]=dinb[3..0];dout4=gnd;dout[7..5]=dinb[6..4] ;dout[9..8]=gnd; when 2=> dout[3..0]=dinc[3..0];dout4=gnd;dout[6..5]=dinc[5..4] ;dout[9..7]=gnd; when 3=> dout[3..0]=dind[3..0];dout4=gnd;dout[8..5]=dind[7..4];dout9=gnd; when 4=> dout[1..0]=dine[1..0];dout[9..2]=gnd; when others=> dout[9..0]=gnd; end case; end; (2)t1模块javascript:window.open(this.src);" style="cursor:pointer;"/> 并串转换电路 由于B码是串行码,须将t1模块输出的并行数据进行并串转换。并串转换电路生成的模块如图 12 所示。 时序脉冲发生器 该部分电路主要由七个脉冲分配器相级联和一些逻辑门控制组成。完成的主要功能有:产生B码的3种脉冲形式;提供计数器的时钟--"S"信号;提供缓冲电路中计数器的时钟--周期100 ms;提供并串转换电路的置位信号。时序脉冲发生器生成的模块如图13所示。 (3)t3模块javascript:window.open(this.src);" style="cursor:pointer;"/> t3模块是由t1、t2两个模块构成的最顶层的模块,其内部连接如图16所示。 由图16可见,t3模块(图17)将所有内部电路集成,整个电路只有32个输入端,3个输出端。将t3模块直接烧入可编程芯片即可。 3.3 码合成电路 可编程芯片输出了组成B码的3个分信号,经过1个或门后将3个信号合成了B码信号,如图18所示。 本设计的难点在于如何正确地安排好芯片内部各个模块之间的时序。该B码源通过解调之后能够显示正确的时间,达到了很好的效果。该B码源最大的特点是电路非常简单,可靠性较高。通过可编程芯片高度集成了一个系统,克服了以往B码源电路复杂的缺点。 |