设计与应用
计算机测量与控制. 2010. 18(11) Com puter Measurement &C ontrol
文献标识码:A
2625
文章编号:1671 4598(2010) 11 2625 04 中图分类号:T N431 2
数字量输入模块的设计
杨小平, 文 丰, 隋晓峰
(中北大学电子科学与技术系, 仪器科学与动态测试教育部重点实验室, 山西太原 030051)
摘要:数字量输入模块是某通用测试台的一部分; 其主要功能是接收遥测PCM 码流, 并对其进行解码, 为后续的传输存储做准备; 该设计涉及同步时钟和异步时钟的PC M 解码的实现, 并对解码过程中的误差问题进行了分析和说明; 模块采用FPGA 作为中心逻辑控制器, 可以对几种电平形式的遥测PC M 码进行解码, 具有较强的通用性; 该设计已经应经成功的应用于某通用测试台。
关键词:PCM ; FPGA; 同步解码; 异步解码
Design of Digital Inputting Module
Yang Xiaoping, Wen Feng, Sui Xiaofeng
(State K ey L abo rato ry of Instrumentat ion Science and Dy nam ic M easur ement, Depar tment o f Electro nic Science and
T echnolog y, No rth U niv ersity of China, T aiyuan 030051, China)
Abstract:T he digital in puttin g module is a part of the universal measurem ent s et. T he main fu nction is to r eceive and decode th e teleme try PC M w hich are prepared for the follow ing storage. Th e design inclu des the implement of d ecoding of PCM w hich is synch ron ized clock or asyn chronous clock. T here als o are th e in tr odu ction and analysis of th e error in the process of decoding in the design. T he module u se FPGA as the central logic controller, w hich could decode telem etry PCM w hich have different level type. So it has better commonality. T he design has been applied s uccessfully to th e some un iversal measu rem ent set.
Key words :PCM ; FPGA; synchronous decoding; asyn chronous decoding
0 引言
在飞行器的研制试飞中, 通常要通过遥测方法来获取系统内部的工作状态参数和环境参数, 为了完成不同的任务, 需要采集不同的信号。这些不同的信号可以通过时分制、码分制和频分制等进行传送。在传送的过程中我们可以对传输信号采用脉冲幅度调制(PA M ) 、脉冲宽度调制(PDM ) 、脉冲位置调制(PPM ) 、脉冲编码调制(PCM ) 。目前遥测系统中使用的最多的是时分制的脉冲编码调制. 本设计解决的就是时分制PCM 码解码的实现[1]。
在表1中422/485差分电平中包括路同步信号、码(位) 同步信号、P CM 群信号。
总体框图如图1所示。
1 总体设计
数字量输入模块采用F PG A 作为中心控制逻辑器件, 接收外部设备的帧同步信号、路同步信号、码(位) 同步信号以及PCM 群信号。码同步时钟有6 1035 s 、12 2075 s 、12 207 s 共3种。对这部分采取同步解码。也可接收1 96608M H z 的 (2 5 0 5) V 的异步串行PCM 码流, 对这部分采用的是异步解码。具体指标如下[2 3]。
表1 输入信号技术指标
电平形式幅度
高电平V 低电平
422/485差分电平
+(2~6) V -(2~6) V 10mA 1. 96608M Hz
差分电平(2. 5 0.
5) -(2. 5 0. 5) V
10mA 1. 96608M H z
图1 总体设计框图
2 各模块设计
对于各种电平形式的PCM 码流都需要转换为与中心控制逻辑相容的T T L /CO M OS 电平, 然后将其送入中心控制逻辑F PG A 中。
2 1 422/485差分电平接口设计
DS26L S32是一款高速差分线路驱动器。它适用于RS-422/RS-485接口, 能同时接收4对差分信号, 输入信号范围为-7V~+7V 。可以将422/485差分电平转换为T T L/CMOS 电平。因此可以用一片DS26LS32芯片来实现路同步信号、码同步信号、PCM 群信号的电平转换[4 6]。接口示意图如图2所示。
2 2 (2 5 0 5) V 差分电平接口设计
差分电平形式的PCM 码只有流信号。高电平为(2 5 0 5) V, 低电平为(-2 5 0 5) V 。因此我们可以用一片DS36L S32来实现422/485差分电平接口和差分电平接口的两种PCM 码解码的接口。电路图如图2所示。
驱动电流PCM 码率
收稿日期:2010 03 18; 修回日期:2010 04 25。
基金项目:微小型高速运动体的激光主动制导与探测技术研究(60871041) 。
作者简介:杨小平(1985 ) , 男, 山西吕梁人, 硕士研究生, 主要从事微系统集成技术方向的研究。
2626 计算机测量与控制 第18卷
方式模块无需进行码同步设计, 只需接受外部设备码同步信号就能达到与P CM 遥测系统同步, 但是由于PCM 遥测系统提供的码同步、帧同步通过不同的通道到达本解码电路, 因此不可避免引入误差, 使解码的性能降低, 因此针对该422/485方式, 确定采用外同步法、帧同步对齐方式解码。
整个PCM 解调系统工作原理如下:串行PCM 数据流在码同步信号作用下, 通过移位寄存器转换为8位并行数据, 并行数据在路同步信号的作用下取出, 在控制电路的配合下, 存入FIF O 缓冲器中。
PCM 解码的关键:串并转换和电平转换。在码同步、帧同步和PCM 数据信号的跳变过程中, 由于线路之间存在
图2 422/485差分电平和差分电平接口电路设计
其中电阻R26~R29是传输电缆终端电阻, 消除信号反射。
寄生电容及其共地原
因, 互相之间存在着线间串扰, 并且其它系统对本电路也有电磁干扰, 所以在解码电路必须采
3 遥测PCM 码解码的实现
3 1 遥测PC M 码同步问题
同步是遥测技术中的重要问题。遥测系统中的同步技术包括码同步(时钟同步) 和帧同步, 码同步是最基本的同步, 是实现帧同步的前提。码同步有下面两种方式:外同步 发送端发送数据时同时发送同步时钟信号, 接收方用同步信号来锁定自己的时钟脉冲频率; 自同步 通过特殊编码(如曼彻斯特编码) , 这些数据编码信号包含了同步信号, 接收方从中提取同步信号来锁定自己的时钟脉冲频率[7]。
帧同步可以用来识别一个帧的起始和结束。是为了保证收、发各对应的话路在时间上保持一致, 这样接收端就能正确接收发送端送来的每一个话路信号, 当然这必须是在码同步的前提下实现。只要接收端能正确识别出这些帧同步码, 就能正确辨别出每一帧的首尾, 从而能正确区分出发端送来的各路信号。为了从PCM 码流中恢复出原始的基带数字信号, 就要对它进行取样判别。因此, 要在接收端产生一个 码同步脉冲 或 位同步脉冲 , 它的重复频率和相位(位置) 要与接收码元一致, 以保证接收端的采样脉冲频率和发送端的码元速率相同。3 2 同步时钟解码
数字量输入模块需产生时钟同步信号:帧同步信号、码同步信号, 用于对外部设备的时序控制。模块
接收的PCM 码流信号。PCM 码流时序如图3和图4所示。
图4 同步时钟PCM 码流时序
取有效的抗干扰措施。在FPGA 核心控制内部对帧、码同步信号进行消抖, 主要用来消除帧、码同步信号在传输过程中受到的干扰。3 3 异步时钟解码
异步时钟PCM 码流只有一个流信号输入, 属于自同步法, 且需要从该数据流中恢复出码同步信号、帧同步信号后再实现数据流的正确抽样。
系统的具体工作过程是:来源于外部设备在F PGA 中经过码同步器恢复出码同步时钟信号, 并将码时钟信号和输入的PCM 码流送入后续的帧、子帧同步电路以提取出帧、子帧同步信号。由于当前遥测系统最高码速率达到2M bps, 速率极高, 且要求解码不能丢帧, 而计算机具有非实时多任务特性, 运行的应用程序频繁被操作系统打断, 为了保证系统能持续的接受和发送各种数据, 在硬件方面, 以FPG A 内部F IFO 作为数据缓冲存储器, 采用FPG A 结合F IFO 的方式来完成计算机对高速数据的实时连续读取, 达到无丢帧目的。
3 3 1 码同步时钟的提取设计
异步时钟PCM 码解码框图如图5所示。硬件电路部分主要由遥测数据预处理电
路、帧参数配置电路、遥测数据同步信号提取电路、遥测数据存储电路组成。
为了能够正确地对异步串行数据进行发送和接收, 就必须使其接收与发送的码元同步, 码同步时钟信号不仅可用来对输
图3 同步时钟PCM 码流时序
数字量输入模块系统时钟为120M H z 。对6 1035 s 的码同步时钟, 系统时钟732分频只可提供6 1 s 的码同步时钟, 误差为0 0035 s 。
对12 2075 s 的码同步时钟, 系统时钟1464分频只可提供12 2 s 的码同步时钟, 误差为0 0075 s 。数字量输入模块采用422/485电平方式属于外同步法, 信息流包括码同步信号、流信号和帧同步信号, 占用通道多。该
图5 异步时钟PCM 码解码框图
第
11期杨小平, 等:数字量输入模块的设计 2627
入码元进行检测以保证收发同步, 而且在对接收的数字码元进行各种处理等过程中, 也可以为系统提供一个基准的同步时钟。
异步时钟解码是由一个可编程数字滤波器、一个双边沿提取器、一个数字预测器和一个合成器组成, 如图6所示。
提取器停止工作, 无edg e 输出, 此时预测器开始工作, 产
生预测的本地码同步信号pr ed, pred 由clk 分频获得, 并由edge 对齐相位。边沿提取器与预测器输出的信号经合成器合成输出, 二者协同完成码时钟信号的恢复。为了提高数据提取的准确性, 解决pr ed 与输入信号频率误差造成的相位移动, 将码同步向后移位180度。
图8 可编程数字滤波器仿真图
设计中由于要实现对CLK 的20分频, 故DLY CN T 计到10就预测输出S 取反, 即码同步输出发生沿跳变。其中P C M S 是经过滤波器后的流信号, L SY N 是PCM S 信号的前一个
图6 新型快速锁定PCM 码同步器
CL K 时的状态, 目的是检测流的边沿, 一旦检测到流信号上、下沿变化及将S 强制输出 1 , 同时预测重新计数, 调整了预测器的码同步相位。图9是其时序仿真图, 从中可以明显看出合成器后边沿提取器强制调整预测器码同步相位输出。数字量输入模块假设输入的NRZ _L 随机序列的码速率为f in , 本地通过预测器产生的预测码速率为f y c , 输入的N RZ
由于输入信号不可避免地存在着各种干扰, 这些干扰脉冲将影响码同步脉冲和PCM 数据的提取, 由此在输入端加一个可编程数字滤波器。该滤波器可根据具体码宽调整滤波宽度, 其原理为:设
p cm _in 为滤波前的输入, p cm _out 为滤波后的输出, 滤波宽度ls =T 0 m, T 0为高精度时钟clk 的周期, 输出为:
i=n -1i=n-m -1i=n -1i=n-m -1
pcm _i n[i] pcm _out[n-1]=0pcm _i n[i] pcm _out[n-1]=1
pcm _out =
其中p cm _in [n]为当前的输入, p cm _o ut [n]为当前的输出, p cm _out [n -1]为前1个时钟的输出, 输入信号经
m 个时钟滤波后输出。图7是其具体实现图。
图中的74164是一个8位移位寄存器, 通过它将输入的PCM 码信号转换为并行信号, H CLK 是本地的高精度时钟, 频率是PCM 码速率的20倍, 利用JK 触发器置 1 和置 0 的功能实现滤波。对于图中电路来说只有当连续出现5个CL K 周期的 1
时, JK 置 1 ; 同理, 仅当连续出现5个
CL K 周期的 0 时, JK 置 0 , 否则JK 触发器输出不改变, 从而达到滤波的目的。设计中将其集成到F PGA 中, 因而可以根据需要方便的修改。其仿真结果如图8所示。
双边沿提取器的作用是在输入信号的跳变码元的上升沿或下降沿处产生边沿脉冲, 是输入信号频率及相位的真实反映, 可有效校准码同步器锁定的精度。在同步过程中, 当输入的码值发生变化时, 将在边沿产生一个跃变, 此时双边沿提取器将产生边沿脉冲信号edg e, 同时控制预测器使其复位, 禁止预测输出; 当输入的码值为连 1 或连 0 无边沿变化, 边沿
图9 码同步信号电路恢复电路仿真图
_L 随机码序列中的每个码字的宽度为t 0, 随机码序列的最大游程为K (K 表示随机码序列中连 0 数) , 可以得到如下结论。
或连 1 的最大个
(1) 频差的影响。由上面的分析可知, 当产生频差时, 即f y c f in , 如果输入的随机序列由交替变化的 0 和 1 组成, 则双边沿提取所产生的边沿脉冲将有效的校正频差; 如果输入的是K 个连续的 0 或 1 时, 由180 码同步的相位只>, 就可以保证2t 0k
有正确的码同步信号输出, 并能提取出正确的数据。能偏移 180 , 所以只要满足式
(2) 同步建立时间t s 只要输入的码序列速率与预测器的中心频率之差在上式所示的频差范围内, 当出现第一个跳变的码, 该码同步器就会输出正确的码同步信号。这是因为它是一种
开环结构的缘故。
(3) 如果信号中断, 码同步器输出的是本地时钟经预测器产生的码同步信号f =f yc 。
(4) 同步带宽由 f s 上面的算法可知, 它的同步带宽与输入的随机码的游程有关, 即: f s =f y c /2k 。
(5) 当输入信号的频率偏差较大时, 双边沿提取器可以实时的对预测器输出的码同步信号进行校准, 在满足同步带宽的
图7 可编程数字滤波器情况下仍可保持同步。
2628
3 3 2 帧同步时钟的提取设计
计算机测量与控制 第18卷
为了从传输信号流中恢复出数据流, 还需要另一种形式的同步, 即帧同步。帧同步的任务是将解调出的数据比特序列进行正确的分组, 它一般通过传输数据格式的特殊设计来实现, 即在数据序列中插入特殊字符同步码, 通过它来描述系统的帧同步方式和实现方法。下面将介绍在
本模块中的具体实现情况, 原理框图见图10所示。
图11 子帧同步解调流程
计满八个输入码同步流信号就输出一个字节同步脉冲信号, 但仅仅如此还不能保证这个字节同步脉冲信号与输入的数据编帧
图10 帧同步器原理框图
格式一致, 这就需要利用帧同步、子帧同步信号对计数器进行复位, 即在每一帧的帧头将数据对齐, 计数器清零。
在数字遥测(PCM ) 系统中所采用的帧同
步码组为EB 90, 子帧同步码组为146F, 是帧同步的反码。异步串行PCM
由于信号是串行输入的, 而存储电路数据位是8位
(一字节) , 因此需要将连续的8个比特数据组成一个字节, 即每次
图12 解调后部分原始数据
表2 异步串行PC M 码帧结构
1 64
1D D D
D D D
95EB EB 14
9690906F
效数据, 通过上位机分离完成测试过程。图12为P CM 码解调出的数据, 子帧结束标志EB 90和帧结束标志146F 均在正确的位置, 与给出的帧格式一致, 没有出现误码。
4 结论
本设计已经成功的应用于某型号通用测试台。工作稳定, 能够准确地解出422/485电平形式和 (2 5 0 5) V 差分电平形式的PCM 码流, 没有出现误码, 抗干扰能力强。
参考文献:
[1]张文栋. 存储测试系统的设计理论及其应用. 北京:高等教育出
版社. 2002.
[2]李永明, 王俭勤, 郑晋光, 等. 国外标准化通用航空电子自动测试
设备现状和发展[J]. 计算机测量与控制, 2004, 12(1) :3 4. [3]孙德仁, 何云峰, 狄长安. 仪表总线技术及应用[M ]. 北京:国
防工业出版社. 2005.
[4]周明光, 马海潮. 计算机测试系统原理与应用[M ]. 北京:电子
工业出版社, 2005.
[5]毕 海, 李永新, 李 柯. 一种PCM 遥测同步解调器的设计
[J]. 电子测量与仪器学报, 2000, 14(1) :66 70.
[6]甄国涌, 林华亮. 串行PCM 码流解码电路设计与应用[J ]. 航空
计算技术. 2005, 35(1) :79 81.
[7]朱维宝, 孙 波, 等. 航天器综合测试系统设计[J]. 计算机测量
与控制, 2009, 17(8) :1457 1459.
码解调逻辑设计中帧结构如表2所示。帧同步时钟解调流程如图11所示。
位同步计数的作用是在PCM 码流信号的上升沿或下降沿, 对同步计数器清零, 以获得同步时钟。获得码同步信号后, 接下来进行子帧同步, 在子帧同步的逻辑设计中, 采用了容错设计方法, 即每一个子帧都判断子帧/帧同步标志。具体方法是:先找到一个EB 90或146F, 然后每隔96个字节再判断一次移位的数据是不是146F , 若不是, 则重新查找; 若是, 则认为它们是子帧/帧同步标志, 每一个子帧都进行判断。这样查找的好处是:
(1) 即使第一次误判, 也不会影响后续的判断正确性; (2) 即使PCM 码发送中断后再重发, 或由于干扰发送错误, 也不会影响后续的正确解调。这种循环判断子帧/帧同步标志的方法增强了PCM 码解调过程的容错、纠错能力。3 3 3 PCM 码解调功能测试
测试PCM 码解调功能时, 测试台从PCM 码中解调出有
设计与应用
计算机测量与控制. 2010. 18(11) Com puter Measurement &C ontrol
文献标识码:A
2625
文章编号:1671 4598(2010) 11 2625 04 中图分类号:T N431 2
数字量输入模块的设计
杨小平, 文 丰, 隋晓峰
(中北大学电子科学与技术系, 仪器科学与动态测试教育部重点实验室, 山西太原 030051)
摘要:数字量输入模块是某通用测试台的一部分; 其主要功能是接收遥测PCM 码流, 并对其进行解码, 为后续的传输存储做准备; 该设计涉及同步时钟和异步时钟的PC M 解码的实现, 并对解码过程中的误差问题进行了分析和说明; 模块采用FPGA 作为中心逻辑控制器, 可以对几种电平形式的遥测PC M 码进行解码, 具有较强的通用性; 该设计已经应经成功的应用于某通用测试台。
关键词:PCM ; FPGA; 同步解码; 异步解码
Design of Digital Inputting Module
Yang Xiaoping, Wen Feng, Sui Xiaofeng
(State K ey L abo rato ry of Instrumentat ion Science and Dy nam ic M easur ement, Depar tment o f Electro nic Science and
T echnolog y, No rth U niv ersity of China, T aiyuan 030051, China)
Abstract:T he digital in puttin g module is a part of the universal measurem ent s et. T he main fu nction is to r eceive and decode th e teleme try PC M w hich are prepared for the follow ing storage. Th e design inclu des the implement of d ecoding of PCM w hich is synch ron ized clock or asyn chronous clock. T here als o are th e in tr odu ction and analysis of th e error in the process of decoding in the design. T he module u se FPGA as the central logic controller, w hich could decode telem etry PCM w hich have different level type. So it has better commonality. T he design has been applied s uccessfully to th e some un iversal measu rem ent set.
Key words :PCM ; FPGA; synchronous decoding; asyn chronous decoding
0 引言
在飞行器的研制试飞中, 通常要通过遥测方法来获取系统内部的工作状态参数和环境参数, 为了完成不同的任务, 需要采集不同的信号。这些不同的信号可以通过时分制、码分制和频分制等进行传送。在传送的过程中我们可以对传输信号采用脉冲幅度调制(PA M ) 、脉冲宽度调制(PDM ) 、脉冲位置调制(PPM ) 、脉冲编码调制(PCM ) 。目前遥测系统中使用的最多的是时分制的脉冲编码调制. 本设计解决的就是时分制PCM 码解码的实现[1]。
在表1中422/485差分电平中包括路同步信号、码(位) 同步信号、P CM 群信号。
总体框图如图1所示。
1 总体设计
数字量输入模块采用F PG A 作为中心控制逻辑器件, 接收外部设备的帧同步信号、路同步信号、码(位) 同步信号以及PCM 群信号。码同步时钟有6 1035 s 、12 2075 s 、12 207 s 共3种。对这部分采取同步解码。也可接收1 96608M H z 的 (2 5 0 5) V 的异步串行PCM 码流, 对这部分采用的是异步解码。具体指标如下[2 3]。
表1 输入信号技术指标
电平形式幅度
高电平V 低电平
422/485差分电平
+(2~6) V -(2~6) V 10mA 1. 96608M Hz
差分电平(2. 5 0.
5) -(2. 5 0. 5) V
10mA 1. 96608M H z
图1 总体设计框图
2 各模块设计
对于各种电平形式的PCM 码流都需要转换为与中心控制逻辑相容的T T L /CO M OS 电平, 然后将其送入中心控制逻辑F PG A 中。
2 1 422/485差分电平接口设计
DS26L S32是一款高速差分线路驱动器。它适用于RS-422/RS-485接口, 能同时接收4对差分信号, 输入信号范围为-7V~+7V 。可以将422/485差分电平转换为T T L/CMOS 电平。因此可以用一片DS26LS32芯片来实现路同步信号、码同步信号、PCM 群信号的电平转换[4 6]。接口示意图如图2所示。
2 2 (2 5 0 5) V 差分电平接口设计
差分电平形式的PCM 码只有流信号。高电平为(2 5 0 5) V, 低电平为(-2 5 0 5) V 。因此我们可以用一片DS36L S32来实现422/485差分电平接口和差分电平接口的两种PCM 码解码的接口。电路图如图2所示。
驱动电流PCM 码率
收稿日期:2010 03 18; 修回日期:2010 04 25。
基金项目:微小型高速运动体的激光主动制导与探测技术研究(60871041) 。
作者简介:杨小平(1985 ) , 男, 山西吕梁人, 硕士研究生, 主要从事微系统集成技术方向的研究。
2626 计算机测量与控制 第18卷
方式模块无需进行码同步设计, 只需接受外部设备码同步信号就能达到与P CM 遥测系统同步, 但是由于PCM 遥测系统提供的码同步、帧同步通过不同的通道到达本解码电路, 因此不可避免引入误差, 使解码的性能降低, 因此针对该422/485方式, 确定采用外同步法、帧同步对齐方式解码。
整个PCM 解调系统工作原理如下:串行PCM 数据流在码同步信号作用下, 通过移位寄存器转换为8位并行数据, 并行数据在路同步信号的作用下取出, 在控制电路的配合下, 存入FIF O 缓冲器中。
PCM 解码的关键:串并转换和电平转换。在码同步、帧同步和PCM 数据信号的跳变过程中, 由于线路之间存在
图2 422/485差分电平和差分电平接口电路设计
其中电阻R26~R29是传输电缆终端电阻, 消除信号反射。
寄生电容及其共地原
因, 互相之间存在着线间串扰, 并且其它系统对本电路也有电磁干扰, 所以在解码电路必须采
3 遥测PCM 码解码的实现
3 1 遥测PC M 码同步问题
同步是遥测技术中的重要问题。遥测系统中的同步技术包括码同步(时钟同步) 和帧同步, 码同步是最基本的同步, 是实现帧同步的前提。码同步有下面两种方式:外同步 发送端发送数据时同时发送同步时钟信号, 接收方用同步信号来锁定自己的时钟脉冲频率; 自同步 通过特殊编码(如曼彻斯特编码) , 这些数据编码信号包含了同步信号, 接收方从中提取同步信号来锁定自己的时钟脉冲频率[7]。
帧同步可以用来识别一个帧的起始和结束。是为了保证收、发各对应的话路在时间上保持一致, 这样接收端就能正确接收发送端送来的每一个话路信号, 当然这必须是在码同步的前提下实现。只要接收端能正确识别出这些帧同步码, 就能正确辨别出每一帧的首尾, 从而能正确区分出发端送来的各路信号。为了从PCM 码流中恢复出原始的基带数字信号, 就要对它进行取样判别。因此, 要在接收端产生一个 码同步脉冲 或 位同步脉冲 , 它的重复频率和相位(位置) 要与接收码元一致, 以保证接收端的采样脉冲频率和发送端的码元速率相同。3 2 同步时钟解码
数字量输入模块需产生时钟同步信号:帧同步信号、码同步信号, 用于对外部设备的时序控制。模块
接收的PCM 码流信号。PCM 码流时序如图3和图4所示。
图4 同步时钟PCM 码流时序
取有效的抗干扰措施。在FPGA 核心控制内部对帧、码同步信号进行消抖, 主要用来消除帧、码同步信号在传输过程中受到的干扰。3 3 异步时钟解码
异步时钟PCM 码流只有一个流信号输入, 属于自同步法, 且需要从该数据流中恢复出码同步信号、帧同步信号后再实现数据流的正确抽样。
系统的具体工作过程是:来源于外部设备在F PGA 中经过码同步器恢复出码同步时钟信号, 并将码时钟信号和输入的PCM 码流送入后续的帧、子帧同步电路以提取出帧、子帧同步信号。由于当前遥测系统最高码速率达到2M bps, 速率极高, 且要求解码不能丢帧, 而计算机具有非实时多任务特性, 运行的应用程序频繁被操作系统打断, 为了保证系统能持续的接受和发送各种数据, 在硬件方面, 以FPG A 内部F IFO 作为数据缓冲存储器, 采用FPG A 结合F IFO 的方式来完成计算机对高速数据的实时连续读取, 达到无丢帧目的。
3 3 1 码同步时钟的提取设计
异步时钟PCM 码解码框图如图5所示。硬件电路部分主要由遥测数据预处理电
路、帧参数配置电路、遥测数据同步信号提取电路、遥测数据存储电路组成。
为了能够正确地对异步串行数据进行发送和接收, 就必须使其接收与发送的码元同步, 码同步时钟信号不仅可用来对输
图3 同步时钟PCM 码流时序
数字量输入模块系统时钟为120M H z 。对6 1035 s 的码同步时钟, 系统时钟732分频只可提供6 1 s 的码同步时钟, 误差为0 0035 s 。
对12 2075 s 的码同步时钟, 系统时钟1464分频只可提供12 2 s 的码同步时钟, 误差为0 0075 s 。数字量输入模块采用422/485电平方式属于外同步法, 信息流包括码同步信号、流信号和帧同步信号, 占用通道多。该
图5 异步时钟PCM 码解码框图
第
11期杨小平, 等:数字量输入模块的设计 2627
入码元进行检测以保证收发同步, 而且在对接收的数字码元进行各种处理等过程中, 也可以为系统提供一个基准的同步时钟。
异步时钟解码是由一个可编程数字滤波器、一个双边沿提取器、一个数字预测器和一个合成器组成, 如图6所示。
提取器停止工作, 无edg e 输出, 此时预测器开始工作, 产
生预测的本地码同步信号pr ed, pred 由clk 分频获得, 并由edge 对齐相位。边沿提取器与预测器输出的信号经合成器合成输出, 二者协同完成码时钟信号的恢复。为了提高数据提取的准确性, 解决pr ed 与输入信号频率误差造成的相位移动, 将码同步向后移位180度。
图8 可编程数字滤波器仿真图
设计中由于要实现对CLK 的20分频, 故DLY CN T 计到10就预测输出S 取反, 即码同步输出发生沿跳变。其中P C M S 是经过滤波器后的流信号, L SY N 是PCM S 信号的前一个
图6 新型快速锁定PCM 码同步器
CL K 时的状态, 目的是检测流的边沿, 一旦检测到流信号上、下沿变化及将S 强制输出 1 , 同时预测重新计数, 调整了预测器的码同步相位。图9是其时序仿真图, 从中可以明显看出合成器后边沿提取器强制调整预测器码同步相位输出。数字量输入模块假设输入的NRZ _L 随机序列的码速率为f in , 本地通过预测器产生的预测码速率为f y c , 输入的N RZ
由于输入信号不可避免地存在着各种干扰, 这些干扰脉冲将影响码同步脉冲和PCM 数据的提取, 由此在输入端加一个可编程数字滤波器。该滤波器可根据具体码宽调整滤波宽度, 其原理为:设
p cm _in 为滤波前的输入, p cm _out 为滤波后的输出, 滤波宽度ls =T 0 m, T 0为高精度时钟clk 的周期, 输出为:
i=n -1i=n-m -1i=n -1i=n-m -1
pcm _i n[i] pcm _out[n-1]=0pcm _i n[i] pcm _out[n-1]=1
pcm _out =
其中p cm _in [n]为当前的输入, p cm _o ut [n]为当前的输出, p cm _out [n -1]为前1个时钟的输出, 输入信号经
m 个时钟滤波后输出。图7是其具体实现图。
图中的74164是一个8位移位寄存器, 通过它将输入的PCM 码信号转换为并行信号, H CLK 是本地的高精度时钟, 频率是PCM 码速率的20倍, 利用JK 触发器置 1 和置 0 的功能实现滤波。对于图中电路来说只有当连续出现5个CL K 周期的 1
时, JK 置 1 ; 同理, 仅当连续出现5个
CL K 周期的 0 时, JK 置 0 , 否则JK 触发器输出不改变, 从而达到滤波的目的。设计中将其集成到F PGA 中, 因而可以根据需要方便的修改。其仿真结果如图8所示。
双边沿提取器的作用是在输入信号的跳变码元的上升沿或下降沿处产生边沿脉冲, 是输入信号频率及相位的真实反映, 可有效校准码同步器锁定的精度。在同步过程中, 当输入的码值发生变化时, 将在边沿产生一个跃变, 此时双边沿提取器将产生边沿脉冲信号edg e, 同时控制预测器使其复位, 禁止预测输出; 当输入的码值为连 1 或连 0 无边沿变化, 边沿
图9 码同步信号电路恢复电路仿真图
_L 随机码序列中的每个码字的宽度为t 0, 随机码序列的最大游程为K (K 表示随机码序列中连 0 数) , 可以得到如下结论。
或连 1 的最大个
(1) 频差的影响。由上面的分析可知, 当产生频差时, 即f y c f in , 如果输入的随机序列由交替变化的 0 和 1 组成, 则双边沿提取所产生的边沿脉冲将有效的校正频差; 如果输入的是K 个连续的 0 或 1 时, 由180 码同步的相位只>, 就可以保证2t 0k
有正确的码同步信号输出, 并能提取出正确的数据。能偏移 180 , 所以只要满足式
(2) 同步建立时间t s 只要输入的码序列速率与预测器的中心频率之差在上式所示的频差范围内, 当出现第一个跳变的码, 该码同步器就会输出正确的码同步信号。这是因为它是一种
开环结构的缘故。
(3) 如果信号中断, 码同步器输出的是本地时钟经预测器产生的码同步信号f =f yc 。
(4) 同步带宽由 f s 上面的算法可知, 它的同步带宽与输入的随机码的游程有关, 即: f s =f y c /2k 。
(5) 当输入信号的频率偏差较大时, 双边沿提取器可以实时的对预测器输出的码同步信号进行校准, 在满足同步带宽的
图7 可编程数字滤波器情况下仍可保持同步。
2628
3 3 2 帧同步时钟的提取设计
计算机测量与控制 第18卷
为了从传输信号流中恢复出数据流, 还需要另一种形式的同步, 即帧同步。帧同步的任务是将解调出的数据比特序列进行正确的分组, 它一般通过传输数据格式的特殊设计来实现, 即在数据序列中插入特殊字符同步码, 通过它来描述系统的帧同步方式和实现方法。下面将介绍在
本模块中的具体实现情况, 原理框图见图10所示。
图11 子帧同步解调流程
计满八个输入码同步流信号就输出一个字节同步脉冲信号, 但仅仅如此还不能保证这个字节同步脉冲信号与输入的数据编帧
图10 帧同步器原理框图
格式一致, 这就需要利用帧同步、子帧同步信号对计数器进行复位, 即在每一帧的帧头将数据对齐, 计数器清零。
在数字遥测(PCM ) 系统中所采用的帧同
步码组为EB 90, 子帧同步码组为146F, 是帧同步的反码。异步串行PCM
由于信号是串行输入的, 而存储电路数据位是8位
(一字节) , 因此需要将连续的8个比特数据组成一个字节, 即每次
图12 解调后部分原始数据
表2 异步串行PC M 码帧结构
1 64
1D D D
D D D
95EB EB 14
9690906F
效数据, 通过上位机分离完成测试过程。图12为P CM 码解调出的数据, 子帧结束标志EB 90和帧结束标志146F 均在正确的位置, 与给出的帧格式一致, 没有出现误码。
4 结论
本设计已经成功的应用于某型号通用测试台。工作稳定, 能够准确地解出422/485电平形式和 (2 5 0 5) V 差分电平形式的PCM 码流, 没有出现误码, 抗干扰能力强。
参考文献:
[1]张文栋. 存储测试系统的设计理论及其应用. 北京:高等教育出
版社. 2002.
[2]李永明, 王俭勤, 郑晋光, 等. 国外标准化通用航空电子自动测试
设备现状和发展[J]. 计算机测量与控制, 2004, 12(1) :3 4. [3]孙德仁, 何云峰, 狄长安. 仪表总线技术及应用[M ]. 北京:国
防工业出版社. 2005.
[4]周明光, 马海潮. 计算机测试系统原理与应用[M ]. 北京:电子
工业出版社, 2005.
[5]毕 海, 李永新, 李 柯. 一种PCM 遥测同步解调器的设计
[J]. 电子测量与仪器学报, 2000, 14(1) :66 70.
[6]甄国涌, 林华亮. 串行PCM 码流解码电路设计与应用[J ]. 航空
计算技术. 2005, 35(1) :79 81.
[7]朱维宝, 孙 波, 等. 航天器综合测试系统设计[J]. 计算机测量
与控制, 2009, 17(8) :1457 1459.
码解调逻辑设计中帧结构如表2所示。帧同步时钟解调流程如图11所示。
位同步计数的作用是在PCM 码流信号的上升沿或下降沿, 对同步计数器清零, 以获得同步时钟。获得码同步信号后, 接下来进行子帧同步, 在子帧同步的逻辑设计中, 采用了容错设计方法, 即每一个子帧都判断子帧/帧同步标志。具体方法是:先找到一个EB 90或146F, 然后每隔96个字节再判断一次移位的数据是不是146F , 若不是, 则重新查找; 若是, 则认为它们是子帧/帧同步标志, 每一个子帧都进行判断。这样查找的好处是:
(1) 即使第一次误判, 也不会影响后续的判断正确性; (2) 即使PCM 码发送中断后再重发, 或由于干扰发送错误, 也不会影响后续的正确解调。这种循环判断子帧/帧同步标志的方法增强了PCM 码解调过程的容错、纠错能力。3 3 3 PCM 码解调功能测试
测试PCM 码解调功能时, 测试台从PCM 码中解调出有