首页 | 供应信息 | 采购信息 | PDF资料 | 技术资料 | 行业资讯 | 产品展示 | 人才市场 进入会员区
   技术文章分类:单片机/DSP 嵌入式系统 测试仪表 电源技术 接口电路 存储器 传感与控制 通信网络 无线通信 模拟技术 显示与光电 EDA/PLD 汽车电子 消费电子 电子综合
   电子综合工具:PDF资料大全 电子缩略语 IC型号替换 IC厂家 电子电路图 技术参数 设计应用 解决方案
技术资料 行业资讯 PDF资料 IC价格 IC替换 缩略语 IC供应 IC采购
  您所在的位置: IC37首页 > 技术资料 > 测试仪表 > 高速HDLC数据实时接收/测试仪的设计实现
高速HDLC数据实时接收/测试仪的设计实现
类别:测试仪表  
 
作者:湖南长沙国防科技大学电子科学与工程学院(410073)王 浩 葛 锐 欧 钢

来源:《电子技术应用》

摘要:介绍了高速HDLC数据接收/测试仪的设计实现方案。该测试仪通过使用现场可编程逻辑电路(FPGA)技术和多线程软件结构,将硬件的高速处理特性和软件的灵活性相结合。基于PCI总线的硬件接收卡将高速数据实时传送至系统缓冲区,然后调用软件进行并行数据处理,从数据流中提取出测试信息,完成接收与测试功能。 关键词:HDLC 实时数据处理 多线程 在通信系统的测试中,经常需要实时接收和处理HDLC格式数据。使用自行开发的高速HDLC数据实时接收/测试仪可以很好地保证数据处理的灵活性,用户可以根据具体的处理环境来定制测试仪的功能和性能指标。本文结合一个通信误码率测试 仪的开发过程,介绍高速HDLC数据接收/测试处理板的设计原理和结构。 1 系统组成 该高速HDLC数据接收/测试仪共分为两部分,一部分为数据接收硬件,由一块微机插卡实现;另一部分为接收终端软件,由运行于Windows操作系统平台的软件实现。硬件板卡基于PCI总线结构,使用FPGA技术将数据读写和HDLC协议解释固化于硬件平台,以提高实时处理性能,同时在终端软件上采用多线程并行处理技术减少处理延时,完成实时数据处理和指标统计。 2 高速HDLC数据接收/测试仪硬件设计 2.1 基本技术要求 (1)可接收HDLC格式数据,也可接收同步触发模式数据,其工作状态可由软件通过计算机端口进行控制; (2)接收板可接收的最高数据速率为10Mbit/s; (3)可将HDLC格式数据中的空帧过滤掉,也可接收所有数据帧,其工作模式由软件控制; (4)可工作于自发自收状态,以利于调试; (5)接收板的兼容性要好。 2.2 接收板工作原理 数据接收板原理框图如图1所示。测试数据通过RS-422电缆传送到数字接收板的数据接收端,经电平转换后,磅给FPGA处理。接收板上由接收芯片MC3486接收RS-422电缆传输的差分信号,并转换为TTL电平输入FPGA进行信号处理。FPGA产生20位地址和写信号,将8位的数据由SDRAM左端口写入,同时将工作状态反映在状态控制端口,计算机查询端口状态,产生相应的地址和读信号,由SDRAM的右端口将数据读出。为协调数据到达的不均匀性和软件读写的均匀性,对SDRAM的读写采用“乒乓式”缓冲,即将SDRAM分为高低两区,FPGA写高区时,计算机读低区;FPGA写低区时,计算机读高区。从而保证了读写高速进行且不会发生冲突。GAL16V8的作用是对端口地址高8位进行译码,以保留FPGA管脚资源。 在实现“乒乓式”缓冲读写时,具体是读高区数据(起始地址为d8000)还是读低区数据(起始地址为d90000),要通过查询方式判定。测试软件不断查询端口201h的q5,若q5为1,则查询q7和q2,若q7=1,则读高区数据,若q2=1,则读低区数据。为了保证读取的数据不掉帧,系统应能在掉帧时发出警告信息。为此,在FPGA内做一4位计数器,对帧数计数,帧计数器的值传给端口201h的最低两位q1和q0。软件中设置一参数counter,首先使counter的值与帧计数器的值相同,以后每读一帧数据,counter加1(若counter大于3,则置其为0),同时读取帧计数器的值(即q1、q0的值),与counter比较,二者不同时则发出警告信息。 接收板的状态控制端口参数列于表1。

表1 实时HDLC数据接收板端口控制参数 端口名称 端口作用 数据流向 功 能 201h 状态控制 双向端口 读入时 Q7=1,计算机读SDRAM低区 写入时 Q0=0,过滤空帧

Q0=1,接收所有帧 Q7=0,计算机读SDRAM高区 Q1=0,工作于HDLC

Q1=1,工作于同步 202h 空帧计数器 只读 对空帧计数 203h 数据帧计数器 只读 对数据帧计数 读取HDLC格式的数据时,每帧需从第四个地址单元读取数据,即D8003h和D9003h;读取固定速率突发方式的数据时,每帧需从第一个地址单元读取数据。读取的每帧数据中包含有该帧数据个数的信息,通过此信息,软件决定何时读完帧数据。测试数据通通RS-422电缆传送到插卡的数据接收端,经电平转换后,送给FPGA处理。主要是将HDLC格式和固定速度突发方式的数据解调,解调后的有效数据以乒乓方式发生一高速双口RAM,计算机通过访问RAM(地址定为D8000~D9FFFh)来读取测试数据。 3 高速HDLC数据接收/测试仪软件设计 测试仪软件负责读取缓冲区数据并实时处理和显示。软件由Visual C++编写,可运行于Win95/98/2000/NT平台。软件采用多线程并行处理构架,如图2所示。 3.1 界面线程 界面线程负责显示数据处理结果和用户交互操作。界面线程将数据处理的结果实时显示出来,包括统计结果、数据源码和数据段信息等测试内容。 3.2 缓冲区线程 缓冲区线程负责将该缓冲区内的数据及时读取并锁定至软件缓冲区,并且将数据进行初始处理。 在整个测试仪软件中,缓冲区线程负责主要的数据处理工作。在缓冲区线程中,一个处理循环在不停运行,直到界面线程的暂停和终止命令发生时停止。在该处理循环中,不停地对端口201h的q5位进行查询,以判别是否有数据到达。如果有数据,则判别缓冲区位置,并将硬件缓冲区的数据及时读至软件缓冲区,等待后续处理。为协调高速数据和后缓数据处理之间的时间矛盾,软件采用三级缓冲:第一级缓冲通过板卡将数据写入至系统内存;第二级缓冲将系统内存管理的硬件缓冲缓冲区数据移至软件缓冲区;第三级缓冲将软件缓冲区数据移至处理缓冲区。 为提高数据处理灵活性,测试仪软件提供定制缓冲区功能。通过该功能,操作者可以根据实际接收的数据情况来灵活配置测试仪。对于高频度短数据,采用较大缓冲区;反之,对于较低频度长数据,采用较小缓冲区。这样,可减少数据缓冲的时间消耗,提高实时性。 3.3 数据处理线程 数据处理线程负责根据数据协议对原始数据进行拆包、信息处理和实时统计。 对于HDLC帧格式数据,HDLC协议层数据处理已在硬件FPGA中完成,输出至缓冲区的数据直接就是透明数据。此时,数据处理线程的主要处理对象就是存于数据处理缓冲区中的数据。根据数据协议,测试仪软件首先将数据组合帧人原始数据中取出,并分离出组合帧中包含的总帧长、包含子帧数等信息。然后根据这些信息将组合帧拆分成子帧,再根据数据协议将内部包含的通信信息取出,并调用实时统计模块进行指标统计。数据处理流程如图3所示。 本文介绍的高速HDLC数据接收/测试仪具有可靠性高、运行性能稳定、功能定制灵活等优点。以它为主要框架的通信误码率测试仪已经成功应用于某卫星地面站设备的出厂测试中。在测试过程中,程序稳定可靠运行,同时,基于Windows的图形界面提供了充足的信息显示和良好的人机交互接口,提高了测试结果的可视性。今后,测试仪将从硬件和软件两个方面进一步提高响应能力,提高数据吞吐效率,使之更好地满足实际使用要求。

 
我要投稿 注册会员
客服咨询热线:0755-26000950 0755-26007355
 相关技术资料
·石化仪器仪表系列讲座-温度  2008-1-24
·浅谈影响仪器仪表差热分析的..  2008-1-24
·新一代温度仪表自动检定装置  2008-1-14
·国外仪器仪表的发展趋势  2008-1-14
·电子测量仪器的分类及其应用..  2008-1-2
·LAN/LXI在仪器控制方..  2008-1-2
·虚拟仪器技术的飞跃  2007-12-24
·流量测量方法和流量仪表选型  2007-12-20
·如何正确选购温湿度测量仪表  2007-12-17
·变频技术小知识  2007-10-27
·LS变频器基本参数在实际应..  2007-9-19
·现场仪表系统常见故障的分析..  2007-9-19
·智能仪表在低压监控系统中的..  2007-9-14
·经济高效的单芯片以太网连接..  2007-8-7
·Wi-Fi的迅猛增长推动增..  2007-8-9
·电子标签与商业应用  2007-8-9
·耐压测试中接触检测的必要性  2007-7-29
·利用Fluke 87V数字..  2007-8-9
·用Labwindows/C..  2007-7-29
·用频谱分析法测量数字信号电平  2007-7-29
 
 热门IC
1604M16  LBA127L  MC74LCX14DTR2G  TA2131F  ADP3330ART-2.75-R7  CXD9764GP  MAX755ESA  74ACT574MTR  MB8265A-12  M30800FCGP  SN74ALS00ADB  LP2983IM5X-1.2  MFRC53001T  AM186ER-25KC  SN74LS145NSR  TC9322FB  LP62S1024AX-70LLT  SN74ACT16244DL  XC6368A231MR  CD54ACT374F3A  MAX1535CETJ-T  77016NC  AT45DB041N-SJ  PEF22818F  ADM692AAN  STW8NC90Z  AM2901DC  SDA2121-2  HAT1020R  NJM555V-TE1  MM74HC4066WM  MX256V020TI-25  AN8497SA-E1  MB89259A-PF-G-BND  BA10324AFV  EM638165TS-7G  UPD65943GA-Y51-9EU  IL755B  LQH3N101K04M00  TA2152FL  ADC0804CD  74HC40103  S40K01  FAN1086M25X  PAL16L8A2NC  NJM2180  M52342BFP  M50780SP  LM3578N  MB81C1000-10P