童林,孙宏
(中国电子科技集团公司第四十一研究所,山东青岛266555)
帧格式可编程的PCM信号源设计
童林*,孙宏
(中国电子科技集团公司第四十一研究所,山东青岛266555)
针对遥测PCM模拟源输出信号参数不可调的问题,提出了一种输出帧格式可编程的PCM信号源设计方法。该方法以FPGA作为逻辑控制中心,充分利用其内部资源灵活配置的特点,实现了一种码率连续可调、帧格式可编程的PCM信号源。实验测试结果表明:设计的信号源能够输出主帧1~1024、副帧1~256范围内帧格式可编程的PCM数据流,数据流可以选择正弦波、三角波、方波、锯齿波、随机数及固定值数据。
遥测;信号源;PCM;输出可调
遥测模拟设备即PCM信号源,能够完成遥测系统的基本测试,提供系统所需的外部检测信号。信号源输出的模拟信号主要由帧同步码组加上各个通道的数据按照一定的格式组成,并通过并串转换,实现PCM码流的串行输出,作为检测遥测设备的模拟信号发生器。
随着遥测技术在航天、航空、气象和卫星等领域的应用越来越多,对遥测设备的测试要求也越来越严格,传统的单一、低频、定频和参数不可调的遥测模拟设备已不能满足日益复杂的应用需求[1-4]。为了解决传统遥测信号源输出信号简单、通道不可调的问题,本文提出了一种基于FPGA的多通道输出可配置的通用PCM信号源。利用FPGA内部丰富的RAM和ROM资源及其特点,解决了使用外部EPROM输出PCM信号格式单一、固定的问题[5-6]。
该设计能够实现1024通道以内的任意通道数的参数配置,参数包括正弦波、方波、三角波、锯齿波、随机数和固定值等6种波形,固定值支持用户自定义,每个通道支持8 bit和16 bit字长可选。
参数可调的PCM信号源框图如图1,主要包括背板总线接口、LVDS通信模块、FPGA控制模块、输出驱动模块和电源模块。LVDS通信模块实现指令数据流的高速接收和解串的功能,包括高速串化器和高速解串器两个部分。FPGA则完成通道参数配置和数据存储等信号源基本功能实现的逻辑控制,电源模块提供信号源电路基本的电压信号,信号源的输出驱动电路实现PCM码流的单端输出和差分输出。
信号源工作原理:通过计算机配置每条通道的波形,并将配置后的参数进行打包,下发给PCM信号源卡;背板总线上的指令数据流经过LVDS解串后传输至FPGA逻辑控制单元,由其对指令进行接收和处理,并将数据流中的参数和用户定义的固定值写入内部RAM进行存储;当写入完成时分别读取各通道参数,根据参数值读取相应的波形数据;最后,将并行的波形数据并串转化,输出PCM串行码流。
在本设计中,通道个数即为PCM码的副帧长度,可定义范围为1~1 024。PCM信号源波形参数支持6种信号:正弦波、方波、三角波、锯齿波、随机数和固定值,其中固定值的内容可在计算机软件上编辑。
1.1指令流接收电路
在PCM信号源指令数据流的接收电路上,采用了低压差分接口技术(LVDS)。通过连接背板总线,实现信号源与背板之间的高速数据通信。LVDS是一种效率极高的技术,具有低摆幅输出电压、高传输速率和低功耗的优点,使得其在高速数据通信电路设计中经常被使用[6,7]。因此,能够满足设计中对数据和指令的高速接收要求。在本设计中选用了集成高速串化器和解串器于一体的18 bit DS92LV18芯片,其具有支持15 MHz~66 MHz的时钟、独立的发送器和接收器操作、内部PLL、线性回环和本地回环模式等特点。
1.2输出驱动电路
为了提高PCM信号源的通用性,设计了单端或差分两种输出方式。单端输出之前,使用了一个AD⁃uM1200双通道数字隔离器对输出信号进行隔离。其中ADuM120x系列隔离器支持低电压工作并能实现电平转换,具有很低的脉宽失真(<3 ns)和直流校正功能,自带的刷新电路保证了即使不存在输入跳变的情况下输出状态也能与输入状态相匹配的优点。差分输出则通过采用DS26C31M单端转差分驱动芯片来实现,该芯片是一个4路CMOS 3态差分线驱动器,其满足RS-422的EIA标准需求,支持将输入的TTL或CMOS电平转换为RS-422电平输出。
为了实现多通道输出波形可配置的PCM信号源的设计,需要将计算机下发的基本参数配置信息和固定值接收和存储,这一过程主要通过逻辑控制单元实现。其中FPGA内部程序框图如图2所示。
图2 FPGA程序框图
图2中,主要模块包括:指令接收和处理模块、参数信息存储模块、波形数据存储模块、数据产生模块和PCM码并串转换输出模块。当接收到指令数据流,信号源首先完成基本PCM输出参数(码率、字长、副帧帧数和同步字等)的配置。当各通道配置完成后,输出的并行数据经过FIFO缓冲,输入到PCM并串转换模块,将并行的8位数据信号转换为串行码流输出,此时转换时钟是FIFO读时钟的8倍。
2.1参数包协议
参数可调信号源设计的关键之一,是设计一个信号源与计算机软件通信的协议。在本设计中,为了方便底层硬件的接收和存储,将配置的通道参数和固定值数据按照一定的格式进行打包下发。PCM信号源则根据接收到的参数包起始和结束标志信号完成各个通道参数的接收和存储过程,其主要下发的参数包格式如表1所示,其中数据类型data[9:8]用二进制表示,data[7:0]用十六进制表示。
表1 参数包格式
其中将数据的高两位data[9:8]作为区分数据(“00”)、地址(“01”)、命令(“10”)和参数(“11”)的标志,data[7:0]则为具体的数值。8位波形参数范围为“00~05”,分别对应正弦波、方波、三角波、锯齿波、随机数和固定值6种类型。信号源地址为“01”,起始命令为“20”,参数包结束命令为“21”,固定值默认16位。波形ROM中偶数地址存16位的高8位,奇数地址则为低8位,与固定值RAM相同。
2.2数据包接收与存储
指令接收和处理模块首先记录下设置的副帧长度(即通道数p_max),作为判断参数存储完成的一个信号。在接收到通道配置数据包的起始命令(“20”)后,开始接收和存储通道参数进程。当通道参数_RAM写地址(addra)≤p_max以及包数据中高两位data[9:8]为“11”(参数标志)时,将此时data [7:0]写入参数存储模块。同时,判断参数类型,如果当前通道参数为固定值时,将参数后的两个低8位数据写入固定值RAM模块中进行存储,其他波形参数后的固定值数据忽略。这就保证了设置的通道固定值按顺序进行存储,便于数据产生单元读取。
如图3所示,数据包接收时保证固定值RAM和通道参数RAM读无效。当完成一次接收后,将写使能置零并保持写地址不变,同时反馈给通道配置与数据产生控制单元一个写完成标志flag。假设通道参数RAM中灰色部分为固定值参数,则固定值RAM中两个地址对应1个通道。为防止地址溢出,当写地址达到最大时,保持写地址最大,不执行加一操作。
图3 参数配置读写框图
2.3多通道配置
各通道数据能够正确输出的前提是,写完成标志flag='1',且读数据ROM或固定值RAM时通道参数已准备好。取数据之前,先按地址顺序访问参数RAM,判断出对应的波形。数据产生单元先输出帧头(EB 90或9A BC B5 2C),之后根据波形参数从对应的波形ROM中取出相应的数据。当输出完一个副帧长度数据后,开始下一副帧的输出。如果字长为16 bit,则每一帧需从每个波形ROM或固定值RAM中顺序读出2个数据,即每条通道由2个8 bit数据组成。字长为8 bit时,读取波形ROM高8 bit的数据或读取固定值RAM中的低8 bit固定数,如图4是多通道配置的基本时序图。
图4 通道参数配置时序图
多通道参数可配置主要是利用RAM可读写和ROM只读的特性来实现的,当参数或固定值写完之后,使写无效,之后读取参数和固定值时,将固定值RAM和通道参数RAM作为ROM进行循环读操作。此时,这两个RAM相当于ROM。
为了验证设计的PCM信号源的功能及其特性,将对应的PCM解码和传输卡插入背板,并将其数据输入与信号源的输出相连进行实验。PCM信号源产生的PCM串行码流解码后传送到计算机,通过计算机软件进行数据分析、波形显示和全帧显示,从而验证设计的准确性和可靠性。图5是测试多通道输出可调的PCM信号源时计算机记录和存储的一段数据,此时下发的配置参数为:副帧长度(通道数)为100,帧头为EB90,副帧帧数(行数)为10,通道设置如图所示。图6为100通道16 bit字长时的一段数据,图7为1 024通道8 bit字长、帧头为9A BC B5 2C的一段数据,图示中14 6F和65 43 4A D3为副帧帧结束的帧头。
图5 100通道一帧数据
图6 100通道16位字长
图7 1024通道8位字长
可配置的通道数大小与FPGA内部定义的p_macx(副帧长度)信号有关,在本设计中p_max为10 bit,通道参数_RAM深度为1 kbyte,并且支持每个通道16 bit数据输出。通过多次进行不同设置的实验和计算机的分析,验证了所设计的多通道可调PCM信号源的正确性和可靠性。
本文设计了一种多通道输出波形可调的PCM信号源,该信号源在设计中充分利用了FPGA内部的RAM和ROM逻辑资源及其特点。详细介绍了多通道可配置实现的协议及其软件设计方法,该设计已能够实现高达1 024个通道参数的配置,支持每条通道8 bit或16 bit的数据输出,码率范围为1 Mbit/s~10 Mbit/s。这种设计方法使得其在复杂多样化信号源、多通道可配置设计和PCM模拟应用中具有很高的应用价值和参考价值。
[1]张彦军,刘龙飞,刘薇.基于FPGA的通用PCM测试仪的设计[J].火力与指挥控制,2013,38(1):145-148.
[2]高培先,乔东峰.脉冲编码调制模拟器设计[J].计算机测量与控制,2006,14(12):1700-1703.
[3]杨聪伟.通用遥测信号源设计[J].航天器工程,2008,17(3):67-70.
[4]冯文全,张晓林,蒋乐.内嵌高斯白噪声模块的可编程卫星信号模拟源[J].航空学报,2006,27(6):1189-1193.
[5]左海洋,马成炎,孙玲玲.PCM编解码器中高性能开关电容滤波器设计[J].电子器件,2010,33(6):772-776.
[6]张会新,张凤英,马睿,等.一种多指令信号源遥测系统的设计与实现[J].电子器件,2015,38(2):458-462.
[7]王冰,靳学明.LVDS技术及其在多信道高速数据传输中的应用[J].电子技术应用,2003,29(03):55-57.
[8]易敏,苏淑靖.基于LVDS的高可靠性数据传输设计[J].微电子学与计算机,2014,31(9):131-134.
童林(1984-),男,汉族,安徽蒙城人,中国电子科技集团公司第四十一研究所,工程师,主要研究方向为数字信号处理技术研究,cetcyqoffice@163.com;
孙宏(1967-),男,汉族,安徽蚌埠人,中国电子科技集团公司第四十一研究所,研究员级高工,主要研究方向为通信传输与协议测试研究。
The Design of Pulse Code Modulation Signal Source with Programmable Frame Format
TONG Lin*,SUN Hong
(The 41st Institute of China Electronics Technology Group Corporation,Qingdao Shandong 266555,China)
Aiming at the problem that the output signal parameters of the telemetry PCM(Pulse Code Modulation)analog source output signal is not adjustable,a PCM signal source has been proposed for the design of output frame format programmable.The method takes FPGA as the logical control center,makes full use of its internal resources and flexible configuration features,and achieves a continuously variable bit rate,frame format programmable PCM signal sources.Test results show that the design of signal source can output the main frame 1~1 024,deputy frame 1 to 256 within the scope of the frame format of programmable PCM data streams.Data flow can choose sine wave,tri⁃angle wave,square wave,sawtooth wave,random number,and a fixed value data.
telemetry;signal source;PCM(Pulse Code Modulation);output adjustable
TN919
A
1005-9490(2016)02-0334-05
EEACC:6210J10.3969/j.issn.1005-9490.2016.02.018
2015-06-01修改日期:2015-07-10