![基于GPIB总线的无线电频谱监测系统的设计-设计应用_第1页](http://file4.renrendoc.com/view/db8d8725c3381df8cd0df0a4d83e58f7/db8d8725c3381df8cd0df0a4d83e58f71.gif)
![基于GPIB总线的无线电频谱监测系统的设计-设计应用_第2页](http://file4.renrendoc.com/view/db8d8725c3381df8cd0df0a4d83e58f7/db8d8725c3381df8cd0df0a4d83e58f72.gif)
![基于GPIB总线的无线电频谱监测系统的设计-设计应用_第3页](http://file4.renrendoc.com/view/db8d8725c3381df8cd0df0a4d83e58f7/db8d8725c3381df8cd0df0a4d83e58f73.gif)
![基于GPIB总线的无线电频谱监测系统的设计-设计应用_第4页](http://file4.renrendoc.com/view/db8d8725c3381df8cd0df0a4d83e58f7/db8d8725c3381df8cd0df0a4d83e58f74.gif)
![基于GPIB总线的无线电频谱监测系统的设计-设计应用_第5页](http://file4.renrendoc.com/view/db8d8725c3381df8cd0df0a4d83e58f7/db8d8725c3381df8cd0df0a4d83e58f75.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑基于GPIB总线的无线电频谱监测系统的设计-设计应用随着通信技术的发展,无线电资源作为公共资源的一种,需要国家有关部门对其进行有效的分配和监控。设计界面友好、运行稳定、实时反应迅速的监测软件是对无线电资源进行有效配置的重要环节,也是国家和公众信息安全保障的重要环节。本文以Rohde-Schwarz公司的ESVN40作为频谱监测接收机来进行无线电监测软件的设计。
1系统的工作原理及组成
1.1工作原理
系统以工控机、监测接收机及天线系统为主组建无线电监测软件系统。监测接收机通过其上的天线接口来采集无线电信号,然后通过监测机自带的通用接口总线(General-PurposeInterfaceBus,GPIB),由安装在工控机上的PCI插槽中的PCI-GPIB卡传输到工控机,由工控机实现对采集到的信号样本的显示、分析和保存等操作功能。
1.2系统的硬件组成
无线电信号监测系统的结构框图如图1所示。该系统由工控机、PCI-GPIB卡、GPIB接口电缆、ESVN40测试接收机和带有天线选择转换器的9k~3000MHz的多模天线系统组成。
1.3ESVN40测试接收机的特点
ESVN40作为功能较为强大的场强监测及扫描接收机,覆盖了9k~2.75GHz的频率范围,可以完成以下的无线电监测任务:(1)单频点的ITU(InternationalTelecommunicationUnion)测量,包括电平、调制深度、频率偏移、相位偏移及频率补偿量的测量。(2)单频点的频谱分析。(3)频段的扫描。该方式支持多种扫描方式,以满足用户对扫描速度和返回数据的要求。在与主控机的通信方式上ESVN40采用GPIB总线方式与主控机进行控制信息和数据信息的交换,其控制较灵活。同时GPIB卡的接口方式使得主控机对远程设备的控制变得较为容易。
1.4GPIB接口方式的优越性
GPIB工业总线是NI公司的产品。它在软件方面提供了完全的兼容性,为用户软件的升级节约了成本,提高了开发效率。GPIB系统的特点如下。
(1)GPIB板卡软件的成熟性。NI公司提供了具有良好兼容性能的API函数。NI提供的每一代驱动软件都保持与现有的NI-488应用底层的兼容性。无论开发者是使用NI-488.2的函数,还是使用LabVIEW或LabWindows/CVI(CforVirtualInstruments)等应用开发环境,NI-488.2软件结构都能提供一种稳定的GPIB控制。同时NI-488.2软件也在不断地更新,以取得的性能。
(2)系统的可扩充性。如果要在该软件的基础上增加测向的功能,利用GPIB作为一种标准总线形式,则只要加入带有GPIB接口的仪器,便可以将该系统扩展为一个功能较完备的监测系统。
1.5软件系统的设计
本系统软件在结构上采用了模块化的设计思想。同时为了提高系统的实时速度,充分利用了Windows软件设计的多线程技术,采用Windows的消息环来完成多个线程之间的信息交流。系统应用了2个线程:(1)底层取数据线程,其流程如图2所示。它用于实时地通过GPIB卡与ESVN40进行控制与数据的采集。(2)上层用户界面线程,其流程如图3所示。它用于用户界面的显示,响应用户的测量任务,对实时数据进行显示、分析和保存等操作。这样,可以使2个线程并行,从而提高整个软件系统的实时响应速度。取数据线程,采用VC++开发,这主要是考虑到C++语言易于实现对硬件的控制;而用户界面处理的线程主要用Delphi来完成,主要是考虑到Delphi语言对界面的设计非常便利和灵活,可以大大提高开发效率。
二个线程的工作机理:在用户程序初始化的过程中,创建以上的2个线程,同时它们都处于等待的状态。当用户在程序界面开始各种测量任务时,由界面线程以消息的形式发给下层取数线程,各种任务号在消息参数中进行传递。下层取数线程在接到任务消息后,根据具体的任务,通过GPIB卡把任务翻译为ESVN40的命令字符串传送给接收机,同时对测量参数进行有针对性的设置,然后通过具体的命令启动仪器来完成测量任务。当监测到仪器把相应的数据准备好,且状态寄存器标识为有效后,通过GPIB卡读入测量数据。读数线程将读到的数据进行解析,然后放入某个内存区中并以消息的形式通知用户界面线程数据已经准备好,而数据块的地址包含在消息参数中。用这种方式发送仪器控制命令和读取仪器的测量结果,用户界面线程负责完成相应的测量结果的显示、分析及保存。2条线程的处理在时间上完全分开,从而仪器在实时信号分析的时候,几乎是在连续地进行采样,这样大大提高了整个系统的实时响应性能。
2软件设计中扩展性问题的解决方案
在该系统中,为了加强系统的功能,就要对系统进行扩展,但是仪器与控制计算机不一定都采用GPIB接口。为了提高底层取数线程的可扩展性,底层充分利用C++中类的思想进行设计,为此可以创建一个通信接口类ICommDevice作为通信接口。接口方法如下:
(1)打开一个通信接口。
(2)向该通信接口写一个字符串。
(3)从该通信接口读一个字节。
(4)从该通信接口读一个字符串。
(5)关闭已打开的通信接口。
在系统中,GPIB卡作为该通信接口类的子类,其实现以上方法的关键代码和具体方法的功能如下:
①在打开GPIB卡的方法中,主要完成对GPIB卡的初始化,同时获得ESVN40和GPIB卡的控制句柄。
BOOLCGPIB∷Open(intBdIndx,intpad,intsad,inttmo,inteot,inteos)
{if(m_bOpened==TRUE)
returnTRUE;
m_ctrl=ibfind(″GPIB0″);//获得GPIB卡的控制句柄
if(m_ctrl0)
returnFALSE;
ibconfig(m_ctrl,IbcAUTOPOLL,0);//禁止AutoPoll
eot=1;
eos=0x0C0A;
m_dev=ibdev(BdIndx,pad,sad,tmo,1,eos);
//获得ESVN40的控制句柄
if(ibstaERR)
{sprintf(ErrString,″打开GPIB卡出错!错误号:ibsta=
0x%xiberr=%dn″,ibsta,iberr);
this-SetError(ErrString);
returnFALSE;
}
ibbna(m_dev,″GPIB0″);//将ESVN40分配给GPIB卡
setGPIBEos(0x0C0A);
m_bOpened=TRUE;
returnm_bOpened;
}
②GPIB类中向仪器写字符串的方法主要用于完成从控制计算机向仪器发送控制字符串的功能,可以用异步或者同步方式进行传送。在写之前,要对超时进行合理的设置。通常,如果字符串较长,可以把超时设定得大一些。其关键代码如下:
intCGPIB∷SendData(constchar*buf,intDataLength)
{stringtmpbuf;
tmpbuf=buf;
tmpbuf+=10;
ibeot(m_dev,1);
ibwrta(m_dev,(void*)tmpbuf.c_str(),tmpbuf.size());
//异步写字符串到仪器
ibwait(m_dev,0x4100);//等待写操作完成
ibwait(m_dev,0x0000);//读出GPIB的状态
if(ibstaERR)
{
returnFALSE;
}
returnibcntl;
}
③从仪器接收字节的方法主要用于完成从ESVN40的数据缓冲区中读入一个字节。该方法对于读取仪器的状态寄存器非常有用。
intCGPIB∷ReadChar(char*ch)
{
if(!(m_bOpened)||(m_dev==NULL))
returnFALSE;
inti=1;
RecvData((void*)ch,i);
returnTRUE;
}
④从仪器读入数据的方法主要用于完成读入仪器的测量结果。对于ESVN40而言,预期返回数据的长度与实际返回的数据长度是有差别的。在设定预期返回数据长度时,应该尽量设置得大一些,以保证每次测量数据不被认为丢失。对于超时参数的设置,与写操作的原则是相同的。该方法的实现代码如下:
intCGPIB∷RecvData(void*Buffer,intlimitLength)
{if(!(m_bOpened)||(m_dev==NULL))
returnFALSE;
ibeot(m_dev,1);
i^mo(m_ctrl,T3s);
i^mo(m_dev,T3s);
ibrda(m_dev,Buffer,limitLength);
//从仪器异步读数据到Buffer
ibwait(m_dev,0x4100);//等待异步读完成
intnLocCount=ibcntl;
if(ibstaERR)
returnFALSE;
ibwait(m_ctrl,0x0000);
if(ibstaERR)
return-1;
returnnLocCount;
}
⑤关闭仪器的方法主要用于将仪器置为本地测量方式,同时使仪器处于离线状态。其关键代码如下:
BOOLCGPIB∷Close()
{if(!(m_bOpened)||(m_dev==NULL))
returnTRUE;
ibloc(m_dev);//置ESVN40为本地测量方式
ibonl(m_dev,0);//置ESVN40为离线方式
if(ibstaERR)
returnFALSE;
m_bOpened=FALSE;
ibonl(m_ctrl,0);//设置GPIB卡为OFF-Line状态
return1;
}
3程序运行界面
该系统可以进行无线电信号的监测,其中包括某个频点的电平、调整深度、频率补偿和频率偏移等。此外,系统还能对单频点的频谱进行分析,对给定的频段进行信号扫描。在实际应用中,采用双线程的工作机理,可以很大程度地提高数据采集的速度。系统对信号进行频率扫描时的运行界面如图4所示。在界面中,由于ESVN40只是返回扫描驻点的电平值,因此在软件中对该扫描功能进行了扩充。在界面上只要设定一个电平阈值(用户可以认为超过该阈值的电平,可能存在信道占用)和一个用户认为每个信道应该占用的带宽或法定的带宽,则通过软件设计对采样的样本进行分析后,可以对占用信道的中心频点进行初步定位。用户根据在测量结果表中显示的值,可以进一步分析该中心
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年其他计算机信息服务项目申请报告模稿
- 2025年多孔微孔陶瓷材料项目规划申请报告模板
- 2025年企业高校实习生三方协议
- 2025年人才共享协议标准化文本
- 2025年合作共管协议示范文本
- 2025年借款合同范本速览
- 2025年个人公积金贷款合同调整全览
- 2025年专利权使用和解协议指南
- 2025年养老院入住协议标准
- 2025年供电设施更新改造协议
- 江西省“振兴杯”信息通信网络运行管理员竞赛考试题库-上(单选题)
- DLT 5756-2017 额定电压35kV(Um=40.5kV)及以下冷缩式电缆附件安装规程
- 关于餐饮合同范本
- 2023高考数学艺考生一轮复习讲义(学生版)
- CHT 4019-2016 城市政务电子地图技术规范(正式版)
- 广西壮族自治区南宁市2024年七年级下学期语文期末试卷附答案
- 冀教版五年级数学下册全册课件【完整版】
- 微量注射泵安全使用和维护保养
- 高二物理人教版(2019)选择性必修第一册教学设计
- 污水处理厂运营维护移交 投标方案(技术方案)
- 部编版历史八年级上册 第八单元 教学设计
评论
0/150
提交评论