文档库 最新最全的文档下载
当前位置:文档库 › 基于Borland C++ Builder的PCI并行同步采集卡应用

基于Borland C++ Builder的PCI并行同步采集卡应用

基于PCI总线的2FSK调制信号检测方法

李辉张庆辉

(军械工程学院,河北石家庄 050003)

摘要:针对某C3I系统2FSK调制信号的检测,应用PCI总线技术构建了基于C++ Builder 5编程平台的2FSK调制信号自动检测系统,重点介绍了其软件实现方法和技术。

关键词:PCI总线 C3I系统 2FSK 检测系统 软件实现

2FSK Modulation Signal Detection Method

Based on PCI Bus

Li hui Zhang Qinghui

(Ordnance Engineering College, Shijiazhuang 050003)

Abstract:Aiming at the 2FSK modulation signal detection of a certain type of C3I system,a 2FSK modulation signal detection system based on C++ Builder programming platform is constructed applying PCI bus technique,and its sofeware implementation method and technique are introduced in detail.

Key words:PCI bus C3I system 2FSK detection technique

software implementation

1 引言

对C3I系统而言,通信设备是联络各站的桥梁,是指挥系统的基础和命脉,其工作正常与否直接关系到系统整体效能的发挥,因此,对它的性能测试要求较高。同时C3I系统的通信网络中信号种类繁多,给测试工作带来困难。频移键控FSK(frequency-shift keying)信号是某C3I系统通信网络中信号的一种,它具有数字通信的诸多优点,适用于中、低速数据传输,在C3I系统中有广泛的应用。作者在对该C3I系统进行性能测试时,构建了一个基于PCI总线的2FSK通信信号自动检测系统,成功地完成了对设备的测试任务。下面,结合工程实际,对其软件实现技术和方法进行详细探讨。

2PCI总线

在计算机检测系统中,总线是连接各硬件模块的基础。PCI(Peripheral Component Interconnect)总线,即外围部件互连总线,是一种高性能32/64位地址数据复用高速外围设备接口局部总线。随着微处理机性能的不断提高,原来的总线标准ISA、EISA等已经不能胜任现代数据传输的要求,而PCI总线由于其数据传输速率高、成本低、与处理器无关以及扩展性强等优点而越来越受到开发者的青睐。因为通信信号检测系统要求实时地传输大量数据,而且要求经常改变工作状态(接收或发送)和工作方式(有线或无线),所以采用PCI总线作为其数据传输总线是值得研究的。

3 系统硬件组成

自动检测系统主要由硬件和软件两大部分组成。其硬件主要包括工控机、数 据采集卡、数/模转换卡和信号调理卡等。如图一所示:

图一:检测系统硬件组成框图

工控机配有6个PCI 总线插槽和5个ISA 总线插槽。数据采集卡为PCI-9118DG A/D 采样卡,提供16个12位A/D 通道、1组自由使用的16位计数器通道,用来采集被测通信设备的输出信号。模/数转换卡为PCI-6208V,提供8个16位D/A 通道,用来向被测设备发送调制数据,形成激励信号。信号调理卡主要由稳压电路、继电器控制电路和滤波电路组成,用来保护数据采集卡。 4 系统软件实现

软件由初始化程序、数据发送模块、数据采集模块和数据处理模块组成。如图二所示:

检测系统选用成熟的

Windows 98操作系统平台,编程语言选用C++ Builder,可以直接调用API 函数和32位静态库和动态链接库函数。在对PCI-9118DG 卡和PCI-6208V 卡编程使用时,需调用厂家提供的动态链接库(DLL)中的C/C++函数。

4.1 数据发送模块

数据发送模块完成数字基带编码的产生、调制以及通过对PCI-6208V卡编程操作,实现数据的发送和2FSK调制信号的形成。

4.1.1 与设备通信协议相一致的数字基带信号编码实现

数字基带信号编码的产生可分为两步:

第一、 产生符合通信信息格式的初始数据。设备的异步通信信息格式一般包括起始位、数据位、奇偶校验位、结束位等,它们是产生初始数据的依据。比如,作者所研究的通信设备的异步通信信息格式如下:

0 B0 B1 B2 B3 B4 B5 B6 B7 1

由该格式可知,发送8位数据需要同时发送一位起始位和一位结束位,可以理解为通信数据是从编码1000000000 ~ 1111111110之间的数,转换为十进制数就是介于512(2的9次方)与1023之间的数。初始数据的产生是在有效数据乘2的基础上加512。

第二、把初始数据转化为二进制序列并存于数组中,就得到与设备异步通信信息格式一致的数字基带信号编码。

4.1.2 相位连续、频率准确的2FSK调制信号的产生和数据的发送

将得到的数字基带信号编码的每个码元转换为一定数目的描述信号波形(频率为f1和f2的余弦波形)的数据,并存于数组中,按照一定的时间间隔通过D/A卡把这些数据发送出去,就能够形成我们所需的2FSK调制信号。得到的调制信号要保证相位的连续和频率的准确。

利用D/A卡发送数据,必然涉及到定时问题,也就是要设置好数据发送的时间间隔。时间间隔设置不合适,就得不到频率准确的调频信号。作者测试的通信设备数据传输速率为1200b/s,若要使每个码元转换为100个描述信号波形的数据并发送出去,则数据的发送间隔就要设置为8.3微秒(每秒发送120k个数据)。值得注意的是,发送间隔的设置要保证每个码元转换的数据数目为整数,否则得到的信号频率是不稳定的。

软件实现D/A卡的发送定时方法很多,但常规定时方法大多是通过系统的中断来实现,其最小定时量仅为55毫秒。而测试系统的实时性特点使得计算机控制软件对定时精度要求很高,达到了微秒级的定时单位,这是常规定时方法无法达到的定时精度。此时除了采用专门的定时卡以外,还可以通过在C++ Builder 平台下调用API函数来实现定时,这里不再详述,只给出WIN32 API提供的能实现微秒级定时的两个相关函数:QueryPerformanceFrequency()和QueryPerformanceCounter()。

4.2 数据采集模块

利用DLL提供的功能函数,再配以C++ Builder 5 强大易用的功能,很容易通过PCI-9118DG采集卡实现对设定通道内数据的采集。下面是其简单的例程:Void _fastcall Tform1::DAButtonClick(TObject Sender)

{

FILE *stream=fopen("c:\\windows\\desktop\\zxq9118wt.dat","wb");

//打开数据文件

AI_ContReadChannel(dcard, channel, AD_B_5_V, dai_buf, ddata_size,

(F64)sample_rate, ASYNCH_OP);//采集开始

do {

AI_AsyncDblBufferHalfReady(dcard, &HalfReady, &fstop);

} while (!HalfReady);

AI_AsyncDblBufferTransfer(dcard, dai_buf);//获取采集卡FIFO中数据

fwrite(dai_buf,2,5000,stream);//保存到数据文件

fclose(stream);

Release_Card(dcard);

}

需要说明的是,AI_ContReadChannel( )函数触发连续A/D转换并以DMA 方式传输数据,它允许A/D转换数据以队列的形式从9118自带的FIFO向计算机内存自动连续地传输,A/D转换和数据传输都在后台工作,不占用CPU资源。这样用户可以在采集和传输的同时进行数据处理,保证了系统实时处理的速度。

4.3 数据处理模块

数据处理模块进行信号解调、波形显示以及频率、幅度和误码率的分析等操作。

信号的解调采用过零检测法,即根据2FSK信号的过零点数随着载频的不同而不同,先检测出过零点数得到载频的差异,再进一步得到调制信号的信息。该方法用C/C++语言实现起来比较容易,在此不再详述。

波形的显示可以利用C++ Builder的Tcanvas对象,用简单的绘图语句在图像框等控件中实时复现出数据波形,也可以通过Teechart统计图表控件对采集数据进行波形复现和简单的分析。要对数据信号的频率、幅度和误码率作进一步的分析,可以通过调用Matlab进行高级的处理。

5 结束语

利用C++ Builder进行基于PCI总线的检测系统开发,可以与各类数据采集卡、数/模转换卡进行无缝集成,该系统工作可靠、稳定,已成功应用于某C3I 系统的检测仪中。同时,对应用程序中相应的参数进行更换,也可适用于其它通信设备的检测。

参考文献:

[1] 李贵山,戚德虎. PCI局部总线开发者指南[M],西安:西安电子科技大学出版社,1997.

[2] 朱时银,马承志. C++ Builder 5编程实例与技巧[M],北京:机械工业出版社,2000.

[3] 冯振声.自动检测技术应用研究[M],北京:兵器工业出版社,1998.

作者简介:

李辉,男,汉族,1966年11月出生,河南省扶沟县人,硕士研究生,导航、制导与控制专业,主要研究方向为系统仿真,为本文第一作者。

张庆辉,男,汉族,1974年3月出生,河南南阳人,硕士研究生,主要研究方向为火控与指控系统的性能测试。

论文标题:

基于PCI总线的2FSK调制信号检测方法。通信方法:

姓名:李辉

地址:河北省石家庄市军械工程学院研究生一队邮编:050003

电话:139********

(本人声明不要稿酬)

相关文档
相关文档 最新文档