CPLD器件在时间统一系统中的应用
摘要:时间统一系统是靶场试验任务顺利完成的关键。本文介绍一种利用CPLD器件实现的可编程的性能良好的IRIG-B码源。通过高度集成,将用于产生B码的各种门电路集成在一个芯片中,构成一个应用系统,达到了最佳性价比。 关键词:B码源 CPLD器件 时序 引 言 随着电子技术的发展,对遥测信号的帧结构的可编程度、集成度的要求越来越高,用于时间统一系统的B码源的设计也趋于高度集成化。为了适应现代靶场试验任务的要求,我们采用Altera的CPLD器件,将用于产生B码的各种门电路集成在一个芯片,通过高度集成的系统可以用于产生标准的串行时间码向测量设备发送,测量设备对接收到的B码进行解调能产生出系统所需的绝对时间和各种控制信号。此B码产生系统可作为基地设备检测调试用,也可作实践教学设备。 在靶场试验中随着设备所需信息量的增加,对标准化时统设备要求也就越来越高,其中关键的问题之一就是选用什么样的时间码。IRIG-B(美国靶场仪器组-B 型格式)DC时间码以其实际优越性能,成为时统设备首选的标准码型。 IRIG(Inter-Range Instrumentation Group)是美国靶场司令部委员会的下属机构,称为"靶场时间组"。IRIG时间标准有两大类:一类是并行时间码格式,这类码由于是并行格式,传输距离较近,且是二进制,因此远不如串行格式广泛;另一类是串行时间码,共有六种格式,即A、B、D、E、G、H。它们的主要差别是时间码的帧速率不同。B码的主要特点是时帧速率为1帧/s;携带信息量大,经译码后可获得1、10、100、1000 c/s的脉冲信号和BCD编码的时间信息及控制功能信息; 2 硬件电路设计 B码信号是否正确,是否被正确地解调出来,关键在于能否按照B码的变化规律产生预置信号。本课题的难点在于按照其本身的变化规律安排好产生B码的各种时序。 用9个十进制计数器级联组成时钟电路,用来产生时间信号--天、时、分、秒信号。四种信号经过缓存后顺序送入并串转换电路,将并行码串行输出,由7个产生时序脉冲的4017级联产生B码所需的三种脉冲形式,经过逻辑门的控制将串行输出的时间码转化成B码。将所有计数器、缓存器、并串转换电路、时序脉冲产生器、各种逻辑门等集成到可编程器件(CPLD)中, 根据确定的方案,设计的硬件电路如图 2所示。可编程器件EPM7128SLC84-15内部电路如图3所示。 硬件电路由可编程芯片、主时钟、置数电路三部分组成。芯片内部电路由365进制计数器、缓冲电路、并串转换电路、时序脉冲发生器及逻辑门控制电路组成。 图2中,置数电路将预置好的时间置入, 3 主要单元电路设计 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码的格式交替输出。 为简单起见,用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; 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=> 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模块 并串转换电路 由于B码是串行码,须将t1模块输出的并行数据进行并串转换。并串转换电路生成的模块如图 12 所示。 时序脉冲发生器 该部分电路主要由七个脉冲分配器相级联和一些逻辑门控制组成。完成的主要功能有:产生B码的3种脉冲形式;提供计数器的时钟--"S"信号;提供缓冲电路中计数器的时钟--周期100 ms;提供并串转换电路的置位信号。时序脉冲发生器生成的模块如图13所示。 (3)t3模块 t3模块是由t1、t2两个模块构成的最顶层的模块,其内部连接如图16所示。 由图16可见,t3模块(图17)将所有内部电路集成,整个电路只有32个输入端,3个输出端。将t3模块直接烧入可编程芯片即可。 3.3 码合成电路 可编程芯片输出了组成B码的3个分信号,经过1个或门后将3个信号合成了B码信号,如图18所示。 本设计的难点在于如何正确地安排好芯片内部各个模块之间的时序。该B码源通过解调之后能够显示正确的时间,达到了很好的效果。该B码源最大的特点是电路非常简单,可靠性较高。通过可编程芯片高度集成了一个系统,克服了以往B码源电路复杂的缺点。 |