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