传输软件范文
时间:2023-03-28 05:45:11
导语:如何才能写好一篇传输软件,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
关键词:Socket;TCP/IP;多线程;大文件
1 引言
文件传输软件是一种很常见的软件,但是很多传输软件对要传送的文件的大小有要求,一般最大是4G,当传输的文件大于4G时就无法传输。本文设计的传输软件几乎可以不受文件大小的约束。而且系统开销小,操作简单。
2 软件设计
2.1 套接字(Socket)
套接字是通信的基石,是支持TCP/IP协议的网络通信单元。可以将套接字看作不同主机间的进程双向通信的终点,它构成了在单个主机内及整个网络间的编程界面。套接字有两种不同的类型:流套接字和数据套接字。流套接字提供双向的、有序的、无重复并且无记录的数据流服务,它适用于处理大量数据。数据套接字支持双向的数据流,但并不保证数据传输的可靠性、有序性和无重复性。因此,根据本文的设计的需要选择流套接字。
2.2 客户机/服务器模型
本软件采用的是服务器客户机的模式。一个服务程序通常在一个众所周知的地址监听客户对服务的请求,也就是说,服务进程一直处于休眠状态,知道一个客户对这个服务的地址提出了连接请求。在这个时刻,服务程序被“惊醒”并且为客户提供服务――对客户的请求做出反应。这一请求/响应的过程可以简单地用图1表示。
3 软件的编程实现
该软件是在VC++6.0上编程实现的,下面介绍该软件的几个关键部分。
3.1 大文件传输的处理
一般传输软件设计的数据类型都是32位的,所以传输文件最大只能是4G。本文将文件大小的数据类型定义为64位,那么传输文件可以到234G,几乎为无穷大。软件的部分代码如下:
unsigned __int64 m_FileLength=0;
m_FileLength=m_FileLength+StreamFileInfo.nFileSizeHigh;
m_FileLength=m_FileLength
m_FileLength=m_FileLength+StreamFileInfo.nFileSizeLow;
其中m_FileLength为无符号的64为类型,存储文件的长度。StreamFileIfo为文件信息结构体类型,其中将文件的大小信息分割成长度为32位的两部分,分别存在StreamFileInfo.nFileSizeHigh和StreamFileInfo.nFileSizeLow里面。
3.2 多线程实现
该软件采用两个线程,一个是接收线程UINT ReceiveDataThread(LPVOID lpParam);另一个是发送线程UINT SendDataThread(LPVOID pParam);当服务器端点击发送按钮后启动发送线程,启动发送线程的函数为:AfxBeginThread((AFX_THREADPROC)SendDataThread,this,THREAD_PRIORITY_NORMAL);
当客户端点击接收按钮后启动接收线程,启动接收线程的函数为:AfxBeginThread(ReceiveDataThread,this,THREAD_PRIORITY_NORMAL);
服务器与客户机的通信流程见图2。
3.3 磁盘剩余空间判断
当客户端接收文件的时候首先判断磁盘的剩余空间是否可以满足文件大小的要求,然后再进行传输。获取磁盘信息的函数为:GetDiskFreeSpaceEx(str.Left(3),&lpuse,&lptotal,&lpfree);
其中,str.Left(3)为磁盘的盘符,lpuse为已用空间大小,lptotal为总的空间大小,lpfree为剩余空间大小。最后将lpfree与m_FileLength作比较判断磁盘空间是否满足文件存储的要求。
4 总结
本文通过在VC++6.0上编程实现了可以在整个网络传输的功能,传输文件的大小几乎没有限制,服务器可以随时暂停和终止文件的传输,客户端在接收文件的时候可以事先判断磁盘的容量,当磁盘空间不足的时候会出现提示信息。下图为实际生成的软件界面。
[参考文献]
篇2
[关键词]杜邦分析体系;实证分析;信息传输;软件和信息技术服务行业
一、引言
作为对公司业绩量化分析的主流,财务报表分析方法一直是评价公司与管理者业绩以及治理层发现公司舞弊等的重要手段。它通过对权益净利率的因素分析法,巧妙地运用比率的特性,将利润表中的项目、资产负债表中的资产和资本结构结合在了一起。本文利用杜邦财务综合分析体系对盈利能力综合的概括性,通过净资产收益率开始,分层逐步分析探求各变量对最终指标的影响过程,提供更详细的信息。
二、文献综述
王敏(2009)认为,会计收益质量取决于1.过去会计盈余质量的可靠性2.其过去的保障程度及其稳定、安全与增长效果。根据邵传鹏(2009)、张涛、张鹏飞(2006)的观点,对财务质量的分析是对财务比率等指标、非财务状况和企业增长性的综合分析。他们建立了相对比较系统的财务质量分析指标。张新民教授建立了系统的财务质量综合分析理论。根据钱爱民教授的观点(2011),利用现有资源进行价值创造的潜力与实力、保持企业的可持续发展能力,应从企业的增长、盈利和风险的三要素因素的平衡中实现。Benjamin与David Dodd(1934)在《证券分析》中首次提出永久性盈余(Permanent Earnings)和暂时性盈余(Temporary Earnings)两种关于盈余的概念。Lipe(1986)运用实证研究证明:盈余构成项目在股票回报方面的解释能力比总括盈余强,实证会计学者更加重视从盈余结构角度研究盈余持续性。Ramakrishnan和Tomas(1991)研究认为,盈利可以细化为永久性盈利、暂时性盈利和价值无关盈利三种。Collin与Kothari(1994)认为,盈余的反应系数和盈余的质量具有正向的联系,盈余持久方面、盈利水平方面、增长方面、风险方面影响盈余反应系数。Fairfield、Sweeney和Yohn(1996)研究发现,对未来权益净利率的预测准确度可以通过对盈余项目的进一步细分实现。
三、实证分析
本文选取截止2015年1月14日在沪深两市的所有归属于信息传输、软件和信息技术服务行业的上市公司作为总体研究对象,以2009年度至2013年度这些上市公司财务报告的数据作为研究样本。最终剔除缺省数据后共有825条完整数据。本文数据的来源主要是锐思金融数据库。本文主要采用运用营业收入年增长率与总资产年增长率作为规模变化指标。
1.权益净利率第一层次分析
从杜邦分析基本公式描述性分析可以得出,本行业上市公司的销售净利率很高,为17.60%。本行业营业收入的增长率均值和总资产的增长率均值很高,分别为28.65%与50.54%,本行业发展迅速。净资产收益率与销售净利率、总资产周转率、财务杠杆、营业收入增长率的相关系数分别为0.427、0.350、0.608、0.264,且都在1%的条件下显著;与总资产增长率的相关系数为0.066,且在5%的条件下不显著。净资产收益率和销售净利率、总资产周转率的相关性较强,说明成本控制、资产周转运营控制对公司盈利能力的影响。净资产收益率与财务杠杆之间的相关性很强,说明管理财务风险对公司盈利能力的重要性。成长性指标在本行业中与盈利能力之间相关系数并不大。权益净利率和营业收入增长率的相关系数不高。权益净利率与总资产的增长率之间相关系数很低且不显著,所以相关性不强。
2.销售净利率第二层次分析
我们选取利润表中有代表性的项目进行分析(计算公式均是:相关项目/营业收入)。在7个项目的描述性分析中,销售成本率、销售费用率、管理费用率平均值较大,分别为52.66%、10.67%和19.90%,说明营业成本、销售费用、管理费用在企业成本费用中占比较大。在相关性分析中,销售成本率与销售净利率的负相关系数较高,为-0.621,且在1%水平下显著,体现控制营业成本对提升销售净利率的重要性。其余项目与销售净利率的相关性不强,主要原因可能是销售净利率的影响因素较多,无法体现与单独项目的强相关性。
3.总资产周转率第二层次分析
我们选取流动资产周转率和固定资产周转率进行分析。在描述性统计结果中,总资产周转率、流动资产周转率与固定资产周转率的均值分别为0.8193、1.1038和29.0913,标准差分别为0.5127、0.7515和77.0962。总资产周转率与流动资产周转率均值和标准差正常,而固定资产周转率均值和标准差偏大。这可能由本行业固定资产占总资产的比例较小、不同企业固定资产占比差别很大导致的。在相关性分析中,流动资产周转率和总资产周转率相关系数较大,为0.778,在1%的水平下显著。这说明流动资产周转率更好地解释了总资产周转率。固定资产周转率与总资产周转率相关性不高,相关系数为0.414,在1%的水平下显著,可能是由固定资产占比小、不同企业固定资产占比差异大导致的。
4.财务杠杆第二层次分析
我们选取非流动负债率、流动负债率进行分析。本行业的资产负债率并不高,为28.23%。流动负债率为25.87%,所以在总负债的组成中,流动负债占绝大部分。这也解释了流动负债率与资产负债率的相关性极高,相关系数为0.961,而且在1%水平下显著的现象。所以,本行业企业应加强对流动负债的管理,并使得资产与负债期限结构平衡。
5.杜邦分析适用性检验
我们对所有第二层细化变量做因子分析。因子分析的Kaiser的KMO值为0.584,巴特利特球度检验显著性水平为0.000,适合因子分析。我们从11个第二层次变量中我们提取了4个因子,共解释了63.23%的总方差。根据变量在因子中的打分情况,可以得出:其中第一个因子主要代表销售成本率、销售费用率、管理费用率,第二个因子主要代表固定资产周转率、流动资产周转率、流动负债率,第三个因子主要代表营业外收支净额率、价值变动净收益率,第四个因子主要代表财务费用率、非流动负债率。这四个因子基本符合杜邦分析体系的三个比率指标的层次分类(销售净利率、总资产周转率、财务杠杆),这三个比率指标的分类是产生细化指标(得分表中的11个变量指标)方差差异的主要原因,从而印证了我们利用杜邦财务分析法的合理性。
四、相关建议
1.企业应将管理重点放在成本费用控制、资产周转运营控制上
本行业的所有变量的主成分分析中,提取出的前两个主要因子分别代表销售成本费用率,资产周转率。这说明解释本行业权益净利率差距的最主要指标是这两个比率。所以,企业必须重视成本费用控制和资产周转运营控制。
2.在成本费用控制中,企业应着重控制营业成本
在成本费用率的描述性指标中,营业成本占销售收入比率最大,相应地,销售成本率标准差也最大。所以,控制好营业成本是企业提高销售净利率的重点所在。
3.在资产负债管理中,企业应重点关注营运资本管理
在流动资产管理中,流动资产周转率和总资产周转率表现出很强的相关性。财务杠杆与权益净利率的相关系数很高,应该引起足够重视。流动负债率占资产负债率的绝大部分,而且流动负债率与总资产周转率的相关系数也比非流动负债率与总资产周转率的相关系数高很多。这些都说明了在资产负债管理中,我们应该着重关注营运资本的管理。
参考文献
一、中文文献
[1]张涛,邵传鹏.基于企业运营的财务质量分析.会计之友(中旬刊),2009年12期
[2]张鹏飞.财务质量分析评价框架.会计之友(下旬刊),2006年09期
[3]王敏.基于财务信息对上市公司收益质量评价的研究.会计之友(下旬刊),2009年12期
[4]钱爱民,张新民.企业财务状况质量三维综合评价体系的构建与检验――来自我国A股制造业上市公司的经验证据.中国工业经济,2011,03:88-98.
二、英文文献
[1]Ball,IL,and P.Brown,1969,”Thorey and Accounting”Journal of Accounting Research,V01.7,Autumn,300-323.
[2] Fairfield PM, RJ Sweeney, TL Yohn. Accounting Classification and the Predictive Content of Earnings. The Accounting Review,1996,(71):337 -355.
[3]Ramakrishnan R.T.S.,J.K.Thomas. Valuation of Permanent,Transitory and Price-Irrelevant Component of Reported Earnings. Working Paper, Social Science Research Network,1991.
[4] Benjamin Graham, David Dodd. Security Analysis: Principles and Technique,1E[M].New York and London: McGraw-Hill Book Company, Inc., 1934.
[5] Lipe R.The Relation between Stock Returns and Accounting Earnings Given Alternative Information.The Accounting Review,1990,65(1):49-71.
[6]Collin,D.S.P.Kothari,J.Shanken, and R.Sloan, Of Timeliness Versus Noise As Explanations for Low Contemporaneous Return-Earnings Associations. Journal of Accounting and Economics,1994,No.3:231-258.
篇3
关键词:空空导弹;数字舵机;软件加载;串行加载;串行异步通信
中图分类号:TP311.52 文献标识码:A 文章编号:1673-5048(2013)04-0058-03
DesignofSoftwareSerialLoadingSystemforAirtoAir MissileDigitalControlActuator
LIUPeng,ZHUPeihong,TAOXiaoliang
(ChinaAirborneMissileAcademy,Luoyang471009,China)
Abstract:Duringmodifyingsoftwareofairtoairmissiledigitalcontrolactuator,aserialloadingsystemusingserialcommunicationinterfaceloadingprogramisdesignedtoavoiddisassemblingproduction repeatedly.SoftwareserialloadingrealizesviaserialasynchronouscommunicationwithROMof TMS320LF2407chipself.Practicalapplicationsprovethatthesystemcanloadsoftexpedientlyandfast,andcanavoiddisassemblingproductionandimproveproducingefficiency.
Keywords:airtoairmissile;digitalcontrolactuator;softwareloading;serialloading;serialasynchronouscommunication
0 引 言
随着数字处理芯片的快速发展,利用数字电路控制的舵机表现出比模拟电路控制的舵机更大的优势,如参数调试方便、器件参数漂移小、可以采用更加复杂的控制算法等。数字电路控制的舵机通过软件算法实现舵机控制,在软件状态稳定后,通过仿真器烧写到产品中。但当舵机与其他舱段组合成一个完整的产品时,如果软件参数需要修改,需要将产品拆开进行烧写,费时而且反复拆装也降低了产品的可靠性。如果能够利用产品的串行通信接口进行程序加载,就可以避免上述情况发生。
为此,本文设计了一套串行加载系统,通过该系统可以利用产品的串行通信接口方便地进行程序和参数的加载,免除了产品的反复拆装,提高了生产效率。
1 串行加载实现原理
本文设计的舵机控制器采用的芯片为TMS320LF2407,该芯片是TI公司用于数字电机控制和嵌入式应用的新一代16位、定点、低功耗DSP,芯片自带32K字节Flash。
另外一种方式是利用芯片内部自带的引导加载代码进行程序加载。TMS320LF2407自带的ROM具有引导加载代码,并为用户提供了两种选择:异步方式和同步方式。异步方式是通过串行通信接口SCI实现,同步方式通过串行外设接口SPI实现。这两种方式均可以将程序代码加载到用户指定的位置。与传统的加载方式相比,这种方式有两个优点:
(1)不必编写内嵌程序,加载方式简单可靠。
(2)控制器不必保留JTAG接口,电路布线简单且有利于代码保密。
所以本文采用该种方式进行舵机软件加载系统设计。
舵机控制器通过一个异步串行通信接口与其他舱段通信,所以采用异步方式实现程序加载。这里通信协议采用RS422方式,该协议与RS232协议相比具有抗干扰能力强、传输速率快等优点。接口转换芯片采用MAX3160,该芯片在3~5.5V之间均可以正常工作,接口电路如图1所示。
(3)异步或同步选择。引导加载代码根据SPISIMO引脚状态选择输入程序的来源,引导加载代码被激活后,会对该引脚进行扫描。如果SPISIMO引脚拉低,则启用SCI传输;如果SPISIMO引脚拉高,则启用SPI传输。这里将SPISIMO引脚拉低,启用SCI传输。
(4)建立通信连接。主机与TMS320LF2407的波特率必须设定为38400bps,然后,主机向TMS320LF2407发送探测字符0x0D,TMS320LF2407在串行端口进行连续侦听,对侦听到的每一个字符与0x0D对比,如果超过三个字符不匹配,则TMS320LF2407尝试新的波特率。如果波特率正确且侦听到的字符是0x0D,则TMS320LF2407将尝试连续接收9个0x0D字符,如果连续接收的9个字符均为0x0D,则目标机将返回0xAA,表示通信握手正常。通信格式是8位字符,1个停止位,无校验位。通信握手正常后,就可以进行加载算法及可执行代码传输了。
TMS320LF2407的加载算法可以从TI公司网站下载,不同型号芯片的加载算法不同,TMS320LF2407的加载算法数据包名称为sprc144.zip。
加载算法包括核心算法、清除算法和编程算法等。
在传输其他加载算法之前,必须首先传输核心算法,传输格式如图2所示。
核心算法传输成功后,开始传输其他加载算法,传输顺序为:clear(清除)算法、erase(擦除)算法、pgm(编程)算法。
注意,编程算法被传输到片内后,并不立即执行,而是将用户编写的实际代码传输到数据区,一旦数据区有可用的代码执行,则立刻调用编程算法,根据代码的目标地址、长度,将代码写入Flash。如果还有其他数据,则按照同样的方法执行。代码烧写完毕后,核心算法给主机发送字符0,当主机收到字符0,表明程序烧写成功,向TMS320LF2407发送两个字符0,结束代码烧写。
软件在VisualStudio2005环境下采用C++语言编写。
部分代码如下:
OpenComConfig(port,"",38400,0,8,1,512,-1);//设置通信格式
for(j=0;j
{
SCIA_Send[0]=0x0d;
ComWrt(port,SCIA_Send,1);
}
rec[0]=ComRdByte(4);
…
程序编写完成后,经过调试,工作正常,能够可靠地进行代码加载。
参考文献:
[1]刘和平,严利平,张学锋,等.TMS320LF240xDSP结构、原理及应用[M].北京:北京航空航天大学出版社,2002.
[2]褚荣,刘振.用单片机实现DSP在线调试的一种方法[J].单片机与嵌入式系统应用,2005(5):16-17.
[3]茅飞.TMS320F240片内FLASH串行口编程[J].电子产品世界,2002(Z1).
篇4
关键词:地铁,盾构法,上软下硬,施工,关键技术
Abstract:Subway shield construction faces great challenges, combined with the soft under the hard strata shield tunneling construction of key technologies in the people stand to Friday and Station of Shenzhen Metro Line 5 project engineering investigations to determine the shield of the subway soft under the hard strata. The machine boring the basic parameters of the tool change to reinforce the technical and engineering stratigraphic investigation.
Key words:Subway, shield, on the soft under hard, construction, key technologies
中图分类号:U231文献标识码:A 文章编号:
1 引言
随着地下工程的迅速发展,盾构法施工越来越受到业内人士的重视。为了解决盾构穿越各种困难地层的难题,本文拟结合深圳地铁5号线工程民治站至五和站工程勘查研究上软下硬地层盾构掘进施工关键技术。
2 概况
2.1 工程概况
深圳地铁五号线民治站~五和站区间位于宝安区民治村,两端车站均为地下两层岛式车站,线路整体呈东西走向,区间起点布置于民治大道东侧、平南铁路南侧的既有道路下方,线路出民治站后与平南铁路平行前进,在下穿梅观高速立交桥、近距离经过坂田火车站后线路向东南方向偏转,进入布龙公路,在布龙路与五和南路交界处进入五和站,区间终点位于五和南路。沿线有铁路、公路、燃气管线、燃气站、高层居民区、工业区。区间左线里程为DK21+822.591~DK23+819.487,累计长链7.066m,总长度为2003.962m,右线里程为DK21+761.391~DK23+819.487,短链0.468m,总长度为2057.628m,左右线合计4061.59m。
2.2工程地质勘查
民治~五和区间隧道项目在工程实施前及实施过程中,对地质进行了详细勘查,对全线的工程地质及水文地质情况有了系统的认识,尤其对硬岩地段、上软下硬地段的地质状况有了深入了解,为盾构机掘进参数的选择奠定了基础。沿线地质条件主要包括隧道范围内含有一定量的基岩、孤石及孤石群、砾质粘土等特点。其中,左右线上软下硬地质地层主要分布三个区域:左线DK22+060~DK22+287;右线DK22+051~DK22+252、DK23+748~DK23+801。
2.3盾构机选型
针对民五区间隧道盾构穿越地层分布不均匀,土层软硬交互和球状风化体多等复杂地质条件,决定采用土压平衡盾构机。
3 关键施工技术
3.1盾构机掘进技术
3.1.1刀盘转速的选择
在上软下硬地层中掘进,软岩部分只需对掌子面进行切削即可破坏土层,而局部岩石硬度较高,硬岩处刀盘的滚刀受力较大,局部硬岩对刀具即刀盘的损伤较大,应适当降低刀盘转速,使刀具受到的瞬时冲击小于安全荷载 25t。刀盘的转速要控制在1.3~1.5r/min。
3.1.2土舱压力的选择
在软硬兼有的地质下,如只考虑保护刀盘,单纯按照硬岩方式掘进,势必造成超挖和地表沉降。掘进时应保持较高的土舱压力与掌子面的压力平衡,即在全土压平衡模式下掘进。
3.1.3油缸推力和扭矩的选择
在上软下硬的上软下硬地层中,刀盘扭矩的最大值应保持在2.0MNm以下,掘进贯入度控制在5~8 mm/r ,推力在 l000~1600 t 。根据实际情况各参数值可进行适当的调节。
3.1.4推进速度选择
在上软下硬地质下掘进,必须降低推力,降低速度,由于断面强度不一,如果速度过快,在软硬交界处,极易造成刀具的意外损伤。在此地层条件下,一般按照盾构机的贯入度进行控制,根据岩层的断面比例和岩层强度高低,选择5~8mm/r。
3.1.5土体改良技术
在软硬岩中的使用。主要作用是降低对刀具和螺旋输送机的磨损,防止涌水,一般采取向刀盘前和土舱内及螺旋输送机内注入含水量较大的泡沫。泡沫通过盾构机上的泡沫系统注入。泡沫的组成比例一般为:泡沫溶液的组成:泡沫添加剂 3%,水 97%。泡沫组成:90~95%压缩空气和 5~10%泡沫溶液混合而成。泡沫的注入量按开挖方量及渣土实际情况计算:一般 300~600L /m3。
3.1.6螺旋输送机转速
由于软岩部分非常容易坍塌,而硬岩部分因硬度较高不易切削,为保护刀具需要降低掘进速度,但此时的掘进速度对软岩部分的稳定非常不利。因此要保证掌子面的稳定性,需要保持较高的土压,转速一般保持 2~4 r/mi n。
3.2姿态控制技术
3.2.1盾构机的姿态控制
盾构机共20组推进油缸、分四区,每区油缸可独立控制推进油压。盾构姿态调整与控制便可通过分区调整推进油缸压力进行盾构掘进方向调整与控制。
(1)滚动偏差
在盾构支承环处增设了一对横向撑靴,必要时可以使用撑靴提高盾构抵抗扭转的能力。特别是在硬岩地段,为保持较高的掘进速度,使用横向撑靴,对限制盾构体的滚动有较大的作用。
(2)方向偏差
在盾构推进过程中,不同部位推进千斤顶参数设定的偏差易引起掘进方向的偏差。盾构表面与地层间的摩擦阻力不均衡,开挖掌子面上的土压力以及切口环切削欠挖地层所引起的阻力不均衡,也会引起一定的偏差。开挖掌子面岩层分界面起伏较大,掌子面上软下硬,也易引起方向偏差。即使在开挖掌子面土体的力学性质十分均衡的情况下,受盾构刀盘自重影响,盾构也有低头的趋势。因此,在掘进的过程中,应对竖直方向的误差进行监测与控制。
3.2.2管片姿态控制及防破碎
(1)控制盾构的扭转,选择合理的推力。
(2)严格管片选型,确保盾尾间隙均匀。
(3)提高管片的安装精度。
(4)正确控制好转弯地段的盾构姿态, 缓慢掘进, 慎重纠编。
(5)控制注浆压力, 确保填充质量。
3.3换刀加固区技术
篇5
关键词:NOC格式 有限体积法 GPU-CUDA计算 TITAN2D软件 多空介质弹性波 无反射边界条件
Numerical Schemes for the Savage-Hutter Equations for Granular Flows and Exact Absorbing Boundary Conditions for wave Propagation in 3D Porous Media
Yuan Li Zhang Wensheng
(Institute of Mathematics and Systems Science, Chinese Academy of Sciences)
篇6
调试也是软件开发不可或缺的一个环节。在常见软件开发中,调试器与被调试的程序往往运行在同一台机器上,通过操作系统的调试接口来控制被调试的进程。而在嵌入式软件开发中,采用的是交叉调试,即调试器运行在宿主机上,但被调试的程序运行在基于特定平台的目标机上,调试器与被调试进程通过串口或网络进行通信。不管是交叉编译还是交叉调试,都需要把文件从宿主机传送到目标机。如果考虑团队合作开发、开发环境不完全一致等因素,开发者经常也需要把文件在不同系统之间或通过网络进行传输。所以在嵌入式软件开发中搭建一个良好的文件传输环境是提高嵌入式软件开发效率的一个关键因素。
2文件传输环境的搭建
在嵌入式软件开发中,必须结合开发的具体项目和具体开发环境来选择搭建一个好的文件传输系统。虽然各类传输技术可以在不同平台(Windows、Linux等)上实现,但在嵌入式软件开发中更适合搭建基于Linux的文件传输系统,下面就嵌入式Linux环境下文件传输技术方法进行讨论。
2.1FTP(文件传输协议)服务设计与实现
FTP是网络传输文件的一种常见服务。在嵌入式Linux中,vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,是一款完全免费的软件。它的最大的特点是安全性非常高,但嵌入式系统一般是在局域网内进行合作开发,所以在搭建为嵌入式开发服务的FTP时一般不需要太多地考虑文件传输的安全性,搭建一个用户登录访问的FTP服务器就可以。下文是Ubuntu12.04下实现用户登录访问FTP配置文件(/etc/vs-ftpd.conf)的主要内容:
2.2TFTP(简单文件传输协议)服务设计与实现
TFTP是一个传输文件的简单协议,它基于UDP协议而实现,适合于小文件传输。嵌入式系统开发的代码文件一般不会很大,同时对文件传输的安全性要求也不高,所以在嵌入式软件开发中也经常使用TFTP服务来传输文件。下文是Ubuntu12.04下实现TFTP配置文件(/etc/default/tftpd-hpa)的主要内容:2.3NFS(网络文件系统)服务设计与实现嵌入式系统开发时,还可以使用NFS实现宿主机和开发板共享文件,这样也可以免去文件上传或下载的麻烦,直接把存放文件的目录挂载在目标机上或其他系统中,用户可以像访问本地文件一样访问远端系统上的文件。下文是Ubuntu12.04下实现NFS配置文件(/etc/exports)的主要内容:其中,*:允许所有的网段访问,也可以设置成某一个ip段,如192.168.0.*;rw:读写权限;sync:资料同步写入内存和硬盘;no_root_squash:允许客户端共享目录所有者权限。用户可以根据自己需要设置相关参数,还有一些参数说明没列出来,需要时可查阅相关资料。
2.4Samba服务设计与实现
在嵌入式系统开发过程中,宿主机上一般会安装Windows系统,同时安装虚拟机软件,在虚拟机上安装Linux,这样就存在Windows系统和Linux系统共享文件的问题。通过Linux提供的Samba服务可以轻松实现文件共享,可以有两种方法加以实现:一是由Windows系统访问Linux系统中的共享文件夹;二是由Linux系统访问Windows系统中的共享文件夹。(1)Windows系统访问Linux系统中的共享文件夹。由于嵌入式系统开发一般在局域网内或单机上进行,对网络安全性要求不高,这里就以配置一最易实现的Samba服务(来宾都可访问)为例来加以说明。主要是通过修改/etc/samba/smb.conf配置文件:上面用户名是所访问的Windows计算机中的用户账户,验证口令是Windows计算机中的用户账户的口令。
2.5使用串口软件传输文件
在一些应急场合,没能很好地配置好上述服务的情况下,如果需要传输一些文件到目标板,可以选择使用串口软件传输文件。用串口电缆把宿主机和目标机连好,然后运行串口软件,最常用的是Windows自带的超级终端。超级终端程序通常位于“开始”“程序”“附件”“通讯”中,运行超级终端一般要求用户为新的连接取一个名字,然后选择所使用的串口,最重要的一步是设置串口属性,一般针对开发板设置的属性如下图2所示。连接上目标板后,使用超级终端上的“传送”“传送文件”菜单实现文件传输。在ubuntu操作系统下,需要使用minicom来连接开发板,本文不再赘述。
3结束语
篇7
[关键词]SOC芯片;1553B;通信表
[DOI]10.13939/ki.zgsc.2015.20.062
1553B总线以其传输的高可靠性、使用简单灵活的特点,已经逐步从飞行控制等系统扩展到坦克、舰船、航天等领域,目前已广泛应用于海、陆、空三军,具有一网盖三军之称。中国在20世纪80年代初就开始了1553B总线的技术研究,近年来,1553B总线已经成为中国现役空中力量最主要的先进航空电子系统数据总线,并且在舰载和车载领域,为提高坦克和军舰等武器的技术水平发挥了重要作用。文中介绍了1553B总线技术的特点,简要说明了1553B总线通信系统的组成,详细介绍了基于SOC芯片的远程终端的设计。
1 1553B总线协议简介
1553B总线的全称是“飞机内部时分制指令/响应式多路传输数据总线”,传输速率为1Mbps,采用冗余的总线型拓扑结构,具有非常好的时钟同步和高可靠数据传输能力。从通信系统的角度看,1553B有3种终端:一个总线控制器(BC)来管理和控制总线上的信息传输;一个总线监视器(MT)来接收总线上的信息用于总线的测试;其余的都是远程终端(RT)。
该数据总线以帧为传输单位,每帧包含若干字。由BC 发起总线上的数据传输,只有当BC 向某RT 发出总线指令后,该RT才能参与数据传输。总线指令分为发送指令、接收指令和方式指令,这些指令分别用来命令某RT 发送、接收、或执行由方式指令指定的某个动作。BC 根据RT 应答的状态字来检验传输是否成功。
1553B 协议规定三种字,分别是命令字、数据字和状态字,字长固定为20位,字分为三部分:同步头(3个比特位)、消息块(16 个比特位)和奇校验位(1 个比特位),其中消息块和奇校验位采用曼彻斯特二型编码。
2 设计原理
在整个1553B系统中,RT一方面从1553B总线上接收数据,并将接收到的数据存放在接收缓冲区,子系统应用软件通过调用API接口函数获取总线接收到的新数据;另一方面,子系统应用软件通过API接口函数将需要发送到1553B总线的数据存放在RT发送缓冲区,RT在接收到总线命令时将该数据发送到1553B总线上。
3 硬件平台
3.1 SoC1553B芯片
SoC1553B芯片HKS1553BCRT是一款集智能化、通用化、小型化和低功耗为一体的国产1553B通信处理芯片。该芯片采用SOC架构,集成了ARM7TDMI微处理器、1553B协议处理器、外部总线控制器(EBC)、双口存储器(DPRAM)、静态随机存储器(SRAM)、实时时钟(RTC)、看门狗(WDT)、时间间隔计时器(DT)、串口控制器(UART)及中断控制器功能的片上系统,用于实现1553B总线接口功能。它主要承担着传输层任务,包括控制1553B协议处理器,实现ISBC协议,处理通信错误,响应子系统主机命令进行服务等功能。
3.2 硬件结构设计
1553B模块是一智能化、通用化及标准化的1553B总线通信处理器。硬件主要包括以下功能模块:SoC1553B芯片;存储器;时钟电路;电源转换电路;复位电路;串行接口;1553B总线收发电路;主机接口电路。
4 软件设计
1553B模块通信软件由传输软件和驱动软件组成,是实现1553B总线通信和网络管理的专用软件。其中,传输软件控制系统多路传输数据总线上的数据传输,其任务包括信息处理、WDT时钟管理、系统时钟同步以及子系统故障等处理功能;驱动软件实现1553B模块与子系统主机应用软件间的接口控制与数据传递,它可提供各类消息数据的读、写支持,RTC计时器的读写操作,1553B模块状态的报告等处理功能,除此之外,1553B模块通信软件的另一重要功能是对1553B总线通信过程中的某些特殊消息如紧急消息、WDT时钟以及BIT故障信息以中断的形式上报给子系统主机,并对上报的中断中断原因做必要的分析和处理。
1553B软件与子系统应用层软件之间的调用关系如图3所示,图中虚线部分为1553B模块通信软件。
4.1 传输软件
传输层软件是1553B模块通信软件的一部分,驻留在FLASH中。传输层软件由以下部分组成:消息处理;故障处理;控制程序。
4.2 驱动软件
驱动软件是宿主机应用软件与1553B模块之间传递信息的媒介,提供了多种消息读、消息写、控制程序和时钟控制程序。另外,驱动软件还负责处理来自1553B模块的中断请求,包括解释中断码并报告给应用软件。
驱动程序可分为四类:状态控制程序;系统控制程序;时钟控制程序;消息控制程序。
当任何驱动程序运行结束时,将返回一个终止码(INCODE)给应用层。如果程序服务成功,将返回零值;否则将根据不同的驱动程序和出错类型返回小于零值。
5 通信表结构
通信表是应用程序与1553B模块之间的接口文件,定义了出入RT的各类消息的物理块名、逻辑名、终端子地址、消息功能及总线属性等相关信息之间的对应关系。通信表包括输入通信表和输出通信表。它的第一个字为通信表长度,其后每两个字为一条记录,按逻辑消息号顺序排列。其中OWR=1(bit4)表示数据不允许重写;INT=1(bit3)表示紧急消息;ROL=1(bit2)表示此消息BC模式下使用,ROL=0表示此消息RT模式下使用;CHA=01(bit1,bit0)表示总线B,CHA=00表示总线A。
RT地址定义了该子系统在通信网络中分配的远程终端号,该号是唯一确定的。
子系统主机应用软件按逻辑消息号读或写相应的消息,1553B驱动软件根据通信表中逻辑号实现相应消息的读或写。输入、输出通信表和RT地址由子系统主机应用软件提供。
6 结 论
本文基于SOC芯片的1553B总线远程终端设计。该设计充分发挥了HKS1553BCRT芯片内部资源丰富、接口简单的优点。同时,内嵌ARM7TDMI微处理器的具有计算速度快的优点,满足了有效载荷的高速数据采集、处理需求。该设计已在某机载有效载荷中成功应用,应用结果表明:该系统具有开发简单、性能稳定的特点,可应用于各类机载1553B总线远程终端的设计。
参考文献:
[1]数字式时分制指令/响应型多路传输数据总线[P].北京:中国标准出版社,1997.
[2]DDC.MIL-STD-1553A/B ACE users guide[S].USA:DDC,1999.
[3]HKS1553BCRT用户使用手册[M].西安:西安翔腾微电子技术有限公司,2010.
[4]马捷中.1553B 总线控制器远程终端软件设计[J].测控技术,2003(2).
篇8
关键词:嵌入式 网络终端 通信软件设计
中图分类号:TP311 文献标识码:A 文章编号:1003-9082(2015)11-0001-01
前言
嵌入式网络终端的通信软件设计,是以计算机技术为基础,将可用于通信系统的软件以嵌入式的方式与通信系统融合,实现通信系统的智能化和技术化,满足当下人们的通信需求。随着计算机技术、信息技术、网络技术的发展,嵌入式网络终端系统得到了前所未有的发展和进步,其在通信系统的应用,更是促进了网络通信系统的发展,对传统通信行业带来了巨大的冲击。本文着重分析了嵌入式系统的构成,并就其系统程序进行了相关阐述,最后分析了利用嵌入式网络终端如何实现通信软件设计。
一、入式系统分析
嵌入式系统的核心是应用,通过利用嵌入式硬件,对应用体系中的相关功能加以改制,形成以嵌入式硬件为核心的计算机系统。嵌入式系统具有较强的可靠性和稳定性,能够满足系统的成本、功耗、体积等多方面的要求,在信息领域和通信领域得到了较为广泛的应用。嵌入式系统由以下几个部分构成:硬件设备、驱动设备、应用软件设备。起重硬件设备包括嵌入式处理器以及嵌入式的设备,驱动设备主要指的是嵌入式系统软件。应用软件则是具体的系统软件,是嵌入式系统与嵌入对象之间实现的功能[1]。
嵌入式网络终端构成:
1.网络终端核心板:这一设备是嵌入式网络终端的核心部分,主要采用了S3C6410微处理器,具有较强的多媒体处理功能,并且具备256M存储器,可以实现信息存储功能;
2.电源模块:主要以直流电源供电模式为主,并且配备电源适配器,保证系统电源稳定性;
3.串口模块:串口模块是实现设备连接的关键部位,是嵌入式网络终端实现其功能的重要组成部分,方便用户利用交叉串口线与PC机进行通讯连接;
4.以太网模块:以太网模块能够更好地适应10/100M网络,并可以与路由或是交换机实现自由连接;
5.音频输入、输出模块:嵌入式网络终端应用的音频输入输出模块具有高度集成的性能,主要应用于移动设备和移动通信领域,采用了双重编码解码操作,更加有利于信息的传输;
6.系统模块:系统模块主要包括LED、PWN形式的蜂鸣器、利用调试的接口、线路串口、音频输入、输出口、红外接收口等,实现数据传输的方便性。
二、基于嵌入式网络终端的通信软件设计
本文对嵌入式网络终端的通信软件设计的研究,以网络聊天软件设计与实现为例,通过分析网络即时消息的传播系统设计,我们可以更加直观地看出嵌入式网络终端是如何实现通信软件设计的[2]。
1.网络聊天软件设计分析
网络聊天软件的设计,就是即时通信的一种现实表现形式,在设计过程中,主要包括用户界面模块、通信模块、好友管理模块。网络聊天软件的设计,是嵌入式网络终端的一种具体应用,它方便了信息的传输,通过友好性界面的设计,实现了即时通信目标。嵌入式模块在网络聊天中的具体应用,主要是将应用程序的数据包通过传输层协议送到IP网络上,并且利用TCP/IP协议传输层协议,将数据进行传播。在数据传输过程中,需要利用UDP端口。UDP端口更加适用于一次性小批量数据传输,可以在很大程度上缩减数据包封包和传输的延迟时间,完成信息的即时传播。
2.基于嵌入式网络终端通信模块设计与功能实现
网络聊天的通信模块采用Socket套接字编程,并且由UDP进行数据传输和接收。在传输和接受过程中,数据发送以定向模式进行传输,具体实现步骤如下:(1)UDP协议启动函数程序,在数据传输过程中,利用IPV4的地址,将程序进行套接字类型转化,并且利用UDP协议进行表示,将程序编码翻译过来,实现数字传输目标;(2)Bind函数绑定个人计算机的IP地址和终端,采用网络数据的异步接收方法,将数据信息进行接收,并且进行回调方法将数据再传输出去;(3)数据信息到了传输目的地后,依旧靠UDP协议进行信息翻译,从而实现双方的通信交流。嵌入式网络终端模块进行信息传输过程中,具有一定的指向性,设备中的聊天系统可以通过广播进行数据发送,通知好友,与好友进行聊天。在实际应用过程中,可以先进性Soket数据设置,使套接字允许发送广播信息,并且根据异步接收方法,进行数据设置和调整,满足数据传输需要。网络聊天通信软件的设计和实施,主要得益于嵌入式系统的串口模块、以太网口模块、音频输入输出模块的功能,完成数据、信息的传播和接收,从而实现通信目标[3]。
结束语
随着我国社会经济的发展和进步,人们对通信的要求越来越高,如何加强嵌入式系统在通信软件中的应用,满足人们的通信需求,将是嵌入式系统应用于通信软件中的日后发展方向。对此,在日后的应用过程中,我们应该注重嵌入式系统的改进,使之与通信软件更好地融合,从而实现二者共同发展目标。
参考文献
[1]何花. 基于嵌入式网络终端的通信软件设计[D].福建师范大学,2012.
[2]何花,王平,施文灶,徐世武. 基于WINCE5.0的通信软件设计[J]. 电子测量技术,2010,11:117-123.
篇9
1(略)
2(略)
2.1功能及系统组成
系统主要功能:实现机载局域网计算机与地面局域网计算机的互联互通;实现机载地面宽带数据链接,实现对机载系统遥控;机载被控系统工作状态能够实时传输到地面遥控系统并显示。系统由机载和地面两部分组成。机载设备包括被控被控计算机、机载网关设备、机载宽带数传设备等;地面设备包括遥控计算机、地面网关设备、地面宽带数传设备等。系统组成如图1所示,其中最关键的设备是网管设备和宽带数传设备。机载网管设备主要功能是将被控计算机送来的TCP/IP格式数据包进行相关处理再送至机载宽带数传设备;宽带数传设备进行TDMA协议处理、纠错编码及调制后通过无线信道发送到地面宽带数传设备。
2.2方案设计
以远程计算机控制技术为基础,采用Symantec公司的PcAnywhere远程控制软件,开发IP网关和宽带传输设备,建立面向连接的TCP/IP无线通道,实现遥控功能。为实现TCP/IP协议数据包通过无线网络透明传输,协调无线网络与有线以太网之间数据流量的平衡,必须在以太网和无线网络之间构建一无线网关,实现从以太网截获的数据包到无线链路之间帧格式的平滑转换以及其逆过程。无线网关与宽带数传设备配合,与无线网络上对等的无线网关进行透明通信,完成机载局域网络到地面遥控局域网络的无缝桥接,最终实现地面远程控制软件跨越地空无线通信网络,成功控制远端载机应用软件的目的。
本方案设计中,远程控制软件服务端程序与被控系统应用程序运行于统一环境———机载被控计算机;地面远程控制软件客户端程序安装于主控计算机,无线网关软件安装于机载和地面专用工控制计算机。
2.3工作原理
系统加电工作,启动被控计算机PcAnywhere服务端软件,操作人员以给定的用户名和预分配密码从地面主控计算机远程登录机载被控计算机。获得机载被控计算机授权后,PcAnywhere服务端程序将获取机载被控计算机显示界面信息,打包形成TCP/IP格式数据包送机载无线网关,机载无线网关进行相关处理再送至机载宽带数传设备。宽带数传设备进行TDMA协议处理、纠错编码及调制后通过无线信道发送到地面宽带数传设备。地面宽带数传设备将收到的无线信号进行解调、纠错译码及TDMA协议处理后送地面无线网关。地面无线网关对收到的信息进行机载无线网关逆处理,并将重构后TCP/IP格式数据包发送至地面遥控计算机,运行于该计算机上的远程控制客户端软件将收到的TCP/IP格式数据包恢复为机载被控计算机界面显示信息,并显示到地面遥控计算机上[2]。此时,操作员就能在地面遥控计算机上看到机载被控计算机的界面了,具备远程遥控操作机载被控计算机的能力。
在地面遥控计算机显示的机载被控计算机界面上双击系统应用软件图标,这种情况下PcAnywhere客户端会将鼠标的点击动作信息和位置信息收集打包上传到机载被控计算机,其过程类似机载被控计算机显示界面的传输,仅是传输方向不同。当机载被控计算机上的PcAnywhere服务器端软件将收到地面遥控计算机上传的鼠标位置和动作信息恢复为相应的操作系统动作,于是启动机载被控计算机上的系统应用软件。机载被控计算机上系统应用软件的启动带来机载被控计算机画面的大幅更新,于是又激发新一轮机载被控计算机显示界面的下传过程。
地面遥控计算机更新为机载被控计算机上系统应用软件界面后,地面操作人员就如同在本机上一样对机载任务系统进行操作控制。当地面主控计算机有键盘或鼠标指令时,会重复类似于启动机载被控计算机上系统应用软件时的工作过程;当地面主控计算机有键盘、鼠标指令或机载设备主动上报状态导致机载被控计算机显示界面更新,会重复类似于机载被控计算机系统应用软件界面下传过程。
2.4关键技术
2.4.1宽带数传设备技术
基于遥控系统需求,进行数据传输体制、消息内容与格式、处理与变换等研究,建立稳定可靠的空地宽带数据链接,是实现地空无线遥控功能的关键之一。
2.4.2网关技术
网关是实现机载局域网上计算机与地面局域网上计算机透明TCP/IP传输的最关键技术[3]。网关的主要功能是在以太网和无线链路之间完成帧格式的转换(截获TCP/IP协议中IP层输入数据,按照要求格式打包后送宽带数传设备传输,数据传输时网关还要实现IP数据的缓存、流量控制、自动重传等,在接收到从无线链路来的数据后,还原成IP数据并从指定以太网口发送出去),通过无线链路与其他网关进行通信,实现空地局域网计算机的互联[4]。
2.4.3远程遥控技术
远程遥控技术是实现地空无线遥控3项关键技术之一。远程遥控较常用的两种协议是专用协议和通用协议。
(1)订制专用协议
制定专用的地空遥控协议(类似无人机测控协议),优点是相对于通用协议可以适当降低遥控信道传输速率,但需要开发适于被遥控系统的嵌入式软件、可扩展性差,需要对机载原有系统进行升级改造,开发成本较高。
(2)使用通用协议
研发遥控系统的目是为了提高试飞训练效率,降低试飞训练风险,不影响原有任务系统运行,采用PcAnywhere远程遥控软件成本低,但信道传输速率相对较高。PcAnywhere远程遥控简单来说就是将完整的窗口界面通过TCP/IP网络传输到另一台计算机的屏幕上,并能将鼠标键盘指令传回被控计算机,并具有跨平台的特性。综合分析后作者认为地空遥控系统采用PcAnywhere远程遥软件比较合适。
3关键技术测试验证确定地空遥控系统基本状态之后,基于关键技术研究成果继续开展测试验证,为远程遥控系统实验室仿真试验和机载地面联试奠定基础。
3.1远程遥控软件———PcAnywhere
测试PcAnywhere软件远程遥控时产生的数据流量,并与网关设备和宽带传输设备能力比较,验证软件与硬件适配性。PcAnywhere数据流量测试环境如图2所示。主控端计算机与被控端计算机通过本地局域网建立链接,用远程控制客户端程序操作被控计算机,采用360网络监视软件监视主控端计算机与被控端计算机在远程遥控时双向的数据传输流量,监视到的数据传输流量如表1所示。
3.2网关软件
测试网关软件数据处理能力,测试环境如图3所示。测试计算机1和测试计算机2上安装测试软件,两计算机通过网关和网关桥接软件建立IP网络链接。使用测试软件在测试计算机1和测试计算机2之间进行双向传输文件,在测试软件上监视到的文件传输速率见表2。
3.3宽带数传设备性能测试
测试宽带数传设备数据传输的速率、时延,数据传输性能测试环境如图4所示。测试计算机1、测试计算机2安装专用数传速率测试软件,测试计算机1、测试计算机2通过宽带数传设备无线连接。使用专用数传测试软件进行双向数据传输,最终得到测试结果见表3。
4实验室仿真测试
2011年5月,在实验室搭建了远程遥控系统仿真测试环境,用该仿真测试环境验证无线网关算法,测试遥控过程上、下行数据流量等。实验室仿真测试环境主要由机载、地面宽带数传设备模拟器等构成。宽带传输设备模拟器具有传输速度控制、时延调整和误码输入功能,用这些功能模拟无线网络的速率、时延和误码。实验室远程遥控系统仿真测试环境如图5所示。主控端计算机、被控端计算机通过网关程序和宽带数传设备模拟器连接,并将机载宽带数传设备模拟器的发送速率设置为3Mbyte/s,时延设置为100ms;地面宽带数传设备模拟器的发送速率设置为80kbyte/s、时延设置为100ms;主控端计算机使用PcAnywhere客户端软件控制被控端计算机。在主控端计算机远程控制操作结束后,测试结果如下:
(1)主控计算机能够通过网关和宽带数传设备模拟器建立的TCP/IP通道链接到被控计算机上;(2)主控计算机能够通过PcAnywhere客户端程序远程控制被控端计算机;
(3)主控计算机远程遥控被控计算机时,简单操作(移动一下鼠标、键盘的一个输入)主控计算机上远程遥控客户端软件的反应速度很快,基本感觉不到延时;
(4)主控计算机远程遥控被控计算机时,复杂操作(连续移动鼠标、或者是有新的界面弹出)主控计算机上的远程遥控客户端软件界面操作结果有约2s时延。
5机载地面联试
2011年6月,在试飞外场结合某产品试飞,进行机载地面远程遥控系统联试,试验采用全部的实装设备,验证在真实环境条件下远程遥控系统功能。机载地面联试环境如图6所示。外场机载地面联试试验结果与实验室仿真测试环境下测试结果相同。
篇10
网络编程基于TCP协议的网络编程,按照是否有帧听端口,通常分为两种模式,一种是服务器模式(侦听端口),另外一种为客户端模式。本仪器采用的是客户端模式。关于Linux网络通信中客户端编程的初始化代码,由于资料较多,这里不再累述。本文仅仅给出接收数据或发送数据的部分代码,因为仪器除了要处理网络信息外,还要进行检测数据的采集以及按键信息的处理,因此网络数据的传送或接收,不可以是阻塞的模式,必须是能够立即返回的非阻塞模式。本仪器采用传统的Linux操作系统下API函数select,来实现对网络端口状态的监控,进而实现数据传输的非阻塞功能。以下是实现功能的部分代码。发送数据的代码段,其中m_tv变量保存的是超时返回的时间设置。接收数据的代码段,m_tv的定义同上。如检测到网络口有数据上送的时候才进行数据的接收。
通信模块的详细介绍
通信协议介绍发生通信的两端(仪器和上位机),按照事先对数据传送的同步方式、数据结构、底层通信协议进行相互的约定,共同的遵守,这些约定就称为通信规约。基于网络接口的通信协议工作在应用层。通信协议制定的好坏直接影响仪器传输数据的速率,以及通信质量的可靠程度。按照通信协议的传输类型一般分为三类:(1)循环上送类型。仪器在进行正常的设置之后,不经过上位机的干预,主动将数据发送到上位机。(2)事件驱动类型。在正常工作模式下不向上位机发送数据,当有特殊事件发生的时候才向上位机发送数据。(3)被动召调类型。正常工作的时候,仪器不向上位机传送数据,直到上位机向仪器发送召调报文的时候才进行数据上送。考虑到仪器的工作模式,需要实时的向上位机发送数据,所以排除事件驱动类型的通信规约。由于检测手段的限制,要求仪器软件采样率较高,通常为10kHz以上,故对于数据传输的实时性要求较高,也不采用召调类型的传输协议。最终,仪器采用的是循环上送类型传输协议。协议内容仪器与上位机进行通信,包括两个方面的内容:(1)从上位机接收报文,例如开始采集数据、停止采集、发送参数等;(2)将采集到的数据发送给上位机,以供上位机进行显示或分析。的是三组0xD70x09共6个字节作为同步字,该报文头参照“部颁CDT循环远动规约”中的报文规定。数据帧长度:表示该帧报文的长度,由两个字节的长度表示,低字节在前,高字节在后。报文的长度不包括同步字的六个字节。命令控制字:指示该帧报文的作用,由两个字节的长度表示,低字节在前,高字节在后。数据区域:包含需要上传或是下载数据的内容。数据的内容都是两个字节组成一个数据元素,低字节在前,高字节在后。在原协议中,在数据区域后还存在一个校验码域,是用来检验该帧报文的数据是否完整。但由于仪器的底层采用的是基于流套接字的TCP报文协议,是可靠性连接,并且考虑到数据传送的实时性,在实际的工程使用中将校验码域进行删除。因篇幅有限,仅给出部分实际报文例子,其他报文类似推导即可:(1)开始采集数据0xD70x090xD70x090xD70x090x040x000x010x00(2)发送心跳包0xD70x090xD70x090xD70x090x040x000x050x00(3)循环上送数据0xD70x090xD70x090xD70x090x140x000x080x000x110x000x220x000x330x000x440x000x550x000x660x000x770x000x880x00其中,0x110x00~0x880x00表示的是八个物理采样通道的检测数值。协议分析流程图任何数据通信协议都必须依靠软件实现,因此软件对通信协议实现的好坏情况,直接影响仪器的系统稳定性和其他性能指标。系统的稳定性是指仪器能否经受得住长时间,大数据量传输的考验而不出现死机或数据传输不稳定的情况。其他性能指标是指实时性以及均匀性,实时性指仪器能否将数据实时的传输给上位机或对于上位机给出的报警信息是否及时响应,均匀性指数据的传输是否节奏一致,不能时快时慢。详细的程序处理流程协议分析流程图。当协议解析程序段分析出上位机给出的命令控制字后,就可以很方便地根据命令来进行相关的动作,例如设置参数、应答数据、设置报警等。
仪器软件自动更新的实现