通信软件篇1
【关键词】通信软件 质量要求 软件模型
1 引言
随着软件在通信行业中的应用和发展,如何保证通信软件的质量已经成为软件开发全生命周期贯穿始终的重要问题。然而软件质量是一个复杂的概念,对于不同的通信软件系统,软件质量的要求不一定相同,所关注的软件质量属性也不一定相同。软件业的专家们建立了多种通用的软件质量模型,在软件生命周期的不同阶段对软件质量进行度量。通用的软件质量模型在通信软件项目中使用,不能较好地结合通信软件的特性,软件质量可控性效果有限。本文主要介绍了软件质量定义的演变过程,简要介绍了三种通用软件质量模型,通过对通信软件的特性分析,建立了一套基于六项通信软件质量属性的软件质量要求体系。
2 软件质量
在软件术语定义中,目前为止对软件质量还没有一个统一的定义。软件质量是一个复杂的概念,先从国际上软件业对软件质量认识的演变过程说起:1979年,Fisher和Light认为软件质量是表征计算机系统卓越程度的所有属性的集合;1982年,Fisher和Baker认为软件质量是软件产品满足明确需求的一组属性的集合;20世纪90年代,Norman、Robin等认为软件质量是表征软件产品满足明确的和隐含的需求的能力的特性或特征的集合;1994年国际标准化组织公布的国际标准ISO 8042综合将软件质量定义为:反映实体满足明确的和隐含的需求的能力的特性的总和;CMU SEI的Watts Humphrey指出软件产品必须提供用户所需的功能,如果做不到这一点,什么产品都没有意义。由此可见,软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。国内的标准GB/T 11457-2006《软件工程术语》中定义软件质量为:软件产品中能满足给定需要的性质和特性的总体;软件具有所期望的各种属性的组合程度;顾客和用户觉得软件满足其综合期望的程度;确定软件在使用中将满足顾客预期要求的程度。
软件质量从不同的角度来看会得到不同的结论。从用户的角度看,软件质量就是满足客户的需求;从开发者角度看,软件质量就是与需求输入保持一致;从产品的角度看,质量就是产品的自身功能和优势。综上所述,对于质量的定义还应该是多方面的,在本文中给出如下定义:软件质量是软件产品满足使用要求的程度。
3 通用软件质量模型
软件专家们根据软件工程实践经验研究建立了多个软件质量模型来帮助理解、度量和预测软件的质量。运用最为广泛的软件质量层次模型包括McCall模型、Boehm模型和ISO9126质量模型。
McCall模型是最早的质量模型之一,如***1所示。J. A. McCall等人认为软件质量是正确性、可靠性、效率等构成的函数,正确性、可靠性、效率等被称为软件质量因素。McCall定义了11个软件外部质量特性,称为软件的质量要素,它们是正确性、可靠性、效率、完整性、可用性、可维护性、可测试性、灵活性、可移植性、可重用性和互操作性。
Boehm模型是由Boehm等在1978年提出来的质量模型,如***2所示。在表达质量特征的层次性上它与McCall模型类似,但它基于更为广泛的一系列质量特征,并将这些特征最终合并成19个标准。区别于McCall模型,Boehm提出的概念的成功之处在于它包含了硬件性能的特征。
ISO9126质量模型描述了一个由两部分组成的软件产品质量模型:一部分指定了内在质量和外在质量的六个特征;另一部分则指定了使用中的质量属性。如***3所示:
4 通信软件质量模型
4.1 通信软件特点
通信类软件具备了实时性和交互性软件的特性。实时软件的运行有严格的性能要求和性能约束。实时软件与外部接口的设备进行交互,并在实时状态下完成交互信息的处理等工作,简单灵活、模块化地对可靠性、可维护性、可用性等性能要求进行设计。实时软件处理的关键是效率,因此设计的主要内容是并发任务处理和定时中断,基于这两个方面来对每个关键功能按优先级排序,并完成功能的实现。交互软件是控制人机交互的通信软件。交互系统能够对人的介入做出反应,接受命令并以音频或者视频的方式响应或者在屏幕上输出显示。交互软件质量的关注焦点是人机之间的交互性能,如何向用户进行功能的演示。开发交互式软件必须关心两个内容:一是要提高交互能力,二是怎么把系统反映最好的一面演示给用户。
4.2 通信软件质量要求
软件质量是一个复杂的概念,软件业界很难定义出一个能够适用于所有软件的质量模型。每个软件系统都有自己的特征,通信软件在选择软件质量要求时必须考虑通信软件的共性需求。结合通信软件实时性和交互性的特点,软件质量必须着重关注软件效率和软件的人机交互性能,应该从软件的体系结构设计来系统地获得软件质量要求。在通信软件项目的开发过程中,项目经理眼中的软件质量就是能完成预期软件功能的软件产品。包括功能需求、性能需求、接口需求、质量需求、安全性需求等全部需求指标。项目经理需要一个对其工作有指导意义的软件质量要求,既可以帮助项目经理管理项目团队开发出符合需求与标准的软件产品,也可以帮助项目经理识别和规避可能影响项目质量的风险。但是在实际的通信软件开发中,项目经理和开发人员往往把精力集中到功能需求上,包括软件质量要求在内的例如性能要求和安全性要求等非功能需求容易被忽视。一味地追求功能上的推陈出新,软件质量要求却在软件设计中落不到实处。
就软件质量要求而言,每一个通信软件系统都是唯一的。不同质量级别对应着不同的软件质量要求。本文结合通信软件实时性和交互性的特点设计了一套通用的通信软件质量要求,从功能性、可靠性、易用性、效率、可维护性和可移植性6个软件质量属性来展开通信软件的质量要求。
(1)功能性
适用性:软件在预定环境使用时,满足功能需求(隐含功能需求)的能力;
正确性:软件在预定环境使用时,提供正确的运行结果并保证数据具有所需精确度的能力;
互用性:软件与其他约定系统进行信息交互的能力;
保密性:软件保护数据和信息,防止非法人员对软件进行访问的操作;
依从性:软件遵循相关通信业务标准、约定和法规的能力。
(2)可靠性
成熟性:软件在预定环境使用时,避免因其故障而引发失效的能力;
容错性:软件在出现故障或违反规定接口的情况下保持所设计性能水平的能力;
可恢复性:软件在失效时重建所设计性能水平并恢复直接受影响数据的能力。
(3)易用性
易理解性:用户能理解使用的能力;
易学性:用户学会并掌握软件使用的能力;
易操作性:用户操作软件的能力。
(4)效率
时间特性:软件在预定环境使用时,提供适当的响应和处理时间及吞吐量的能力;
资源特性:软件在预定环境使用时,使用适当的资源数量和类型的能力。
(5)可维护性
易分析性:确定软件缺陷或失效原因及确定软件设计更改的能力;
易变性:修改、排除缺陷或适应环境变化的能力;
稳定性:避免软件设计更改带来非预计影响的能力;
可测试性:对软件和软件的设计更改通过软件测试进行验证确认的能力,确保软件实现预定功能的能力。
(6)可移植性
适应性:软件无需采取措施或采取极小的措施即可适应所规定不同环境的能力;
可安装性:在预定环境下实现软件安装的能力;
可复用性:软件的架构设计可提高其他项目继承使用的能力;
共存性:在同一公共资源下本软件与其他软件共存的能力;
易替换性:在同一预定环境中软件替代其他制定软件的能力;
遵循性:软件遵循可移植性的标准和约定的能力。
本文给出的是一套相对全面的通信软件质量要求,包含了影响通信软件质量的基本要素。每个通信软件项目通过对软件需求的全面分析,经过裁剪来确定适合本项目的软件质量要求。通过对软件质量要求的跟踪监控,将每一条软件质量要求通过软件分析设计实现到软件实体中。
5 结束语
本文通过对软件质量定义的介绍阐述了软件质量在软件开发中的重要性,讨论了软件质量的基本属性,然后介绍了三种通用的软件质量模型。分析了通信软件实时性和交互性的特点,构造了一个适用于通信软件的软件质量要求模型。通信软件项目可结合项目需求对其进行裁剪,确定适用于项目的软件质量要求,在软件的全生命周期模型中实现该要求。
参考文献:
[1]ISO 9126. Information Technology--Software Product Evaluation--Quality Characteristics and Guidelines for Their Use[S]. International Organisation for Standardization, 1992.
[2]G Gordon Schulmeyer, James I McManus. Handbook of Software Quality Assurance(Third Edition)[M]. 2003.
[3]Stephen H Kan. Metrics and Models in Software Quality Engineering(Second Editon)[M]. 2004.
通信软件篇2
关键词: 软件通信体系结构; 波形; FPGA软件; 设计方法
中***分类号: TN92?34 文献标识码: A 文章编号: 1004?373X(2017)01?0010?03
Abstract: A design and implementation method of the waveform FPGA software based on communication architecture is proposed by designing the hardware abstraction layer and dividing the waveform component of the communication waveform. The software workflow, waveform component, hardware platform, software hierarchical structure, abstraction layer design method and connection, and waveform component realization method of FPGA are analyzed and researched to realize the separation of software and hardware greatly, componentization design thought, and FPGA software transplant and reuse to the maximum extent.
Keywords: software communication architecture; waveform; FPGA software; design method
0 引 言
软件通信体系结构(SCA)对软、硬件体系架构和波形组件管理具有重要的指导意义,它是无线电软、硬件体系架构及波形应用程序接口(API)应当遵循的规范和嵌入式、分布式通信波形组件管理、配置、互连互通的标准。现场可编程门阵列(FPGA)是一款基于通信体系结构的信号处理器件,通过编程改变处理器的配置信息,满足不同的设计功能 [1?5]。FPGA的设计集中在芯片中,由配置器件内部的输入/输出端口、逻辑功能完成设计操作,这种设计破解了传统数字印刷电路设计的难度和工作量,设计灵活,电路性能优异、使用效率高,集成度、编程速度和可靠性优于传统数字电路系统[6]。
当前主流的FPGA在逻辑架构上已从仅含一种基本逻辑块的同构FPGA发展为具有多种逻辑块的异构FPGA,同时在互连线上包含了直线、扭线和拐线结构,设计越来越复杂,贯穿整个FPGA的是直线在水平方向和垂直方向的互连线,这也是直线的特点,其主要用于全局的复位线、时钟线等,且改直线经过tile时并不需要偏移。FPGA的扭线主要用于多倍线、长线等,每个tile之间的连接方式是由互连线以循环交错的方式连接完成。FPGA互连线的拐线结构主要由水平和垂直方向的多段扭线连接组成[7?9]。FPGA的测试技术主要测试芯片资源,因为芯片资源是该器件的核心部件,由编程验证各单元逻辑功能是否正确并且要求编程覆盖FPGA所有的连线资源、逻辑资源[10]。基于此,本文对通信波形进行硬件抽象层设计及波形组件划分,提出一种基于通信体系结构的波形FPGA软件设方法。
1 FPGA工作流程与波形组件
1.1 FPGA工作流程
信号处理模块FPGA由中频处理设备、射频控制设备、基带协处理组件等组成,FPGA的工作部分是硬件抽象层,信号处理模块FPGA的几个部件间及部件与外部部件数据和信息的交换就是由硬件抽象层通过统一、标准的接口完成部件间或部件与外部的信息交换[11?14]。该硬件抽象层接口协议包括常用的多种并行、串行、高速串行总线等,支持任意接口之间的数据转发和可打断数据及不可打断数据,可以实现配置多种数据位宽和任意接口和波形组件之间的数据传输以及仲裁传输优先级数据信息。其工作流程如***1所示。
1.2 FPGA波形组件
波形是指为完成无线通信双方信息间的无线传输采取变换信息传输所有协议的系列变化过程,波形变化可以完成用户输入信息、射频频入、输出等功能,实现无线电台和用户信息的交流。FPGA采用不同类型的存储器实现可编程功能,对于一种较复杂的波形来说,由波形的定义可知它包含了许多种变换,因此,需要较多的硬件、软件实现变换功能。
FPGA波形组件组成部门主要包括信源编译码、信道编译码和调制解调等,其内部由多个模块实现不同通信体制的功能。波形组件属于***于硬件的功能模块,模块间以接口相连,各自具备自身模块的功能,是实现执行和可重用通信功能的软件应用程序,模块和接口共同构成波形组件库。***2为波形组件划分的示意***,***中RF表示射频设备、IF表示中频设备、I/O表示用户接口设备、BCP表示基带协处理组件、BP表示媒体链路组件、MAC表示媒体接入组件、NET表示无线网络组件、Safe表示安全/密码设备、LLC表示逻辑链路组件。
波形组件为了方便跨平台移植、集成硬件抽象层,采用相应的功能模块封装对应的通信波形软件。与此同时,波形组件划分原则是参照高内聚低耦合和分而治之进行,其中RF,IF,BCP部署在FPGA上,BP,MAC部署在DSP上,LLC,NET,Safe,I/O部署在GPP上。
2 无线通信的FPGA软件设计与实现
2.1 FPGA硬件平台原理
为实现数字信号处理的功能,硬件平台采用如***3所示的基本结构。具体分析如下:AD9862芯片是进行模拟信号采集转化为数字信号的装置;FPGA芯片和AD9862芯片之间的连接是通过高速并行接口与A/D接口和D/A接口完成,用于实现数字信号的处理工作;DSP6416芯片和FPGA芯片的通信连接由EMIF接口完成,该接口无需时钟信号,接口模式为异步接口,只进行低速的数据传输,该接口传输的读写信号可以完成DSP响应硬件中断操作和FPGA的读写操作。
2.2 FPGA抽象层的设计方法与连接
在通信体系结构刚开始的嵌入式系统是由ASIC完成,但是随着FPGA芯片计算传输速度的加快,为了提高波形应用软件的可移植性和可升级性,实现更加接近电台天线并扩展电台平台的边界,作为可编程的硬件设备,FPGA芯片应用到通信体系结构中可以实现上述要求。这是因为,FPGA芯片的物理输入输出端口未从应用程序中抽象出来,在移植新平台时无需像通用处理器和DSP芯片改变接口,这得益于FPGA中的任何算法都是根据具体逻辑电路计算完成,提高波形的可移植性对SCA和FPGA都十分重要,可移植性和可升级性的实现可以节约时间、减少复杂的操作。
FPGA抽象层的设计方法是通过工具软件对硬件描述语言设计完成,在语言设计过程中包括综合分析、实现编程和***编程,而FPGA抽象层的算法设计是对不同接口采用抽象对应的HAL模块化设计出通用的HC对外接口计算完成,具体设计连接见***4。
***4表示硬件抽象层的连接实现,***中“”代表HAL?C端点,即抽象连接开始的地方,HAL?C是SCA的硬件抽象层连接专用硬件补充规范引入的,该通信机制与硬件平台无关;HC表示波形组件,HAL表示硬件对外端口的抽象,HAL?C提供的通用通信API可以实现最小化的硬件平台通信机制对软件设计的影响,最小化的影响有助于减少软件移植过程重复编写代码,提高了新建平台的可移植性和可升级性,实现了开发系统波形与硬件平台的有效分离,既节约了时间,也减少了移植成本费用。HAL?C API也为波形组件提供了一个底层的通信接口,其中,底层API接口可以实现波形组件1,波形组件2的通信功能,两个组件的通信不是直接进行而是通过HAL?C提供的通信机制实现。因此,组件开发者把数据发送到硬件对外端口即可实现硬件抽象层具体数据的传输。
2.3 FPGA波形组件的实现方法
FPGA波形组件的实现方法需要划分波形组件,划分的方法主要是指把中频处理设备、射频控制设备、基带协处理组件等安排在FPGA上,实现器件正常运行。具体FPGA波形组件实现方法以中频处理设备为例进行系统论述。
***5为中频处理设备API接口定义,API分为A1,A2,B,C1,C2,E,F,G,K,H共10个部分。其中,F部分的IFProcDataConsumer接口来自于D部分的Packet:PayloadStatus接口,为了更好地理解接口间的连接,采用自定义一个E部分的pushPacket函数,同时该接口被基带协处理组件调用,使中频处理设备获得下行数据。自定义pushPacket函数的原型为pushPacket(in CF::OctetSequence payload)。中频处理设备发送过来的上行数据接收工作可由F部分的IFProcDataConsumer接口完成。
F部分IFProcDataProducer接口属于中频设备控制接口并且来自于G部分PayloadControl接口,该接口通常在波形初始化或由基带处理组件在运行时调用两个接口之间相互配合接收的上层数据,主要功能是实现用户传输分组长度的功能,进而实现一系列的参数配置工作,使得各层之间有机结合。
3 结 语
通过对通信波形进行硬件抽象层设计及波形组件划分,提出一种基于通信体系结构的波形FPGA软件设计与实现方法。该方法使得多个通信波形的各波形组件能够运行在通用的、开放式的硬件平台上,良好地实现了软件和硬件分离,以及组件化的设计思想,最大限度地实现了FPGA软件的移植重用。通信体系结构的波形FPGA是目前比较先进的软件通信体系结构的设计方法和思想,实现波形的可移植性和可升级性是无线通信设备顶端设计的直观反映。今后,制定适合实际情况的FPGA软件对将来无线通信系统体系的设计及使用模式将起到指导性的作用。
参考文献
[1] 洪a***,刘献科,张激.基于SCA的无线通信技术研究[J].计算机工程,2005,31(8):120?122.
[2] 孙晓东.FPGA软件设计[J].电脑编程技巧与维护,2010,12(2):5?6.
[3] 邓刚,高宏伟,周***辉,等.FPGA上SCA波形组件接口的设计与实现[J].信息通信,2012(4):16?19.
[4] 郭锐,范建华.FPGA硬件抽象层连接的设计与实现[J].中国新通信,2007(2):60?63.
[5] 刘畅,李智.基于FPGA的任意波形发生器的设计[J].微计算机信息,2010,26(2):130?132.
[6] 丁晖,李靖,唐文杰.基于FPGA 软件/硬件协同设计模式[J].计算机与数字工程,2010,38(9):115?116.
[7] 孙佩刚,赵海,张文波,等.基于软件通信体系结构的波形实现及其研究[J].计算机工程,2006,32(17):170?172.
[8] 王琳,刘涛,余秀美.基于软件通信体系结构的波形组件化开发技术研究[J].移动通信,2011(6):68?71.
[9] 郭锐,范建华.软件无线电台中FPGA波形的可移植性[J].山西电子技术,2007(2):60?61.
[10] 石贼弟,电小璜,炼锬可.一种基于软件通信体系结构的波形组件动态部署方法[J].计算机测量与控制,2014,22(9):3058?3061.
[11] 邱永红,朱勤.基于软件通信体系结构的无线通信系统研究[J].系统工程与电子技术,2004,26(5):621?623.
[12] 常济崧,吴宇,施峻武.基于SCA的可移植FPGA波形组件接口设计[J].现代电子技术,2010,33(4):79?82.
[13] 刘攀,,朱珂,等.基于VPR的层次式FPGA结构描述方法研究[J].微电子学,2009,39(1):105?111.
通信软件篇3
关键词:软件无线电技术;通信系统;3G网络;模块化
1 软件无线电技术概述
1.1 软件无线电技术的基本思想及其优越性
软件无线电技术实现了硬件、软件、无线技术等的有机结合,构建了多样性的功能系统。软件无线电技术其基本思想是以通用、标准和模块化的硬件平台为依托,通过软件编程来实现无线电台的各种功能,实现了软件优化,减少了模拟环节,提高了功能的灵活性。总的来说,软件无线电技术主要有以下几个方面的优点:
第一,完全数字化。软件无线电的基本思想之一就是通过通信系统的基带信号直至中频、射频段,进行数字化的处理,因此,它实现了全过程的数字化,构建了全数字化的通信系统。
第二,完全可编程性。软件无线电主要通过通用的硬件平台,将通信的各种功能实现了完全采用软件来进行,它主要包括:可编程的信道调制方式,可编程的射频与中频方式等。
第三,系统便于实现模块化。软件无线电技术利用软件无线电的基本思想,对现行的通信系统均能够进行模块化的设计,对模块的物理及其电气接口等性能指标达到统一、开放的标准;通过对单一模块进行更换,进而提高了系统的性能。
1.2 软件无线电系统功能
软件无线电实现了传统的无线电通信就需要经历信号的发射,信号的传输及其信号的接收等三大过程。随着新型无线电软件系统的信道接入、信道调制和信道的选址及分配等都可以通过系统终端的编程软件功能来实现,因此,软件无线电通信系统的实现就可以缩减为发射和接受两个过程。与此同时,在软件无线电技术中,它所承担的发射过程的软件功能相当丰富,不仅能够自行选择确定的适合信道传输的最佳调制方式和编码方法;还能决策调整宽带天线的位置,获得最佳的方向。
2 软件无线电技术在通信系统中的应用
现行的面向具体用途而设计不同频段、不同制式的无线电通信技术思想已经远远不能满足现代化的无线电通信的实际需要。软件无线电技术是在无线电通信技术基础上发展而来,是对通信理念与体制的革新,它实现了通信系统的全面优化升级。
2.1 软件无线电技术在cdma 1x基站中的应用
在蜂窝移动通信系统中,基站和移动终端采用软件无线电技术后,其硬件更为简单,软件定义功能,射频和信道的访问模式以及信道调制等都可以编程。软件无线电在cdma 1x基站中的部分应用如***1所示:
在传统的基站设计中,主要经CDMA信道板处理后的基带数字信号通过D/A转换器形成模拟信号,再进行中频转换。各信号存在着相互干扰,使得每个模拟中频转换板只能对一个载波信号进行转换,其程序相对繁杂。相对而言,在软件无线电技术中,从CDMA信道中传输的基带数字则不再进行D/A的转换,而是作为数字信号进行数字中频的转换,这样,各信号之间就不存在干扰,实现了三个载波的数字中频转换集成在一块中频转换板上。
2.2 软件无线电技术在3G中的应用
第三代移动通信系统所要达到的目标与系统的特点中,其核心问题是要解决不同环境下的多媒体业务,因此,对实现多种网络的综合要求更高,既要做到无线网与无线网的综合,移动网与固定网的综合,还要达到陆地网与卫星网的综合,这样才能为用户提供一个统一的业务使用方式。具体而言,软件无线电技术在3G中的应用主要体现在:实现了3G手机与基站之间的开放性、模块化的系统结构的构建;实现了智能天线结构,空间特征矢量包括来波方向估计的获得,射频通道权重的计算等;各种信号处理软件的实现,主要包括各类无线电软件的处理,信号流转换软件等。
软件无线电技术在3G系统中的应用非常重要,它不仅为3G系统提供了通用的系统结构,还实现了灵活的功能和便利的系统升级;实现了利用统一的硬件平台和不同的软件满足IMT-2000家族概念的要求,实现了不同标准之间的操作。因此,软件无线电技术作为新型通信技术,在现代化通信系统中有着十分重要的应用价值和效果。
[参考文献]
通信软件篇4
1.基于软件无线电的短波通信系统总体设计思路
软件无线电技术是未来社会发展的一个必然产物,其具有很多优良的特性,比如开放性、灵活性、扩充性等都比较好,软件无线电顶层设计规范对通信设备的软件体系结构、硬件体系结构以及安全体系结构进行了确定,这种技术的应用是为了实现各种无线通信设备之间的硬件模块化以及软件的可移植操作,采用了开放的标准结构,通过各种共享的硬件组建以及软件的连接,实现硬件维护以及软件的功能升级,具体说来,其功能表现在两个方面:第一,在硬件上具有互相连通的特性,第二,在软件上可以实现多频段、多模式、多通道的通信。
基于软件无线电的短波通信系统的核心是软件,作为一个信号处理平台,其包括了3个重要的组成部分,分别是波形开发部署管理软件、硬件平台及软件平台。3个组成部分分别具有不同的功能,其中波形开发部署管理软件,主要是对波形组件的功能进行划分、重用,并且还要控制物理层波形代码的集成、波形分布的部署以及加载;硬件平台则主要采用总线式结构设计主要完成各种数据的收集、发出、模拟预处理等;软件平台则负责将各种硬件资源封装和描述,在具体的描述过程中需要使用逻辑软件,并且要在这些设备上加载一些不同的软件,实现对多种波形的控制。
2.基于软件无线电的短波通信系统的设计
2.1软件无线硬件平台架构
电系统有一个显著的特征,就是模块化,无论是硬件平台还是软件系统,都是实现模块化的,其中包括了很多个不同的功能模块,这些模块可以组合在一起成为一个整体的结构,在硬件平台设计中,各个模块组织之间的组合与搭配,必须要以提高硬件的容量为前提,以便能够满足未来更加广泛的信号覆盖需求,延长设备的使用寿命。在软件无线电系统的硬件平台中,常见的硬件模块组织有流水式、总线式、交换式结构3种,各个结构有其自身的特点,总线式结构相对于流水式结构,其功能模块之间的耦合性较低,但是可扩展能力较强。硬件平台包括了主控制模块、波形处理模块、RF收发模块,其中波形处理模块和RF收发模块还可以根据具体的配置情况,构成多频段、多通道的分布式信号平台。
在硬件平台系统中,其核心部位是波形处理模块,波形处理模块由AD/DA板和基带处理板组成。其中AD/DA板的结构是子板加载板,是为了对不同速率的波形进行处理,也要对不同波形体制进行支撑,基带处理板则采用了多片DSP+FPGA架构,可以与外界实现高速的数据传输,还能对传输情况进行控制。
RF接收模块则采用了超外差二次变频的分频段接收方式,在对频率进行选择的时候略有差异,第一中频的频率是80MHz,第二中频的频率是70MHz,其变频方式有两种,可以使得干扰信号与接收信号之间的频率差增大,便于带通滤波器滤除镜频干扰。在通信系统的电路上,可以对通信的通道进行选择,切换通道的时候所选择的开关有一分六和一分三的宽带高速射频开关,在这类通信通道上可以兼容3-30MHz频段内的多种波形,比如3kHz,25kHz和1MHz的窄、宽带业务波形,都可以在这个信号通道上进行传输。
另外,对于控制单元中的FPGA可编程单元,作为控制单元的主控器,所承载的任务较多,需要完成对本振芯片的寄存器配置、锁定检测,还要根据频率的变化进行开关切换,通过对不同的开关进行组合,实现不同信号之间的链接,还需要根据系统的工作状态,对供电结构进行优化,对于一些耗电量较大的元件可以自行关闭。
2.2软件平台架构的设计
随着操作系统、中间件等计算机领域的技术在软件无线电领域中的应用越来越广泛,软件无线电结构的层次化现象也越来越明晰,其中无线电软件平台主要包括6个层次。分别是板级支持包、网络协议栈和接口服务层、操作系统层、CORBA中间件层、核心框架层、应用层。通过该软件平台的架构,可以实现多种智能化控制功能,比如波形之间的互通互联性更强,在开发波形的时候,不需要首先对底层数据交换过程进行了解,直接利用现有的组件对波形进行重构,从而使得各种代码之間可以移植、可以重复、可以重构。
如***1所示,为软件平台的组成结构,在软件开发的时候使用的是sCAOE操作环境,在这个软件平台上包括核心框架和波形开发部署软件。主控制模块上运行针对硬件板卡和操作系统的SCAOE,另外,在主控制模块上运行的OE和上位机模块上运行的OE都可以满足SCA兼容的要求。
sCA波形集成开发环境采用基于模型的应用波形设计流程,对应用波形的可移植性和可重用性进行了提升,针对不同的SCAOE可以实现代码的自动生成,另外,在对波形逻辑代码进行编写测试的时候,可以将通过DSP与FPGA编译好的文件与框架容器代码进行有效的集成,生成符合具体规范标准的波形。但是,SCA并不是一种具体的波形的规范标准,而是一种基于DTD和POSIX技术的框架结构,主要用于对各种软件无线电的管理和部署。
在软件系统中还有一个重要的模块,就是要实现对波形的组件化开发,在SCA波形集成开发环境中,可以将主控制模块看成是一个节点,并且以这个节点为中心,运行相应的操作系统,并且能够在操作系统上加载SCA的操作环境。在对波形进行开发的时候是采用组件化方式进行的。以QPSK波形为例,在对这个波形进行开发的时候,可以简单地将其分为编码和解码两个过程,编码和解码的组件可以通过设置不同的参数,如依赖属性、吞吐量等,对所有待部署的芯片进行选择,比如FPGA和DSP都是可以选择使用的芯片,编码组件主要实现代码的输出功能,解码组件则主要实现代码的输入功能,通过编码和解码的过程,可以将代码传入到主控制模块中的相应模块,从而实现对波形的各个组件的有效控制。
通信软件篇5
软件无线电的概念是在1992年5月MITRE公司的科学顾问JosephMitola在美国电信系统会议首次提出的[3],IEEEComm.Magazine在1995年第5期正式推出了第一个软件无线电专集[4],掀起了软件无线电的研究热潮。软件无线电技术构造了一个具有开放性、标准化、模块化的通用硬件平台,除了射频信号发送和接收部分使用模拟电路和模拟信号外,将无线通信系统的各种功能,如工作频段转换,调制解调,数据格式变换,数据加密,差错控制编码,通信协议执行等都用软件来完成,以求研制出具有高度灵活性、开放性的新一代无线通信系统。软件无线电技术包括软件技术、硬件技术以及信号处理技术等,其中信号处理技术中的带通采样理论和多速率信号处理理论是软件无线电理论的基础。目前国内大学通信专业的实验教学中,如通信原理和数字信号处理的实验课等,都可以用实验的方法,对信号进行分析,有利于学生的理解。但往往由于信号生成、显示和分析仪器的成本比较高,尤其是带有频谱分析和测量功能的仪器价格尤为昂贵,使得这部分的实验无法普遍实施。PC机声卡具有两路AD,两路DA,采样率最高可达到44100Hz,采样深度可达到16bit。如果利用PC机作为数据采集处理设备,使用适当的虚拟仪器软件编程技术就可以组成一个低成本高性能的信号采集与分析处理系统,方便学生理解理论内容,简化了课程的实验,甚至能够让有兴趣的学生对现有虚拟仪器系统进行升级改造。
这是我们研究该课题的意义之所在,希望通过我们的研究,能够建立一个性能价格比较高的信号分析系统,并将该结果应用于大学通信专业及相关专业的实验教学中,足以让学生理解信号分析的概况了。
1基于软件无线电的虚拟仪器系统
本文介绍一套基于Labwindows/CVI的信号处理系统,LabWindows/CVI是NationalInstruments公司推出的一套面向测控领域的软件开发平台。它以ANSIC为核心,将功能强大,使用灵活的C语言平台与数据采集,分析和表达的测控专业工具有机地接和起来。它的集成化开发平台,交互式编程方法,丰富的控件和库函数大大增强了C语言的功能,为熟悉C语言的开发人员建立检测系统,自动测量环境,数据采集系统,过程监控系统等提供了一个理想的软件开发环境[5]。本系统使用LabWindows/CVI实现了一个软件的宽带数字下变频(WDDC)的单通道接收机等虚拟仪器,并对模拟的68MHz~72MHz的频谱环境进行监测;这并不是仿真软件,而是实用的工具,这些虚拟仪器可以很好的工作。使用起来也很方便,只需要一根数据线连接两台PC即可。系统框***如***1所示。
1.1信号发生器
信号发生器利用PC机产生两路信号,信号类型有正弦波、方波、三角波、锯齿波和用户自定义五种波形。在“高级设置”中可对两路信号的同步进行调整,也就是设置两路信号的初始相位差,调整范围为0~2π。系统面板***如***2所示。
1.2基于WDDC的单通道接收机使用
Labwindows/CVI对基于数字混频下边频的单通道接收模型进行了模拟,实现了一个软件的宽带数字下变频(WDDC)接收机。总体结构如***3所示。首先,模拟了68MHz~72MHz带宽内的频谱环境,产生了包含多个通信信道的宽带信号,并对这个信号作采样率为8MHz的欠采样。根据带通采样定理,这样的欠采样刚好不会发生频率混叠。将采样得到的数据(速率为8MSPS)以文件格式存入硬盘,作为输入数据模块。然后,用DDS方式构造了一个混频信号发生器,信号发生器采用4K点的波表和浮点累加器,使混频信号的相噪降到足够小。接着用可控级联方式的FIR抽取滤波器组对混频后的信号进行低通滤波和抽取。信号发生器和后续的FIR抽取滤波器模块共同构成了WDDC接收机的核心部分。最后,通过加窗FFT和显示模块对信号频谱进行显示。每个模块都可以通过用户接口控制程序进行控制,通过调整DDS累加步长对混频信号频率进行控制,通过切换FIR抽取滤波器的级联方式对带宽进行控制,还可以控制频谱显示和数据文件的读取。
2具体实例分析
信号谱分析是数字信号处理课程中学生学习的重点,同时又是难点[6]。对于这些抽象的知识,老师在课堂上费尽心力讲解,学生依然很难理解。有些学生虽然学会信号频谱的计算方法,但对计算出的谱线形状只能凭空想象,缺少直观认识,久而久之,学生学习的积极性下降。通过此虚拟实验,可以解决这些问题,学生通过选择需要的的信号类型,设定信号的频率和幅值,就可观察到信号的时域波形和频谱***,这样学生不仅直观的了解谱线形状,而且对原信号频率和相位对谱线的影响有更深刻的理解。系统模拟的频谱环境相当于一个很宽的中频信号,其中存在10个常见的通信信号。表1描述了这10个通信信号的类型、中心和带宽,其中包含有AM、FM、LSB、Chirp、Hop以及扩频信号,这些信号整个构成了一个小的频谱环境。***4是WDDC接收机的程序界面,主要有两个控制台:DDC设置以及显示设置。在DDC设置中,调整频率数字框可以改变接收机的中心频率(68MHz~72MHz),调整带宽下拉框有三种带宽(2MHz/1MHz/512kHz)可以选择;在显示设置中,可以进一步调整观测频谱的范围。使用宽带模式观测信号的全景情况见***4(a)(b)所示。在全景模式下,可以看到2M带宽内多个通信信号的整体情况,能够检测信号的位置、频率占用情况以及频谱环境的一些宏观信息,单个信号的特征则不太明显。用窄带模式观测单个信号的特征见***5所示。在窄带模式下,可以快速的确定信号的中心,测量信号的带宽,并且能够对比任意频点的相对电平,从而能够迅速了解信号的类型及其它重要参数(调制度、频偏等)。
通信软件篇6
关键词:软件;音频;视频;采集;压缩;传输
中***分类号:TN919.8
本文阐述了一种基于软件的IP音视频通信系统解决方案。本系统优点:音视频采集设备简单,投资小;采用软件压缩,便于升级,可按需定制;纯C语言开发,效率高,易于集成和移植,可以在Windows和Linux操作系统上运行;传输与采集模块分离,便于维护;采用标准网络协议栈设计,扩展性好;可以支持多种音视频采集和播放架构;不需要架设服务器,无中心,抗毁性强;支持多种音视频编解码标准,可扩展;可以根据网络状况限制视频编解码器码率,减轻对网络的压力,适于在低带宽条件下使用;可支持点到点音视频通信,同时支持音频组播通信;基于PC平台开发,架设简单,无需额外硬件支持;不需要SIP协议握手,网络开销低。
1 系统描述
本系统可以支持的音频采集与播放架构包括:mme(Windows)、alsa(Linux)、oss(Linux)和arts(Linux)等。可以支持的视频采集与播放架构包括:v4w(Windows)、directshow(Windows)、v4l(Linux)、v4l2(Linux)和SDL(Linux)等。
本系统可以支持的视频编解码标准包括H264、H263、theora、mp4v和x-snow等。本系统可支持的音频编解码标准细节如表1。
RTP协议(Real-time Transport Protocol)提供具有实时特征的、端到端的数据传送服务,可用来传送声音和运动***像数据。在这项数据传送服务中包含了装载数据的标识符、序列计数、时戳和传送监视。通常RTP的协议元是用UDP协议元来装载的,并利用UDP的复用和校验和来实现RTP的复用。RTP包括两个关系十分密切的子协议:实时传输协议(RTP),用于传输实时数据;实时控制协议(RTCP),用于监视网络的服务质量[2]。RTP包协议格式如***2所示。
***2 RTP协议格式
语音组播基于组播成员管理协议IGMP(Internet Group Management Protocol)。IGMP协议作用在主机和与主机直接相连的组播路由器之中,主机使用IGMP协议通知本地边缘组播路由器,告知其想加入的组播组,组播路由器通过IGMP协议来维护组播组成员列表,并定期发送询问信息询问组播成员是否***[3]。
***3 IGMPv2协议格式
2 模块实现
***4 系统软件模块结构***
本系统软件模块结构***如***4所示。oRTP库主要实现RTP协议栈,尊从开源LGPL许可证。ffmpeg是一个开源免费跨平台的视频和音频流解决方案,属于自由软件,依据你选择的组件尊从开源LGPL(GNU Library General Public License)或开源GPL(GNU General Public License)许可证。speex是一套主要针对语音的开源免费,无专利保护的音频压缩格式库。mediastreamer2库主要负责音视频编解码、采集、播放和回音消除,尊从开源GPL许可证。
msx264库是一个H264视频编码器插件,尊从开源GPL许可证。msilbc库是iLBC语音编解码器插件,尊从开源GPL许可证。msbcg729是Sipro实验室开发的基于G729A标准的专利语音编解码器插件。msamr库是AMR窄带专利语音编解码器插件。mssilk库是软电话Skype专用的专利语音编解码器插件。mediastreamer2可以以插件的形式扩展msx264、msilbc、msbcg729、msamr和mssilk。笔者主要开发了***4中上层API调用部分。
3 应用效果
为了验证通信效果,笔者搭建了3台笔记本电脑组成的演示系统,分别安装Windows XP、Windows 7和ubuntu Linux操作系统,笔记本之间通过WiFi互联,演示系统没有中心服务器,每个笔记本的地位是平等的,任何一台笔记本关机不会影响其他笔记本的正常音视频通信,如***5所示。
***5 演示系统结构***
任意2台笔记本之间可以进行点到点音视频通信,在采用H264视频编解码标准的情况下,限制视频通信占用带宽上限100kbps,PC1和PC2之间的视频通信效果如***6所示,视频分辨率352×288。左侧大窗口是PC2传给PC1的视频,右下方的小窗口是PC1本地摄像头采集的视频。右侧大窗口是PC1传给PC2的视频,右下方的小窗口是PC2本地摄像头采集的视频。
***6 视频通信效果***
如***6,在限制msx264编码器码率100kbps条件下,PC1和PC2之间的视频通信效果比较清晰。
3台笔记本可以实现点到点或者组播(1发2收)语音通信,音质清晰。算上IP/UDP头等协议栈开销,iLBC占用带宽约30kbps,speex占用带宽约18kbps,宽带speex占用带宽约26kbps。
4 结束语
本系统是一套完整的音视频通信解决方案,扩展性好,通用性强,可跨平台移植,架设简单,抗毁性强,可以在较低带宽条件下进行清晰、实时的点到点/组播音视频通信。
参考文献:
[1]Comparison of audio formats[EB/OL].http:///wiki/Comparison_of_audio_formats.
[2]Zourzouvillys,T.Rescorla,E.An Introduction to Standards-Based VoIP:SIP,RTP,and rnet Computing,IEEE Journal gazines, lume:14,Issue:2,Publication Year:2010,Page(s):69-73.
[3]Tian Yonghui;Hu,R.A Resolution for IGMP V3 Protocol Using Finite State Machine.2012 International Conference on Computer Science and Electronics Engineering(ICCSEE).IEEE Conference Publications.Volume:2,Publication Year:2012,Page(s):517-520.
通信软件篇7
【关键词】 AUV通信系统 串口编程 MOOS-ivp
一、AUV通信系统简介
AUV的通信系统需要具备如下功能:1.实时接收来自岸基平台发送的控制指令;2.接收来自各传感器的实时数据,返回o岸基端进行实时处理。因此,自主式水下航行器通信系统的研发重点是与各传感器模块的配合协调、建立稳定的通信链路、具备应急处理能力。在实际工作中,AUV需要与母船控制单元、岸基平台进行通信,AUV在贴近水面工作时,通过大功率的无线电波或者铱星卫星通信系统进行数据的传输、信息的共享、控制指令的下达等工作。
二、AUV通信系统的软件系统
软件系统基于Paul Michael Newman 提出的MOOS-ivp体系[2],使用Linux系统的FLTK类库开发操作平台的界面,核心在于利用pMOOSBridge进程搭建AUV与岸基端的通信信道[3]。pMOODBridge是建立MOOS派生系统的重要工具,可以将AUV端与岸基端配置的MOOSDB(数据信息服务器)相连,在不同的MOOSDB之间起到桥梁的作用,首先接收来自自身所在MOOS体系的数据变量,然后根据AUV实际工作中的状态修改配置文件,最后完成已定义数据的转发,实质上就是功能模块pMOOSbridge分别与不同的MOOSDB服务器之间的通信。
在设计中,在pMOOSBridge添加支持RS232串口的类CMOOSSerialLink(),支持数据的发送、捕获、解析、分类等功能。利用pMOOSBridge类建立的连接主要完成如下两条任务:
(1)获取当前AUV状态信息、位置信息,从AUV端MOOSDB采集GPS数据通过串口发送到岸基端,岸基端MOOSDBx取数据信息,分类发送给各个进程模块,并显示到岸基界面上;
(2)岸基界面发送控制指令通过MOOSDB传输到串口后发送到AUV端,AUV端MOOSDB读取指令信息,实现对AUV的导航与控制功能。
以无线数传电台为例,pMOOSBridge类建立其与MOOSDB的连接,使MOOSDB与传感器之间建立串口数据连接,其工作流程如***1、2所示。
三、软件系统的实现
MOOS体系的核心模块是MOOSDB,GPS定位模块被CMOOSCommClient实例化后与MOOSDB进行通信,实现串口通信,需要建立继承于CMOOSApp的子类,对函数OnStartUp()、Iterate()、OnNewMail()进行重载,实现传感器与MOOSDB的串口通信功能。本文采用Ublox LEA-6T型号的高精度GPS,采集GPRMC的格式数据应用于AUV的导航与定位中。
通信系统的操作界面部分代码如***3、4所示。
通过无线数传电台的通信信道,AUV可实时返回当前位置信息,实现了通信与定位的功能,有效的保障了AUV的正常工作,系统可自主切换通信信道,采用铱星9602装置的通信方法与无线数传电台相似。
四、结语
本文介绍了新型AUV通信系统的软件开发与应用,重点介绍了基于MOOS的AUV通信系统的软件设计,以pMOOSBridge为核心,介绍此进程实现通信功能的原理与应用,最后以GPS定位模块、无线数传电台的采集程序开发为例,介绍通信系统的数据采集方法,并开发软件模拟AUV的通信。
参 考 文 献
[1]徐玉如,李彭超.水下机器人发展趋势[J].自然杂志,2011(3):5-12.
通信软件篇8
关键词:TMS320C6713;TLV320AIC23B;McBSP;轮询;中断
中***分类号:TP311 文献标识码:B
文章编号:1004373X(2008)0113403オ
Software Design of Input and Output Communication Based on TMS320C6713DSK McBSP
LIU Jinhe YU Gang1,LU Feng2
(1.Shenzhen Graduate School,Harbin Institute of Technology,Shenzhen,518055,China;
2.Shenzhen Kaifa Technology Co.Ltd.,Shenzhen,518035,China)
オ
Abstract:According to the characteristics of the TMS320C6713-peripheral,the paper introduces the interface circuit about the TLV320AIC23(AIC23) and McBSP design,and then sets up a hardware-software system to realize the communication beteeen DSP and AIC23.Finally,combined with the CCS3.0 of TI surport including relation functions and the practical operation and application,the detail codes and the realized methods are given based on McBSP communication by using polling or interrupt mode.
Keywords:TMS320C6713;TLV320AIC23;McBSP;polling;interrupt
オ
1 引 言
数字信号处理器具有广泛的应用,从通信、语音处理到磁盘驱动器、***像处理都能发现DSP的应用。TMS320C6713(C6713))是基于超长指令(VLIW)结构高性能32位浮点DSP,被认为是TI公司运算能力最强的处理器之一。在225 MHz时钟主频下,其最高执行速度可达到1 350 MFLOPS、1 800 MIPS,是多功能多通道应用的理想选择。C6713提供了两个标准多通道高速缓冲串口(McBSP),具有全双工通信、收发***时钟和成帧以及直接和AD/DA、AIC23等通信,允许8~32位数据传送。
C6713DSK有32位TLV320AIC23B(AIC23)[1,2]输入输出模拟音频接口编解码器,该编解码器采用了Sigma-Delta技术进行数模和模数转换,并和McBSP直接相连作为数据输入输出通信接口,同时根据板上的12 MHz时钟可以设置8~96 kHz的采样频率。AIC23还提供了麦克风输入、线性输入、线性输出和耳机输出4个模拟接口,输入端的输入电压最大为33 V,DSP最大输出电压为1 V。AIC23编解码器是采用McBSP0控制其内部寄存器配置和利用McBSP1进行接收和发送数字信号。本文将详细介绍AIC23与McBSP实现DSK进行数据信号输入输出通信的硬件和软件设计。
2 AIC23和McBSP之间的硬件接口设计
TMS320C6713中的AIC23是一款高性能的集成功能的模拟音频接口,是信号处理的理想模拟I/O口的选择。AIC23提供了2线制和SPI两种接口连接方式,并由MODE引脚选择,他是一个可控制的芯片,内部有11个寄存器,如表1所示,默认情况下是以SPI方式和McBSP进行通信。其中McBSP0作为单向控制通道控制向AIC23发出信号, McBSP1承担双向数据传输任务。为了使McBSP和AIC23能够顺利实现通信,需要配置AIC23的LRCIN,LRCOUT,DIN,DOUT和BCLK 5个引脚,分别和McBSP1中对应引脚FSR1,FSX1,DX1,DR1和CLKR1与CLKX1相连接实现数据交换;同样还要配置McBSP0的FSX0,CLKX0,DX0分别控制AIC23的CS,SCLK,SDIN引脚。其接口电路如***1所示。
当AIC23和McBSP接口电路实现之后,McBSP1可以使用硬件中断CPU方式或EDMA方式接收和发送数据。因此,接收数据时,接收引脚DR1从AIC23接收的数据在FSR1和CLKR1作用下先移位到接收移位寄存器(RSR1),紧接着复制到接收缓冲器(RBR1),然后复制到数据接收寄存器(DRR1),最后CPU或EDMA控制器从DRR1读入数据。同样,当发送数据时,在FSX1和CLKX1作用下,CPU或EDMA控制器把要发送数据写到数据发送寄存器(DXR1),接着发送移位寄存器(XSR1)把数据移到发送引脚DX1上,以便通过AIC23的DA变换输送到外界。而接收和发送帧同步脉冲既可以由内部采样速率产生器产生,也可以由外部时钟源驱动,McBSP1分别在相应时钟的上升沿和下降沿进行数据检测。
3 输入输出通信的软件设计
在DSP应用系统中,一般会涉及大量对DSP外设如McBSPs,EMIF,AIC23等编程处理工作,在开发时会消耗大量的时间和精力。TI公司CCS 30集成开发环境中,提供了CSL,BSL,RTDX等组件,可以很快地完成对DSP片内外设配置和编程工作,从而缩短开发时间。在未利用AIC23进行采样模拟信号或者发送数字信号之前,必须先执行DSK,McBSPs,AIC23的初始化。一旦初始化完成,可以利用中断方式或者轮询方式为McBSPs服务并进行传输数据。在初始化DSK时,直接调用TI提供库函数实现初始化外部存储接口(EMIF)、锁相环(PLL)寄存器以产生DSP、外设、EMIF时钟。
由于数字信号在各个控制系统所要求的功能不同,因此在设定之前必先详细了解McBSP内部各项设定值的意义,规划传输和接收时序***。由于AIC23编解码器对应于左右2个通道每帧是2个16位DSP数字格式,因此需要将McBSP1的接收帧长度(RFRLEN1)、发送帧长度(XFRLEN1)、接收字长(RWDLEN1)和发送字长(XWDLEN1)改为如***2所示的传送时序***[3],其他寄存器设置可按照TI公司提供的软件进行配置,才能达到规划的传输功能和建立McBSP0和McBSP1函数并实现DSP和AIC23的通信。
在DSK初始化完毕后,下一步是启动AIC23,设置采样频率, C6713的BSL应用程序接口(API)中的函数正可以实现这个目的。接着重新初始化McBSP1。
在进行实时的数字信号处理时,可以采用轮询或者中断。假设利用中断服务路线(ISR)来传输数据,文中选择McBSP1串口发送中断XINT1,并调用CSL 的API函数进行配置和控制。利用参考文献[4]向量表矢量文件或者DSP/BIOS设置中断选择器[CD#*2]int11执行中断服务路线,调用API库函数将McBSP1的XINT1映射到CPU中断INT11,然后使能发送中断XINT1,最后使能全局中断和非屏蔽中断(NMI)。那么这样的一个中断就可用McBSP[CD#*2]read()从McBSP1寄存器DRR1读取数据或者利用MCBSP[CD#*2]write()向McBSP1的DXR1写入数据。
若采用轮询技术,只需要将向量表矢量文件中的[CD#*2]int11用空指令(NOP)替换。
根据前面的分析以及结合文献[4]提供的相关软件程序代码及格式,给出了部分TMS320C6713相关的程序代码。首先,修改双向数据通道McBSP1中各个寄存器的配置值,具体配置如下:
当然要实现上面的程序,还需要一个连接器文件,他需要显示了像 .Text,.data和.sysmem等常驻于内部存储器的一些段,并映射到C6713数字信号处理器内存,具体连接器文件设置可参考TI提供的实例或者文献 [4]进行设计。
那么根据以上提供的程序和文件,就可以执行算法运算,实现信号的输入和输出。
4 结 语
本文在实际应用的基础上,详细介绍了TMS320C6713DSK通过McBSP和AIC23编码解码器进行实时通信的软硬件实现过程,并在CCS 3.0环境下进行软硬件的联合调试,能够实现实时数据处理与通信。采用该种软硬件编程结构简炼易懂,能够有效推广到同类的产品编程及应用。
参 考 文 献
[1]TLV320AIC23B Stereo Audio CODEC 8-to 96 kHz with Integrated Headphone Amplifier[R].Texas Instrument Inc.SLWS106G MARCH 2003.
[2]TMS320C6713 Peripherals Reference Guide[R].Texas Instrument Inc.,2003.
[3]TMS320C6000 DSP Multichannel Buffered Serial Port (McBSP) Reference Guide[R].Texas Instrument Inc.SPRU580D September 2004.
[4]Rulph Chassasing.DSP原理及其C编程开发技术[M].王华,张健,译.北京:电子工业出版社,2005.
[5]肖逾男,宋元胜.DSP与PC机的PCI总线高速数据传输[J].国外电子元器件,2003(10):4-7.
作者简介 刘金河 男,1980年出生,福建人,研究生。主要从事控制理论与应用研究。
通信软件篇9
在单片机开发中除了使用到硬件外,也离不开软件,在这里使用的是目前最流行的用以开发MCS-51系列单片机的软件Keil软件,它的开发方案十分完整,提供了包括C编译器、宏汇编、连接器、库管理以及一个功能强大的仿真调试器等,这些部分的组合是通过一个集成开发环境(uVision)来完成的。KeilC51软件系统能够提供丰富的库函数和功能强大的集成开发调试工具,采用的是Windows界面。另一点重要之处是,通过查看编译后生成的汇编代码,就能感觉到KeilC51能够生成的效率非常高的目标代码,并且这些代码的排列很紧凑,容易让人理解,这种系统大型软件的开发时更能将高级语言的优势体现出来。
1无线模块的设计
1.1无线模块总体设计预先设置好必需的参数,模块每次上电后即可自动连接到预先设置的无线网络及服务器,因为在自动工作的模式下,模块的串口始终工作在透明数据传输状态,可以将它看做一条虚拟的串口线,按照使用普通串口的方式发送和接收数据就可以。在自动工作模式下,系统的连接网络完全自动运行。系统默认自动重试次数设置为永远,也就是说,系统会在连接网络失败或断开的时候一直重新尝试连接。用户也可以将重试次数设置为有限值,在此情况下,一旦重试次数超限后,系统将不再尝试重连,只有系统复位后才能再次重启自动连接流程。Socket连接(此处特指Tcp连接)是虚连接,在无线网络连接非正常断开的情况下原有的Socket连接不会被删除,并且在无线网络连接恢复后继续使用。自动组帧机制。在透明传输状态下,在串口上所有的数据都是以字节流的形式进行传输的,而在网络上,数据却是以固定的帧格式的形式传输,因此,数据在串口与网络之间流动是就需要一个流与帧之间的转换过程。对于从网络到串口的方向的数据传输来说,数据由帧转换成流是非常容易的。而相反的从串口到网络的数据传输方向,即数据由流转换成帧格式的时候,就需要一定的规则来约束。
1.2无线模块程序设计命令工作模式模块提供了一种基于串口控制的命令工作模式,用于不同应用场合的特殊需求。此工作模式下,模块根据用户通过串口下发的指令进行工作,用户可以通过指令对模块进行完全的控制,包括修改配置参数、控制联网、控制TCP/IP连接、数据传输等。这是一种高级的使用方式,也是对用户来说最为灵活的使用方式,用户可以通过指令任意控制无线网络的连接、断开,也可以同时创建多个不同类型的TCP/IP连接,并保持通信。在使用WIFI模块时,可以根据系统的情况决定是否进行命令行的操作。串口数据操作。在串口发送每条CMD后,需要等待该命令的回复。如果本条命令没有回复,需要增加超时,将强制退出该命令。应当保证At发送命令时,串口只有一条在等待回复的At指令。用于串口接收WIFI模块回传的响应信息,在上位机发送完成每条AT指令后需要等待WIFI模块响应或者超时(请将超时时间设置大于500ms)。
2主控模块与LED显示模块程序设计
本设计采用RS232总线与PC机通信,在PC机中采用串口调试程序向单片机发送数据,在PC机与单片机之间采用MAX232电平转换芯片进行电平转换,参照51单片机的串口通信时序对单片机的串口通信程序进行编写,其主程序流程***及串口中断服务程序流程如***1所示。在显示部分,由于采用ULN2803芯片作为数码管阵列的段选显示驱动电路,同时采用573芯片作为其显示数据的缓冲电路,所以在显示函数的编写过程中,首先要对数码管阵列送入位选信号并保持,然后通过一段恰当的延时再将段选信号送入,这样一来就实现了数码管的动态显示。由于本设计中并没有使用BCD数码管,所以需在显示数据之前进行数据为的分离,这部分程序在串口通信中断服务函数中完成。在本设计中,采用MAX232作为单片机系统与PC机通信之间的电平转换电路。而在单片机与PC机通信的过程中,在单片机系统的程序编写则涉及到了两个功能函数的编写:串口通信初始化函数,串口通信中断服务函数。在进行单片机串口通信函数的编写过程中,要根据单片机串口通信时序来进行相应语句的编写。
3结束语
通信软件篇10
关键词:GPIB;DLL调用;程控
中***分类号:TP311文献标识码:A文章编号:1009-3044(2012)02-0335-03
Software C-based Design for Data Communication Interface
DU Fu-peng, RUAN Bin
(92493 Army 89 Unit, Huludao 125000, China)
Abstract: This article from the C programming language characteristics, discusses the automatic measurement system, data communication interface of the software development methodology, to achieve a GPIB interface initialization, data reception, data processing, data transmis? sion functions.
Key words: GPIB; DLL calls; program-controled
根据GPIB总线的特点和GPIB接口在仪器仪表中的广泛应用,系统采用D7210C和75160BN,75161BN实现了GPIB接口电路,接口电路实现了双向、异步、准确可靠的数据通信任务。软件部分设计主要用到的是GPIB的WIN32API函数驱动库。通过DLL调用技术可以完成API函数库封装的对GPIB设备初始化、读取数据、写入数据或命令以及清除等各种控制操作。
1数据通信接口实现
根据GPIB接口特点,采用D7210C和75160BN,75161BN芯片按照如下电路可以实现计算机与仪器与测量系统间的数据通信。
***1数据通信接口电路
2对GPIB接口的初始化方法
void gpib_init()//gpib初始化
{
XBYTE[0x0500]=0x02;//芯片复位
XBYTE[0x0500]=0x2c;//置位外部计数发生器
XBYTE[0x0500]=0x8c;//设置为8bits数据传送
XBYTE[0x0500]=0xa8;//低电平中断
XBYTE[0x0500]=0xc0;//进入准备
XBYTE[0x0100]=0x03;//设输入输出产生中断
XBYTE[0x0400]=0x31;//设受命方式为1
XBYTE[0x0600]=0x20;//设程控地址
XBYTE[0x0600]=0xc0;//设程控地址为15
XBYTE[0x0700]=0x0a;//设结束字符为“0x0a”(回车)
XBYTE[0x0500]=0;//立即执行,产生本地消息
}
3数据接收函数
void rec488()//数据接收
{
char idata tem48,tem88;
char idata i,j;
tem48=XBYTE[0x0100];
if((tem48&0x08)==0x08)//产生器件清除中断
{
;//不执行任何指令
}
else if((tem48&0x04)==0x04)//出错中断
{
XBYTE[0x0100]=0x08;//器件清除
return;
}
else if((tem48&0x01)==0x01)//收到数据,将数据存到pdtem[]数组
{
i=0;
for(j=0;j
pdtem[j]=0;
tem88=XBYTE[0x0000];
while(tem88!=0x0a)//遇到结束符0x0a则接收完毕
{
pdtem[i]=tem88;
i++;
tem48=XBYTE[0x0100];
while((tem48&0x01)!=0x01)
tem48=XBYTE[0x0100];
tem88=XBYTE[0x0000];
}
strjudge();//接收完毕进入数据处理程序
4数据处理函数
void strjudge()//数据处理
{
if(strncmp(pdtem,"data",4)==0)//判断接收到的指令(如果前四个字符为"data0")
{
……
……
……//执行相应操作
send_data(pdtem);//将要返回的字符放到pdtem[]数组,发送到计算机接收
5数据发送函数
void send_data(char temp[64])//数据发送
{
uchar i;
i=0;
do
{
tem88=XBYTE[0x0100];
while((tem88&0x02)!=0x02)
tem88=XBYTE[0x0100];
XBYTE[0x0000]=pdtem[i];
i++;
}
while(pdtem[i-1]!=0x0a);//遇到结束符0x0a则发送完毕
while(((tem88=XBYTE[0x0100])&0x02)==0x02); //防止输出中断未清除,这句可以不加}
6结论
通过编程软件实现了接口的初始化,数据的接收,数据的处理和数据的发送基本功能,在软件平台下调用板卡厂商提供的DLL对操作系统API(Application Programming Interface)函数的调用。API函数包含在附加名为DLL的动态连接库文件中,API函数可以做到很多的功能。因此,可以通过调用DLL的方法来调用各种API函数,来实现各种任务。
参考文献:
[1]李宗阳.时间频率计量[M].北京:原子能出版社,2002:88-101.
[2]季海峰.基于虚拟仪器测试系统的PCI-GPIB控制器的设计和研究[M].南京:南京理工大学,2007:23-30.[2] Lippman S B.C++Primer中文版[M].李师贤,译.4版.北京:人民邮电出版社,2006.