通用诊断平台(共8篇)
通用诊断平台 篇1
故障诊断是指利用被诊断系统的各种状态信息和已有的专家知识,进行信息的综合处理,最终得到关于系统运行与故障状况综合评价的过程。故障诊断系统是一个实现了信息通信、故障推理及决策的综合信息管理系统[1,2,3]。导弹发射车由于信息化发展需求导致系统复杂度不断增加,为了确保武器系统的可靠性,故障诊断系统已经成为了各型号必不可少的重要组成部分。
按照一般型号研发流程,需要为不同的型号单独研发各自的故障诊断系统,研发周期长,需要投入的人力成本高。随着型号日益增多,对于一个通用导弹发射车故障诊断平台的需求日益突出。基于该平台,设计人员通过配置管理,就能获得满足各型号的故障诊断系统大大缩短开发周期,降低开发成本,实现“一次开发,灵活配置,全面匹配”的目标。
1 发射车车载系统概述
如图1所示,发射车主要模块包括车控、液压、底盘、温控、供配电等,它们基于CAN[6,7]总线构成车载系统的主体。利用CAN总线良好的可
扩展性,故障诊断系统可以作为一个独立的CAN节点无缝接入原有系统;数据记录仪记录了所有总线上的历史数据,所以故障诊断系统既可以从总线获取实时数据,也可以从数据记录仪获取历史数据进行分析。总线网关负责车载系统与其他总线(如以太网)之间的通信。对于不同型号而言,虽然发射车功能有差别,但是其车载系统的架构却是基本相同的,这也为我们能够设计通用故障诊断系统的基础。
2 发射车通用故障诊断平台设计
2.1 发射车故障诊断系统功能抽象
若想设计发射车通用故障诊断平台,首先必须要详细了解各型号故障诊断系统的功能,并且提炼出统一的功能模型[5]。图2描述了发射车故障诊断系统的一般功能抽象,其中用户管理模块负责对故障诊断系统操作人员的管理;状态检测模块负责监控系统实时状态信息;故障推理模块负责在发生故障时对故障进行诊断分析;数据存储模块负责存储管理整个故障诊断系统需要保存的数据;数据通信模块负责故障诊断软件与系统其他模块的通信;人机交互模块负责信息的显示以及指令交互。
2.2 通用故障诊断平台设计
不同型号发射车故障诊断系统之间的差异,都可以归结到如图2所示的抽象功能模块之间的不同。如果将这些通用模块定制为可配置的,那么通过配置管理的方式,就能得到不同型号的故障诊断系统,这也是实现通用故障诊断平台的基本思想。
图3描述了通用故障诊断平台的功能架构,在此我们主要对系统的可配置性设计进行说明。
1)人机交互可配置设计
故障诊断系统的图形交互界面,主要显示系统的各种状态量、基本故障信息等。图形界面的需求千变万化,每个故诊系统包含的图形元素都不尽相同,在布局位置等要求上也各有差异,对其进行常规意义下的可配置设计,几乎不可能。
对此,通用平台采用“图形元素控件库”与“人机界面设计工具”来解决图形界面配置化问题。“图形元素控件库”通过对各型号故障诊断系统界面需求的调研,将图形要素归纳为如下几个主要控件:模拟量控件、开关量控件,曲线图控件以及信息显示控件。这些控件的表现形式一定,但数量、位置、大小都是可配置的。这样对于故障诊断系统界面设计而言,可以将每个界面包含的控件数量、位置、大小等信息写入配置文件,从而实现了界面的配置化生成。“人机界面设计”是基于控件库的可视化界面设计工具,设计人员通过直观、简单的操作就能完成界面设计,并将配置信息自动添加到配置文件中。
对通用平台而言,图形控件不仅需要能够适应不同的外观配置,更重要的是其与数据的关联性也要具备可配置性,如一个模拟量控件到底是显示温度还是速度?为此,我们在控件中加入CAN通信ID属性,在控制流程中通过轮询数据流ID、控件属性ID的方式实现数据与空间的关联性,如图4所示。
2)数据通信可配置设计
故障诊断软件需要获取系统状态信息,才能进行诊断与推理,所以对通用平台而言,数据通信协议的可配置设计必不可少。发射车车载系统采用CAN总线作为数据通信方式,通信协议基于CANOpen协议实现,它们自身都具有很高的可配置属性[],这为通用故障诊断平台可配置数据通信设计打下了良好的基础。
CAN数据帧通过“ID+数据”的方式传输。通过分配不同的ID,可以对应不同的数据。对于每个CAN设备而言,都有一个管理ID的配置文件,只要通过该文件就能配置CAN通信中的数据通信协议。对于一个针对特定应用的CAN系统而言,这样的配置一般是不变的,而故障诊断系统也是CAN网络中的一个CAN设备,所以只要在系统设计中,确定该配置文件定义,将接收到的数据按协议解析,就可以对应到不同模块,如开关量、模拟量或报警信息,从而实现数据通信的配置,如图5所示,该CAN配置文件也成为通用平台配置文件的一部分。
3)故障推理算法可配置分析
故障推理算法主要实现对故障的分析、推理以及定位。通用故障诊断平台采用基于故障树的分析方法实现故障推理。故障树分析法是一种国内外公认的对复杂系统故障分析比较实用的方法,已经在航空航天、机械、电子等领域被广泛应用[2,3,4]。故障树采用树形结构、与或逻辑将故障现象、中间过程以及底层原因组织在一起,其推理过程实质是对树形结构的遍历检索。不同故障的差异体现在树具体的内容,但是遍历检索的过程是一致的,所以图3中“故障诊断软件运行壳”实现了这一故障树检索算法,并且可以在各型号故障诊断系统中通用。
4)通用故障诊断系统配置文件设计
配置文件包含了通用故障诊断系统的所有可配置数据,如上面提及的控件信息、CAN数据配置信息等。如何有效地管理这些数据,是通用平台必须要解决的问题。
通用平台采用面向对象思想,基于XML[8,9]格式实现对配置文件数据的管理,如图6所示。文
件结构分为两层,第一层为对象名,第二层为对象属性以及属性值。故障诊断系统通过对象名解析不同对象的属性,这种结构具有良好的可扩张特性。
图3所示的其他模块功能简述如下,用户管理主要负责平台用户的权限管理;故障树管理负责向故障平台数据库录入故障树;故障诊断系统生成模块负责将各功能模块打包成可执行故诊程序;项目管理模块将各个型号的故障诊断系统按独立的项目进行管理。这些模块也是实现通用故障诊断平台必不可少的辅助功能。
3 结束语
本文通过对各型号车载故障诊断需求的详细分析,结合控件技术、CAN通信、可配置设计思想,提出了一种通用故障诊断平台的设计与实现。利用该平台设计人员可以通过配置管理,得到适用于各个型号的故诊系统。目前,该平台已经成功应用与多个型号的故障诊断系统的开发,各型号间的模块复用度大于90%,大大缩短了各型号故障诊断系统的开发周期,降低了研发成本。
参考文献
[1]尉玉峰,阚树林,任漪舟,等.基于Petri网的复杂制造系统故障树分析[J].机械设计与制造,2010(7):192-194.
[2]叶伯生,黄增双,李斌.故障树分析法在数控机床故障诊断系统中的应用[J].机械设计与制造,2006(8):135-137.
[3]朱芳仪.故障树分析法在工控故障诊断中的应用[J].现代电子技术,2012,35(8):104-106.
[4]姚睿凯,贾旋,蔡卫峰.基于故障树的发射车电气系统故障诊断专家系统研究[J].工业控制计算机,2016,29(2):73-74.
[5]周汝胜,焦宗夏,王少萍,等.基于专家系统的导弹发射车液压系统故障诊断[J].航空学报,2008,29(1):197-203.
[6]鲍官军,计时鸣,张利,等.CAN总线技术、系统实现及发展趋势[J].浙江工业大学学报,2003,31(1):58-61.
[7]张宏,詹德凯,林长加.基于CAN总线的汽车故障诊断系统研究与设计[J].汽车工程,2008,30(10):935-937.
[8]章跃平,张宁.XML技术在铁路设备故障诊断专家系统的应用[J].计算机应用,2006(26):210-219.
[9]冯进,丁博,史殿习,等.XML解析技术研究[J].计算机工程与科学,2009,31(2):120-124.
通用诊断平台 篇2
但中广传播集团技术产品部总经理周红君对记者表示,盈利并非CMMB的当务之急。在如今渠道终端的激烈竞争下,能否依靠终端通用平台的聚合之力实现CMMB用户规模的快速增长,才是对这一平台的最大考验。
统一终端平台
仅凭手机电视的功能,并不能让用户对CMMB产生浓厚兴趣。在过去三年的发展时间里,这一点已得到市场充分印证。如何实现CMMB的产业突围?周红君认为,一方面要强化其媒体属性,另一方面也要实现多元化的媒体应用。但CMMB的终端种类繁多,这在一定程度上对其发展形成了阻碍。
除CMMB专用的手持终端外,手机、平板电脑、PC、GPS/PND、PMP、Dongle等终端设备在其产业链上已纷陆续墨登场,终端型号达到数千款。运营商和开发者们都意识到,在每一个“应用”的开发过程中,有很多工作是重合性的。“终端企业什么都需要自己来做,从底层硬件驱动、操作系统集成,到应用开发、集成调试,还得根据开发环境的不同、屏幕大小的不同进行分别适配,”周红君说,“这都导致了终端的应用产品开发慢,产业链推动不起来。”
因此,为了实现CMMB新业务的快速集成与灵活整合,降低开发难度,中广传播推出了“终端通用平台”。它提供了对上层应用的统一集成接口,包括硬件层、通用层和应用层三个部分。硬件层可统一CMMB的解调芯片接口驱动,实现一次集成到位;通用层实现文件接收处理、定时下载、音视频流打包处理、信息触发等功能,意在降低终端开发的复杂度,并对代码进行开放,实现硬件及操作系统的普适性;应用层则提供了一个开放的开发环境,可以整合播放器、浏览器、阅读器等应用软件。
“我们帮助CMMB终端在差异化竞争中凸显三点:快速度、低成本、全业务。”周红君表示。而随着终端通用平台的发布,广电系在手机电视运营上的“强攻”之势也正式展开。
打破内容局限
5月13日,中广传播集团与《中国日报》《南方周末》《经济观察报》等传统媒体签约,正式启动“睛彩报纸”业务。这些报纸内容可以通过CMMB的广播信道,快速推送到用户的手持移动终端上。随后的6月16日,中广传播继续在内容上进行“扩招”,与搜狐视频、优酷、深圳证券信息有限公司、湖南快乐阳光互动娱乐传媒有限公司等多家内容企业签署战略合作协议。
此外,中广传播还推出了其他基于终端通用平台的应用,互动电视购物和富媒体广播也是其正在进行的应用尝试。
“5月17日,我们在湖南成立了中广传播的第一个互动购物基地,联合湖南广电的一些资源,比如快乐购、HIGH 淘这样的电视购物频道,把他们的资源整合进来。同时联合中国移动的手机支付,实现在手机电视上的一键购物。”周红君介绍说。此外,中广传播与国际台联合推广的富媒体广播也变“听”为“看”,以网页推送的形式帮助用户实现收看、录制等功能。
更多合作伙伴的加入,对CMMB以往单纯的6套电视节目内容布局提升明显,同时这也被视为是终端通用平台“推送播存理论”的实践应用。中广传播终端事业部总经理孟斐指出,播存平台的发布改变了传统广播电视的观看体验。传统的广播电视随着时间的流逝而消失,而今后CMMB用户可以不用遵守电视的节目时间表,可以像在互联网上那样下载并根据自己的时间来安排收看。
但是,如果推送大量的内容,播出的通道带宽是否够用?对此,孟斐表示,“我们突破了固定时隙的概念,给每个内容打上内容标签,一方面,可以针对不同地域、不同人群、不同终端,在同一时隙分别提供不同的内容;另一方面,可以采取‘见缝插针’的方式,比如在凌晨不放电视节目的时候推送,充分利用空余、交叉的带宽,实现动态播出。”
用户规模有待扩大
单向传播是CMMB的渠道特性,尽管如今可以通过广播方式推送更多有价值的信息给用户,但仍然无法彻底解决用户对个性化内容的实际需求。况且,现在还不到依靠增值业务实现盈利的时候——一方面用户的规模没有做起来,另外一方面成熟的应用不多。
“现阶段还是在包月频道上进行收费。”周红君说。据了解,CMMB睛彩电视业务资费标准为每月12元,已在全国近200个开通CMMB网络的城市推行,如果一次性缴纳一年费用,则为120元,一次性缴纳三年为300元。不过目前的收费基本采用前向收费,即由移动终端厂商先付三年的费用。“三年资费优惠完是100块钱。”周红君表示,“因为现在还没有建立起营业厅体系和收费体系,所以我们需要以预收费的方式快速回款,而对于终端用户来说这也是一种吸引,终端厂商在购买CA芯片时已经付完3年的费用,用户没有订阅成本。”
不过,这一模式并没有实现CMMB终端的快速扩张。据第三方统计数据显示,截止到2010年底,CMMB的付费用户达到1000万,今年底的付费用户预计能达到2200万人。
“我们现在有两个渠道,一个是和中国移动合作的手机终端TD-CMMB,目前大概有近600万的付费用户,另一方面是借助我们单向的终端,比如爱国者,纽曼这些做GPS、MP4的渠道,把单向的,非手机类的市场铺起来。单向的用户量大概在400多万。”周红君介绍。
拓展更多终端渠道
有业内人士表示,“广电和电信运营商都不愿意谈及的问题是,主导方之一中国移动有自己的流媒体手机电视,因此在TD-CMMB上的销售并不‘给力’”。中广传播的主要业务是免费的、点播的视频,而这也正是中移动等电信运营商未来数据业务的主要方向。这种左右互搏的状态从一开始就决定了中國移动无法全心全意发展CMMB。
因此,发展更多终端渠道,是CMMB未来得以大规模崛起的惟一路径。
通用诊断平台 篇3
关键词:故障诊断,UDS服务,iOS平台
0 引言
随着汽车电子技术的发展,CAN总线在车载网络的普遍应用,基于CAN总线的汽车网络诊断协议ISO15765已经成为多数汽车厂商所采用的标准诊断协议。但是因其协议的新颖与复杂性,目前国内在基于ISO15765的车载网络诊断技术尚不成熟[1]。目前主流的汽车故障诊断工具通常在单片机或FPGA上开发而成,导致现在的汽车诊断设备通常受扩展性及便携性的限制,对其使用仅限专业汽车维修人员。随着移动终端的不断发展,智能手机已经成为人们日常生活中的基本工具。i OS系统作为领先的移动端操作系统,具有良好的用户体验,友好的开发环境,较大的市场占有率,并且其在汽车终端系统的发展更具生态友好性。2014年,苹果公司发布了车载操作系统Car Pl-ay,使得i OS设备与汽车无缝连接,开发基于i OS的汽车应用更具前瞻性,未来有更多车系支持该车载系统后便可直接安装应用至车载终端进行故障诊断。本文通过对汽车诊断协议ISO-15765的分析与研究,结合UDS统一诊断服务以及设计的蓝牙转CAN转接板,在i OS平台上开发出汽车故障诊断仪。诊断仪具有通用性,可以应用到所有支持标准诊断协议ISO15765的汽车中。用户可以借助装有本软件的i OS设备既可实时了解汽车出现的故障,方便对故障进行排查,并作针对性的保养。
1 车载诊断协议研究
ISO15765诊断协议于2001年发布,以OSI七层模型为基础,基于CAN总线制定了统一的诊断流程与服务标准。CAN总线可以满足电动车多节点,信号传输量大的特点[2]。在ISO-15765的通信模型中,诊断协议体系分为四层:分别为应用层、网络层、数据链路层和物理层[3]。其中,数据链路层根据ISO-11898-1标准定义遵循CAN通信协议,网络层根据ISO15765-2定义,应用层根据ISO14229-1和ISO15765-3标准中诊断服务的内容定义,并兼容了一些汽车厂商规范中定义的诊断服务,具有测试、检测、监控、诊断管理等功能。ISO15765的通信模型如图1所示,诊断仪根据应用层中定义的诊断服务发送相应的服务请求报文。当网络层接收到来自应用层消息后,根据定义中的分包、组包、位填充和时间控制等步骤,对消息流进行传输控制。根据传输数据的长度可分为单帧传输和多帧传输,数据链路层通过把网络层传来的诊断报文,经过修改打包成能够在CAN总线上进行传输的CAN报文。
2 诊断仪系统框架设计
诊断仪的核心功能是获取与解析汽车故障。汽车故障是指由于汽车零件本身或零件之间的配合状态发生异常变化导致汽车不能正常工作的现象[4]。汽车故障主要由于零部件之间的相互作用,从而引起零部件受力、发热、变形、磨损、腐蚀等,使汽车在整个寿命期内,故障率由低变高[5]。汽车发生故障时,首先要定位汽车的哪一个部件出现故障,以电动汽车为例,电动汽车主要有六大部件,分别是:发电机控制装置(GCU)、整车控制系统(HCU)、电机控制器(IPU)、DCDC、电动车充电器(CEM)和电池控制单元(BCU)。在定位出汽车的哪一部件出现故障后,根据该部件各个零部件的运行状态参数判断出是什么原因导致故障的产生,最后通过相应的维护方法使汽车故障排除。系统旨在通过开发一种基于i OS移动设备的汽车故障诊断软件使得用户可以方便地获取汽车出现的故障,同时维修人员可以快速定位并作出维修决策。具体需要实现以下几个需求:
1)构建诊断数据库;
2)完成蓝牙通信模块的设计;
3)开发基于i OS平台的汽车故障诊断软件。
2.1 系统整体方案
本文所述汽车故障诊断系统主要由蓝牙通信模块以及i OS上的诊断仪应用软硬件两部分组成。软件部分诊断仪应用又分为以XML文件构建的数据库模块、基于ISO15765的应用层协议解析模块以及UI模块,系统框架如图2所示。
诊断系统中自底向上分别是汽车内部网络、蓝牙通信模块、以及i OS设备。汽车内部网络中汽车的各ECU部件能够在汽车出现故障时对相应的故障信息进行诊断与存储。蓝牙通信模块作为中介设备用于i OS设备与汽车CAN网络的通信。i OS诊断仪中的XML数据库存储了各车厂相应的故障信息,通过获取到的汽车ECU中的故障信息并进行解析后在数据库中进行匹配,最后将结果通过人机界面提示给用户。
2.2 系统设计
(1)诊断数据库的构建
为了实现汽车故障诊断仪的通用性,构建数据库时采用可扩展标记语言XML来构建。XML表示的信息独立于平台,可在任何应用与平台上读写,完成各独立系统间的信息交换[6]。通过将各合作车厂提供的故障码与故障信息对应的故障代码表,以及包含数据标示符、数据流描述、数据换算公式及单位的数据流信息说明表,结合相应的车型构建XML诊断数据。数据库存放在应用沙盒目录下,由于i OS的沙盒机制,应用程序位于文件系统的严格限制部分,其他应用程序无法访问以保证数据库的安全。
(2)蓝牙通信模块的设计
由于目前的汽车诊断设备通常是通过数据线直接接入汽车OBD接口,导致诊断仪便携性较差。通过分析目前的短距离通信网络蓝牙与Wi Fi后,充分考虑到汽车环境下的可行性与i OS设备的支持后,本文采用蓝牙通信技术。基于最新蓝牙4.0BLE协议,开发出用于协助i OS设备与汽车网络通信的设备蓝牙转CAN模块。蓝牙通信模块使用的MCU是STM32F103C8T6,采用SN65HVD230作为CAN收发器,MAX232作为RS232电平转换器,蓝牙模块采用CC2540,串口波特率设定为115 200 bps,CAN接口的波特率设定为250 kbps,系统工作频率设定为72 MHz。蓝牙通信模块工作流程为:利用蓝牙模块与i OS设备的蓝牙进行通信;当接收到i OS设备发送的蓝牙报文时,主控制器将接收的数据转换成CAN报文并通过CAN通信模块发送给汽车CAN网络上的各ECU;当接收到汽车ECU响应的CAN报文时,将接收的数据转换成蓝牙报文并通过蓝牙模块发送给移动终端。基于此,i OS设备就可以利用蓝牙转CAN设备实现与汽车内各ECU间接通信,以实现对汽车各部件的故障诊断功能。系统硬件设计结构框图如图3所示。
(3)诊断功能设计
本文在CAN总线UDS诊断标准ISO15765的基础上,设计出诊断仪的以下几个功能,分别是:读取全部故障码、读取当前故障码、读取历史故障码、清除故障码、读取版本信息、读取动态数据流、写入车辆识别码。
在UDS诊断服务中规定,SID(Service Identifier)=0x19的服务为读取DTC(Diagnostic Trouble Code)信息诊断服务。诊断仪可以通过该诊断服务读取车辆内所有服务器或一组服务器存储的DTC信息[7]。以读取全部故障码为例,阐述该诊断服务实现过程:依据SID:0x19服务对应的子功能0x0A,由客户端(诊断仪)向ECU发送请求报文,ECU返回响应报文。客户端通过该响应报文判断ECU是否仍有连续帧返回。若有则发送流控制帧以请求ECU继续返回连续帧;若无则表明ECU已无响应报文,客户端接收完响应报文后,诊断仪需要从响应报文中提取出DTC和DTC的状态。根据读取到的DTC与XML数据库中的故障信息进行查询与匹配,解析出每个DTC对应的解释,并显示在诊断仪的人机交互界面中。诊断仪完成一次诊断服务过程如图4所示。
3 i OS平台上汽车故障诊断软件的开发
i OS系统自出现以来因其简单易用的界面、令人惊叹的功能,以及超强的稳定性,赢得了市场的青睐[8]。同时考虑到目前市场上汽车诊断仪基本需要单独购买额外的硬件,开销昂贵,并且智能手机已经作为日常生活中的主要工具,因此本文基于i OS平台使用Xcode开发i OS平台上汽车故障诊断仪。i OS诊断仪基于以下几个功能开发:(1)连接配对蓝牙通信;(2)故障码的解析与匹配算法设计;(3)诊断仪整体界面设计。其中蓝牙通信功能采用i OS SDK提供的Core Bluetooth框架开发,i OS设备作为主设备,蓝牙通信模块作为从设备。首先从设备会广播自身的信息,包括其UUID以及相应的服务,主设备收到从设备的广播并与之发起连接后既完成蓝牙的配对连接,蓝牙报文的传输通过主设备对从设备特定的服务的特征写和读来完成。故障码的解析与匹配算法用于从ECU中读取出数据后对具体的故障码进行解析并匹配XML诊断数据库。具体的算法流程如图5所示,诊断设备首先通过执行读取故障码功能,将ECU响应的故障码存放到故障码链表中。再从数据库中找到对应该车厂ECU的故障信息匹配XML文件,利用XML解析器从文件中解析出所有故障码和中、英文故障信息并存放到故障信息匹配链表中。完成上述步骤之后,依次将故障码链表中的故障码逐条读取,接着从故障匹配信息链表中查找是否有相同的故障码。若找到相同故障码,则将该条故障码对应的中、英文故障信息解析出来并显示在人机交互界面从而指导维修人员;若未能找到相同的故障码,则提示相应的错误。如此循环执行,直到将故障码链表中所有故障码的故障信息解析出来。
4 系统分析与测试
4.1 系统分析
本文设计的汽车故障诊断系统主要由蓝牙通信模块以及i OS上的诊断仪应用软硬件两部分组成。其中蓝牙通信模块采用蓝牙4.0BLE模块,相对传统蓝牙模块其功耗更低,更符合汽车这样特殊环境下的实际需求。蓝牙通信模块传输延迟在3 ms左右,最大传输距离可达100米,满足日常需求。
i OS上的诊断仪基于MVC模式开发,分离模型、视图与控制器通过面向对象分析将故障解析与匹配算法抽象成一个API,每一次对于ECU的数据处理仅需要调用该API即可完成。同时作为诊断仪的核心部分,故障解析与匹配算法被高度抽象后极大地方便了单元测试,通过大量的测试用例实验,使得软件的可靠性大大提高。
4.2 系统测试
本文设计的故障诊断仪主要实现汽车故障信息获取与解析功能,并以友好的用户界面提示用户,指导维修人员快速定位故障并完成汽车维修工作。本文基于i OS平台开发,因此测试平台主要包括装有诊断仪软件的i OS移动终端、蓝牙通信模块以及汽车ECU部件。在诊断系统开发和测试期间,本文基于长安新能源研究所提供的长安奔奔电动车部件BCU来进行验证,测试平台实物连接如图6所示,其中蓝牙通信模块接入车身CAN网络,并由ECU直接供电。
测试步骤如下,选用i Phone 4S作为测试设备,将通信模块接入CAN网络后使BCU上电,待蓝牙模块指示灯指示正常后使用i OS设备配对连接蓝牙模块。成功配对后分别测试读取全部故障码、读取当前故障码、读取历史故障码、清除故障码、读取版本信息、读取动态数据流、写入车辆识别码功能。图7所示为读取全部故障码及读取动态数据流的结果。
通过对汽车BCU、HCU部件进行联调,针对诊断过程中可能出现的丢帧、差错帧、无响应等情况分别进行相应的单元测试。测试用例均通过测试,结果符合预期要求,所有测试的诊断功能均能实现。同时针对移动设备内存有限的情况下对应用进行了压力测试,测试结果表明在持续使用各诊断功能的情况下,应用所占内存保持在10 MB左右,程序能良好地运行。
5 结语
本文通过对汽车诊断协议ISO15765以及UDS统一诊断服务的研究,充分利用了XML平台无关性的特点,构建了汽车故障XML数据库,使得其能同时应用到其他操作系统,并设计了用于移动设备与车身CAN网络通信的蓝牙通信模块。在此基础上开发出i OS汽车故障诊断软件,软件采用MVC框架设计,进行了多轮重构,Bug修复以及版本适配,能够适配最新的i OS8系统。最后搭建了诊断测试平台,并对各功能模块分别进行了单元测试同时对系统进行黑盒测试。测试结果表明,各功能模块均正常工作,系统整体运行正常,具有可靠性与稳定性。本文设计的汽车故障仪实现了一种低成本、方便灵活的汽车诊断工具。
参考文献
[1]李锐,王晶莹,姚燕,等.基于ISO15765的车载CAN网络诊断设计[J].计算机工程,2012,38(4):35-39.
[2]钱三平,黄少堂.混合电动汽车CAN网络系统设计及应用[J].汽车工程学报,2014,4(2):109-115.
[3]Xu A D,Liu L L,Song Y.Research and Development of Vehicle Fault Diagnostic Protocol ISO15765[C]//Proceedings of the International Conference on Transportation,Mechanical,and Electrical Engineering,2011:1241-1245.
[4]蔡浩.汽车故障诊断系统的设计和开发[D].上海:上海交通大学,2009.
[5]刘占峰,林丽华.汽车故障诊断与检测技术[M].北京:北京大学出版社,2008.
[6]黄智宇,陈倍新,冯辉宗,等.一种基于XML的汽车ECU故障诊断信息匹配方法:中国,201210504280.0[P].2013-03-20.
[7]Huang J K,Nan J R,Chai Z,et al.Analysis of UDS Diagnostic Service Applied on Vehicle ECU[J].Applied Mechanics and Materials,2013,437:779-782.
通用信息处理平台的设计研究 篇4
近年来,随着信息化建设的不断发展,各种信息处理平台也在不同的领域中发挥着越来越重要的作用。但通过对部分医院、院校及企事业单位调研发现,很多信息处理平台相似程度很高,尽管采用的编程工具不一,但实现的功能具有很高的重合性。根据这种现状,开发搭建通用信息处理平台具有很高的现实意义和实用意义。
2 主要功能
2.1 信息传输
通过设置统一端口的监听程序,实现用户之间自动接收图像信息、下载阅读数码签字文件,遵照密语解释协议接收解密密语代码,可方便重点信息的传输安全,同时可支持大文件(大于1GB)的在线或离线传输。
2.2 信息采集
根据任务需求,主要完成信息的实时或延时采集功能。通过平台的有线、无线接口将采集的信息打包上报,接收端根据需求可选择手动或自动更新数据库或文件。
2.3 信息查询
可划分为重点要素查询和综合信息查询,可以预先设置参数,跟踪数据的实时变化情况,对超出警戒数值范围的要素按照参数要求进行报警提示,对最新更新数据重点优先显示。
2.4 智能数据公文
建立智能公文模型库,针对工作中常用公文选择对应模板,根据格式设置参数选项以供选择,无法预设的由用户手工输入,结合工作任务需求,能够快速关联指定数据库,生成数据文档。
2.5 数据分类分析
将数据按照不同分类方法,进行统计图分析。统计图按照类别——数量的方式显示,同一部分数据信息可以按照多种统计方法分析。综合运用饼图、直方图、点状图等为数据信息提供相应直观图示信息。
2.6 平台管理维护
平台管理包含重点数据维护、综合数据维护、专业系统搭载、公文模板库管理和密语代码管理等具体功能。平台可搭载平台以外的专业系统,达到资源快速整合的效果。能够快速实现大数据量信息批量处理,在遇到突发事件或不可预知情况时,能够保持数据在物理、逻辑、元素3个方面的完整性。
3 系统组成
该系统分为3大部分:第一部分为数据处理部分,包括公文生成、数据的采集、维护、分类、统计、汇总、查询、分析、计算、归档及打印输出;第二部分是机动通信、指令传输、情报采集、图层传输、公式计算,通过FTP技术、Socket通信技术、API技术、电子地图技术和数据库技术,实现了信息处理模块、地图处理模块;第三部分为系统的联机帮助,系统安装盘的制作包括对系统程序、数据库及相关组件的打包压缩,设计制作安装程序和安装盘自启动程序。
4 主要技术
系统的开发应用采用了面向对象法与生命周期法相结合的方法,按照自顶向下规划和自底向上设计相结合的策略,进行了以总体数据规划为中心的总体规划与总体设计。在规划、设计和编程上都采用了目前先进的计算机辅助软件工程工具,同时充分利用了Windows API、Delphi和.NET强大的数据操作处理能力来实现对信息的加工和使用。在系统的开发中主要采用的技术如下:
4.1 利用Indy的TIdFTP控件实现FTP协议Delphi技术
FTP和其他的Internet服务一样,亦采用客户机/服务器方式。它要求其他席位用本地的客户端与服务器建立连接,然后才能从服务器上获取文件,或向服务器发送文件。使用方法很简单;启动FTP程序先与主机连接,然后向远程主机发出传输命令,远程主机给予响应,执行正确命令。
用户有合法的用户名和口令的前提下才与文件服务器建立连接。通过客户端软件,用户可以在权限答应的范围内进行文件更名、删除、传送操作。FTP支持的文件传送类型它们是ASCII和二进制映像。
上传与下载大型文件,通过HTTP方式上传大文件有一定的局限性。FTP作为一个非常老而且非常成熟的协议可以高效稳定地完成大文件的上传下载,并且可以实现续传。使用Indy中的TIdFtp控件可以实现通过FTP方式进行文件的上传与下载。Indy的网络操作大部分是阻塞模式的。需要使用多线程的方式来保证界面的响应。Indy中包含了多线程的控件TIdThreadComponent,相对比之下该控件实现多线程时更加方便,也更容易控制。通过Indy,可以通过阻塞方式进行编程,可以抛开异步模式。
4.2 Delphi的Socket通信
计算机网络是由一系列网络通信协议组成的,其中的核心协议是传输层的TCP/IP和UDP协议。TCP是面向连接的,通信双方保持一条通路;UDP是无连接的,通信双方都不保持对方的状态。为了保证网络传输的正确性和有效性,必须进行一系列复杂的纠错和排序等处理。Socket是建立在传输层协议(主要是TCP和UDP)上的一种套接字规范。微软的Windows Socket规范(简称WinSock)对Berkley的套接字规范进行了扩展,利用标准的Socket的方法,可以同任何平台上的Socket进行通信;利用其扩展,可以更有效地实现在Windows平台上计算机间的通信。在Delphi中,其底层的Socket也应该是Windows的Socket。Socket减轻了编写计算机间通信软件的难度,但总的说来还是相当复杂的(这一点在后面具体会讲到);Inprise在Delphi中对Windows Socket进行了有效地封装,使得用户可以很方便地编写网络通信程序。
利用记录类型数据保存作业终端的信息,同时保存当前终端的连接状态。其中,CHandle保存终端套接字句柄,以便准确定位每个与服务器端保持连接的终端;Csocket保存终端套接字,通过它可以对终端进行回复。Cused记录当前终端是否与服务器端保持连接。
ServerSocket的属性:
(1)Port是通信的端口,必须设置。在平台中设置为10005。
(2)ServerTypt是服务器端读写信息类型,设为stNonBlocking,表示异步读写信息。
(3)ThreadCacheSize是客户端的最大连接数,就是服务器端最多允许多少客户端同时连接。平台采用默认值10。
其他属性采用默认设置即可。
ClientSocket的属性:
(1)Port是通信的端口,必须与服务器端的设置相同。在平台中设置为10005。
(2)ClientType是客户端读写信息类型,应该与服务器端的设置相同,为stNonBlocking表示异步读写信息。
(3)Host是客户端要连接的服务器的IP地址。必须设置,当然也可以在代码中动态设置。
其他属性采用默认设置即可。
4.3 身份权限控制
以不同的权限进行登录,这种登录方式可以将用户的使用权限分为不同的等级,以防止一些普通权限人员对程序的错误操作。在制作应用程序时,会设定一个权限最高的登录用户,该用户可以对程序中的所有数据进行操作,而其他的普通用户,只能在该程序中进行数据的查看,或者部分修改里面的数据。下面给出用户级别登录的流程图,如图1所示。
在制作用户级别登录窗体时,窗体中要有用户名、密码和用户级别的输入文本框,为了使输入的密码处于保密状态,将密码文本框中的字符用“*”来表示。当用户名、密码和用户级别正确时,单击“确定”按钮,将进入主窗体。“登录”窗体显示后,在该窗体中输入用户名、密码和用户级别,单击“确定”按钮,在该按钮的OnClick事件中对用户名、密码和用户级别进行判断,如果与数据表中的某行记录相同,则进行主窗体,否则,清空用户名、密码和用户级别的文本框,进行重新输入,当登录次数超出3次时,退出本系统。关闭“登录”窗体有两种方式,(1)关闭当前窗体,(2)关闭整个工程。在系统登录成功后,关闭的是“登录”窗体本身,当单击“登录”窗体的“取消”按钮时,关闭的是整个工程。本实例是用一个变量ifclose在“登录”窗体的OnClose事件中来进行判断,当ifclose变量等于0时,关闭整个工程,否则,只关闭本窗体。
4.4 动态库封装界面、计算算法和对话框等元素
在系统中,使用了大量的图形界面或元素。如果每一个应用程序都包括这些元素,则系统将会变得非常缓慢,而使用动态链接库技术能很好地解决这个问题。动态链接库可以在程序运行时调用,并不需要进行重新编译,代码可以重用。动态链接库不用重新编译或链接,载入内存后动态链接库中的函数可以被系统中的任何正在运行的应用程序所使用。以下为动态库封装部分代码:
公式计算部分代码如下:
4.5 利用键盘控制技术与选择性填空控制输入操作
在需要填空的操作中,控制输入的长度、汉字或字母的选择是影响录入效率的瓶颈,同时也常常会造成一些人为输入错误。因此在系统的登录、数据录入部分,防止作业席位误输入是一项必不可少的工作,除此之外,还要为操作人员的使用提供最大方便。尽管可以利用或开发新的组件,以完成这些功能,但是,会给软件的后期维护带来麻烦,因此用函数调用来完成这些功能。键盘输入主要分3种类型限制:(1)任意输入;(2)整数输入;(3)浮点数输入限制。函数示例如下:
此函数在所限制组件的OnKeyPress事件中调用。Key即为OnKeyPress携带的Key:Char参数;Digits为浮点数输入时小数的位数,如果是零,则可输入任意位数。另外,此函数适用于有Text、SelStart、SelLength等属性的TWinControl类的派生类。
选择性输入则主要依靠建表完成。例如将所有需要录入的固定信息都加入到了选择菜单中,这样用户的输入就变成了轻松地在提示的选择菜单中一点,就完成了该项的数据录入,方便快捷,而且避免了录入错误。另外在有文字输入的地方,都由程序自动切换到汉字或字母输入状态,方便了用户操作。选择性填空的实现方法是,首先建立选择性提示菜单的数据表,并将一些固定信息预先录入该数据表中,然后建立对应该数据表的数据窗口(子数据窗口),并选定需显示的数据项,同时设定数据显示的过滤条件。第二步在数据录入窗口中对需要选择菜单的录入项进行定义,即选择该数据项的Properties…,在Column Object窗口中定义上述的子数据窗口,即方式(Style)选择下拉数据窗口,指定数据窗口名和显示的数据项。
5 结语
本平台为广大信息处理平台研发人员提供了一个通用的设计模式,是在当前时期提出的新的思路和模型,满足了易用、可扩展的需求。使开发人员员在开发中“存同添异”,达到提高开发效率的目的。
摘要:结合计算机编程技术和通信技术,总结了各个领域信息处理平台的普遍特征,论述了设计通用信息处理平台的必要性,并介绍了其关键技术要点。
关键词:编程技术,通信技术,信息处理平台
参考文献
[1]软件工程及应用.沈阳:东北大学出版社,2007.
[2]Delphi技术方案宝典.北京:人民邮电出版社,2008.
互联网通讯的通用安全平台 篇5
应用领域:公司、政府、研究所、学校等等任何使用互联网络的用户和团体。
合作方式:通过双方谈判共同确定合作模式;
项目负责人简介:
云计算平台的通用评测体系研究 篇6
一、云计算相关技术现状
国内外标准化组织对云计算的研究从2009年逐步展开, 到2011年底呈现井喷趋势, 在虚拟化、云安全、云存储、云间技术、云管理、云终端、云架构等方面对云计算技术进行了详细的研究, 在标准方面确立了度量云计算平台的可行性。NIST定义描述了云计算的五个基本特征, 快速伸缩 (Elastic) 、服务可度量 (Metered) 、按需自助服务 (Self Service) 、无所不在的网络访问 (Anywhere Access) 、资源池 (Resource Pooling) , 在标准方面确立了如何度量云计算平台的方向。
2通用评测体系指标
云计算平台的通用评测体系指标是一个统一的整体, 既包含纵向的层次关系, 又包含指标间的平行关系, 不同的指标反映云计算平台的不同侧面, 分属于不同的类别。根据云计算产品功能、云计算相关技术、云计算标准的特点, 结合国家在软件工程的产品质量方面的标准, 通用评测体系包含6个大类指标:网络架构路由和交换能力、存储架构快速响应能力、虚拟化能力、资源抽象与控制能力、服务成熟度、安全性保证能力。其中, 服务成熟度又分为5个小类指标:服务提供能力、服务监控能力、计量/计费能力、开放的接口能力、网络响应性能。服务提供能力又分为3个小类指标:服务获得, 服务保证, 服务效率。
通用评测体系指标组织结构如下图:
1、网络架构路由和交换能力
根据NIST定义的云计算平台具有“无所不在的网络访问 (Anywhere Access) ”标准, 需要评估网络架构路由和交换能力, 确保无论什么情况下存取服务和数据, 都不需要经历过渡的延迟。云计算平台的过渡延迟主要因为交换和路由引起, 确立的交换和路由的具体指标如下:
路由指标由CPU能力, 包转发、查表, 路由协议支持, 路由吞吐量、时延、路由计算能力等方面构成。
交换指标由传输速率、传输模式、支持的网络类型支持协议和标准等方面构成。
2、存储架构快速响应能力
存储架构快速响应能力是在存储层面确保NIST定义的云计算平台的“服务可度量 (Metered) ”标准, 用于保证数据和存储服务的及时交付、数据和存储服务的可用性, 是云计算平台的通用评测体系指标的重要方面。目前主要从数据服务能力和存储服务能力的两个角度建立12个评测指标:
数据服务能力由用户数、每秒连接数、每秒事务数、当前连接数、吞吐量、端用户Qo E、服务器利用率方面构成。
存储服务能力由读写速率、I/O速率、事务响应时间、吞吐量、服务器利用率方面构成。
3、虚拟化能力
虚拟化能力分为对计算资源、存储资源、网络资源进行虚拟化的能力。虚拟化能力衡量了NIST定义云计算的“按需自助服务”、“资源池化”、“快速伸缩”的标准, 是保证云计算平台性能的基础。目前市场上的虚拟化能力主要分为x86虚拟化能力和微分区虚拟化能力, 本文建立了如下的宏观测试指标和微观测试指标:
宏观测试指标包括吞吐率 (throughput) 、响应时间 (respond time) 、可扩充性 (dilation) 、暂停时间 (downtime) 、正常运行时间 (uptime) 、性能隔离度 (performance isolation) 、减速比 (slowdown) 、加速比 (speedup) 等指标。
微观测试指标包括CPU、内存、文件系统、2D/3D图形性能、I/O设备、网络设备等指标。
4、资源抽象与控制能力
资源抽象与控制能力分为三个方面:计算资源池化是高效的虚拟化服务器资源, 并把他们整合到逻辑资源池, 然后通过控制能力把这些资源定位到具体应用;网络资源池化是规划和管理虚拟化环境下的网络;存储资源池化是从复杂的硬件系统抽象出存储资源, 确保最大化效率利用存储。
资源抽象与控制能力由弹性伸缩与效率、资源管理能力、迁移可靠性度量、容量能力、监控及分析能力、安全性保证能力等指标构成。
5、服务成熟度
云计算平台的服务成熟度是云计算平台向企业或其他人员提供的一种评估云计算平台的服务成熟性的指标, 使云计算平台的服务质量等级可量化。通用评测体系主要从Iaa S、Paa S、Saa S层面来度量服务成熟度, 分为五个评测指标:服务提供能力、服务监控能力、计量/计费能力、开放的接口能力、网络响应性能。
6、安全性保证能力
安全性保证能力主要由以下部分构成:实现对用户账号、角色的权限管理, 不同权限的用户具有不同的平台使用和维护等操作能力。并能在数据/存储、数据传输、数据使用安全和应用安全方面加以保证。
三、基准评测方法
基准评测方法是对通用评测体系的指标进行功能、性能等方面的基准测量。主要包括3个方面:
(1) 使用传统的、用来评价服务器性能的基准测试程序衡量各个服务器在云计算平台环境下的各自的性能表现, 然后对这些独立的性能指标加权求和, 以此评测云计算平台的性能;
(2) 云计算平台的微观性能指标评测, 通过使用微观评测程序对比非云平台环境下的性能差异;
(3) 诊断系统性能开销。
四、评测模型
评测模型是对评测数值进行分析处理。云计算平台的选择和评测有很多考虑因素, 本文从6大类指标:即F1网络架构路由和交换能力、F2存储架构快速响应能力、F3虚拟化能力、F4资源抽象与控制能力、F5服务成熟度、F6安全性保证能力, 。结合实际应用中它们所占的比重, 分别赋予W1, W2, W3, W4, W5, W6的权重, 根据权重得到最终得分。
公式 (1) 中:S表示最终成绩;Fi表示第i个指标的评测成绩;Wi表示第i个指标在总评测模型值中所占的权重, 权重需要充分考虑迁移到或者建立在云计算平台上的实际业务, 考虑业务所需的支撑能力。
五、结束语
移动平台GPU通用计算研究综述 篇7
GPU英文全称为Graphic Processing Unit, 中文翻译为图形处理器。近年来, GPU正在以远超摩尔定律的速度高速发展。GPU在高性能计算方面具有3大优势:高效的并行性、高密集的运算和超长的图形流水线。正是由于GPU的这些特点, 使越来越多的研究人员和商业组织开始利用GPU完成一些非图形绘制方面的计算, 开创了一个新的研究领域, 即基于GPU的通用计算, 其应用范围包括计算医学、计算化学、计算物理学、计算金融等。随着科技的发展, 硬件设备性能的不断加强, 可编程GPU已经从桌面平台搬移到手持设备上, 例如智能手机和游戏操作平台, 使移动平台具备了科学计算能力。
1 移动平台GPU通用计算的软硬件支持
在2013年3月之前, 移动平台上唯一可用做GPU通用计算的API只有OpenGL ES, 所以目前国内外移动平台GPU通用计算的研究还多数采用OpenGL ES语言[1,2,3,4,5]。通常在桌面上使用的更加高端的API, 如CUDA等, 在移动平台上是不支持的。
如今, OpenCL是一个广受欢迎的通用计算标准, 它是第一个面向异构系统通用目的并行编程的开放式、免费标准, 也是一个统一的编程环境, 便于软件开发人员为高性能计算服务器、桌面计算系统、手机设备编写高效轻便的代码。在移动端上, ARM、Imagination、高通、三星、德州仪器均保证支持OpenCL, 在其各自的平台上提供OpenCL SDK, 并进行过一些实例演示。索尼也选择在其Xperia系列设备上支持OpenCL。
2 国内外研究进展
2.1 移动GPGPU速度和功耗表现
利用移动平台做并行计算有两个目的: (1) 为了提高应用或程序运行速度, 满足实时性要求, 例如面部识别; (2) 为了降低应用或程序运行功耗, 有效缓解移动电源电量有限的问题。下面分别进行说明。
首先分析移动GPGPU的速度表现。由于GPU支持大规模的并行运算, 较CPU有更多运算单元, 因而在GPU上做通用计算可以有极佳的速度表现。韩国汉阳大学的Jungsik Park[6]等在文章中介绍其用移动平台GPU开展立体图像校正的研究。他们选用的通用计算平台为OpenGL ES 2.0, 研究结果发现GPU执行立体图像校正的时间比单独CPU执行时间快两到三倍。还有很多研究者同样有效利用了移动平台GPU超强的通用计算速度优势[2,3,4,5]。
接着分析移动GPGPU的功耗表现。根据A P Chandrakasan[7]等在文章中的描述, CPU中门切换消耗的能量为电容 (C) 乘以电压 (V) 的平方。这些门在1秒内切换的次数等于频率。因此一个微处理器的功耗计算为P=CV2 f。如果将一个频率为f、电压为V的单核处理器与一个类似的双核处理器 (每个核芯的频率为f/2) 进行比较, 芯片中的回路数会提高。理论上这会将电容提高2.2倍, 不过电压会显著减少到0.6V。所以在这两种情况下, 每秒执行的指令数一样, 但双核处理器中的功耗是单核处理器的0.396倍。因此低频率运行的多核在功耗上会有显著提高, GPU通用计算在功耗上的表现也是我们关注的。美国莱斯大学的Blaine Rister等[1]使用移动平台GPU运行当前流行的SIFT算法, 相比CPU执行有4~7倍的提速, 同时每张图片处理节省能耗87%。
2.2 移动设备嵌入式OpenCL性能功耗表现
2009年NOKIA公司用虚拟的嵌入式编程环境模拟OpenCL在移动设备上的表现, 研究结果表明嵌入式GPU能为算法在速度和功耗方面提供极佳表现[8]。
随着OpenCL在移动设备上得到广泛支持, 基于移动设备的GPU通用计算将会成为一个潮流。来自美国莱斯大学的Guohui Wang[9]等在第一时间使用移动GPU中的OpenCL做通用计算, 并发表了相关研究。OpenCL是专为异构计算设计的程序框架, 其可以跨多个不同的计算平台。研究成果表明, 通过异构加速, 物品移除算法从CPU单独执行所需的393.8秒缩短到只需1~5秒, 完全符合移动应用的实时性、可用性。2013年9月, Guohui Wang等[10]又发表了在智能手机上基于OpenCL的SIFT算法研究。结果显示GPGPU运算相对于单独CPU运算有1.69倍的加速和41%的能量节省。
3 移动平台GPU通用计算中需要注意的问题
3.1 移动内存限制问题
嵌入式GPU没有自己的图形内存, 而需要与其它计算部件共享系统总线以获得外部内存。GPU的执行受限于内存, 当移动计算涉及较大数据计算时, 选择合理的算法是必要的。NOKIA在题为OpenCL in Handheld Devices的报告中将相同图形处理算法在移动平台上做了3次测试, 即单独CPU运行、单独GPU运行、CPU与GPU联合运行。结果发现单独用GPU运行在速度与功耗的表现上均优于单独用CPU运行, 更重要的发现是CPU与GPU联合采用OpenCL并行运行的表现虽优于单独CPU运行, 但劣于单独GPU运行。经分析得知, CPU与GPU之间的数据传输是并行表现不佳的重要原因。CPU与GPU有其各自的内存, 即便是如今的APU也仅仅是物理上将CPU和GPU集成在一个芯片上, 从软件角度上来说它们是完全分离的。
解决方法是当CPU不用为GPU传输数据时才让CPU做框架计算, 如此优化时序安排可以让数据传输全速运行。而AMD公司推出的Kaveri处理器创新采用hUMA方法, 即实现了异构系统同一内存寻址, 从根本上解决了CPU和GPU之间数据传输的不经济问题。
3.2 移动设备功耗测量问题
目前国内外测量移动设备或开发板的功率消耗只能做到大致测量。困难点在于测量消耗功率需要测量开发板的供电电流, 这要求测量仪器有很好的精度;另外, CPU和GPU整合在一个芯片上, 因而要想单独测得各个部件的消耗功率很难。大多数研究者选择测量整机功耗来粗略代替CPU和GPU的消耗功率[10]。为得到有效的SoC系统级功耗估算值, 需要单独计算出显示屏和SoC外部其它耗电部件的功耗, 才能排除它们的影响。另外高通公司为开发者提供了Trepn插件, 用来测量程序运行功耗, 也成为解决功耗测量问题的一种方案。
4 移动平台OpenCL并行程序开发案例
下面介绍移动平台上OpenCL的实现, 目的是说明如何在移动平台上编写OpenCL并行程序。使用的移动平台为小米2S, 搭载的操作系统为基于Android OS v4.1的双MIUI V5, GPU型号为高通Adreno320, 支持OpenCL编程。具体开发步骤如下:
(1) 首先需要安装好JDK、eclipse、ADT、Android sdk等基本的Android应用程序开发环境, 在此基础上由于需要在Android平台上使用Java调用OpenCL写好的N-ative C, 因此需要搭建好NDK开发环境。
(2) NDK开发环境配置好后, 开始编写OpenCL代码, 本案例使用的是简单的矩阵相乘。在Eclipse中新建一个工程FirstTest, 对布局文件进行修改。
(3) 在src包下新建一个Java类, 命名为nativeSimpleMultiply, 再在nativeSimpleMultiply类中声明一个函数, 命名为simpleMultiplyMain。具体如下:
package com.firsttest;
public class nativeSimpleMultiply{public native int simpleMultiplyMain () ;}
(4) 生成com_firsttest_nativeSimpleMultiply.h的头文件。具体是使用Cygwin进入workspace中工程所在目录, 输入$javah–classpath bin/class–d jni com.ndk.HelloJni。结果在工程FirstTest下出现jni包, 包内是生成的com_firsttest_nativeSimpleMultiply.h。
(5) 将之前写好的矩阵相乘的C代码移植过来, 以完成本地实现, 并将之命名为com_firsttest_nativeSimpleMultiply.c。
(6) 编写Android.mk文件, 用其向编译系统描述源代码, 具体代码如下:
LOCAL_PATH:=$ (call my-dir)
include$ (CLEAR_VARS)
LOCAL_MODULE:=NSM
LOCAL_SRC_FILES:=com_firsttest_nativeSimpleMultiply.cpp aopencl.c
LOCAL_LDLIBS+=-L$ (SYSROOT) /usr/lib-llogldl
include$ (BUILD_SHARED_LIBRARY)
(7) 编写Application.mk文件, 用其描述在应用系统中所需的模块 (即静态库或动态库) , 代码如下:
APP_CPPFLAGS:=-frtti-fexceptions
APP_ABI:=armeabi-v7a
APP_PLATFORM:=android-8
STLPORT_FORCE_REBUILD:=true
APP_STL:=gnustl_static
(8) 将aopencl.c和aopencl.h加入到jni包中, aopencl.h头文件中有各种OpenCL函数的声明。
(9) 编译生成libNSM.so动态链接库, 使其能够被Java调用。
(10) 编写MainActivity.java, 实现整个应用功能, 代码如下:
需要特别说明的是这里的static{System.loadLibrary ("NSM") ;}用于装载动态库libNSM.so。
至此在移动平台上编写OpenCL并行程序的整个过程已介绍完毕。该程序开发框架如图1所示, 应用程序的Java部分通过JNI完成对应用程序Native C部分的调用。其中Native C中写有OpenCL并行程序, 该并行程序通过libOpenCL.so与设备的GPU和CPU交互完成并行计算。
5 结语
移动平台GPU在速度和功耗方面具有非凡表现, 随着移动设备供应商对OpenCL标准的支持, 移动平台在通用计算上展现出无穷的潜力, 相信将会有越来越多基于OpenCL的应用涌现。但是, 由于移动GPU与CPU计算单元和内存带宽的限制, 使移动平台GPU存在一定的瓶颈, 如果下一代移动GPU可以拥有更好的内存科技与更高速的内存带宽, 移动设备更加高速的异构计算技术将是可以预见的。国内利用移动平台GPU做通用计算的深入研究基本为零, 因此该研究前景广阔且具有重要意义。
参考文献
[1]B RISTER, G WANG, M WU, et al.A fast and efficient SIFT detector using the mobile GPU[C].In ICASSP 2013-IEEE International Conference on Acoustics Speech and Signal Processing, Piscataway, NJ:IEEE Press, 2013:2674-2678.
[2]N SINGHAL, W Y JIN, H Y CHOI, et al.Implementation and optimization of image processing algorithms on embedded GPU[C].IEICE Transactions on Information and Systems, Japan:IEICE Press, 2012:1475-1484.
[3]Y C WANG, S PANG, K T CHENG.A GPU-accelerated face annotation system for smartphones[C].In 18th ACM International Conference on Multimedia ACM Multimedia 2010, New York:Association for Computing Machinery Press, 2010:1667-1668.
[4]N SINGHAL, I K PARK, S CHO.Implementation and optimization of image processing algorithms on handheld GPU[C].In IEEE International Conference on Image Processing, Piscataway, NJ:IEEE Computer Society Press, 2010:4481-4484.
[5]R HOFMANN, H SEICHTER, G REITMAY.A GPGPU accelerated descriptor for mobile devices[C].In 2012IEEE International Symposium on Mixed and Augmented Reality[C].Washington, DC:IEEE Computer Society Press, 2012:289-290.
[6]J PARK, J CHOI, B K.SEO, et al.Fast stereo image rectification using mobile GPU[C].In The Third International Conference on Digital Information Processing and Communications, USA:SDIWC, 2013:485-488.
[7]CHANDRAKASAN A P, POTKONJAK M, MEHRA R, et al.Optimizing power using transformations[J].Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, 1995, 14 (1) :12-31.
[8]J LESKELA, J NIKULA, M SALMELA.OpenCL embedded profile prototype in mobile device[C].In 2009IEEE Workshop on Signal Processing Systems, Piscataway, NJ:IEEE Press, 2009:279-284.
[9]G WANG, Y XIONG, J YUN, et al.Accelerating computer vision algorithms using OpenCL framework on the mobile GPU-A case study[C].In ICASSP 2013-IEEE International Conference on Acoustics Speech and Signal Processing, Piscataway, NJ:IEEE Press, 2013:2629-2633.
一种通用网络课件发布平台开发 篇8
随着计算机和网络通讯技术的迅猛发展, 借助计算机和多媒体等教学手段为教学服务, 是未来教学的必然趋势。越来越多的教师利用多媒体和互联网来进行辅助教学[1]。网站, 作为一个直接面向学生很好的教学辅助, 也被引入到教学的过程中, 网站丰富的内容表现形式, 扩展了学生对知识点的理解, 可以很容易实现教师与学生的互动, 是传统的教学模式所无法替代的。越来越多的课程都有建立自己的网络课程并通过网站来进行教学的需求。然而, 现实的问题是, 面对网站的建设的时候, 许多老师往往感到束手无策。因为网站的建设和部署涉及到了多方面的知识, 没有经过专门的培训, 一般教师很难开发出内容生动、声情并茂的理想教学网站, 特别是管理方便、能快速进行内容更新、支持多种格式文件的网站[2]。本文所要论述的内容就是如何设计和开发一个通用网站平台, 让没有网站设计专业知识的老师也可以轻松实现网络课件的发布。
1、通用网络课件发布平台的设计原则和内容构成
网络通用课件发布平台通常是为不具备计算机网页设计专业知识的老师而设计, 因此的设计需要遵循以下几个原则[3]:
1) 支持个性化的表现形式
通用网络课件发布平台, 并不是说发布的网站都是千篇一律的, 用户可以根据自己的需要设计自己的网站, 只有个性化的网站, 才能体现教师的教学风格甚至个性特点。发布平台的通用性主要体现在后台管理上和前台的功能上。
2) 支持丰富的多媒体展示
教学平台是否生动多彩, 很大程度上体现为网站所要呈现给学生的内容是否丰富、多样, 绘声绘色或者有声有色。作为网站发布平台, 需要为使用者提供发布多种媒体内容的功能, 这些内容可以是平面的、动态的、立体的, 也可以是三位一体的。只有做到内容的丰富和生动, 才可以极大吸引受众的眼球, 提高网站的访问率和回访率。
3) 支持动态更新
网站内容如果总是静止的, 甚至很长时间都保持原来的内容, 学生在网站里获取不了新的信息, 时间久了, 访问量就减少, 网站就失去了吸引力。所以网站必须提供接口供任课老师进行经常性的维护, 以补充和充实网站的内容。
4) 支持强大的交互能力和亲和力
网站不仅是知识传播的平台, 也是充分发挥学生积极性和创造性的舞台, 网站必须有实现教师与学生交流的接口, 学生与学生之间也须具备实现交流和沟通的途径。强大的交互能力可以引导学生如何学好本课程, 形成一种互助学习的良好风气, 从而增加网站的亲和力, 有亲和力自然就有生命力。
5) 支持资源共享共用
资源共享可以合理地利用前人的教学成果, 提高学习资料的使用率, 减少不必要的重复劳动, 节约时间。可以帮助任课老师将更多的时间花在教学创新中去。
6) 具备灾难容错机制
网站的容错机制是保证网站内容的安全性的一个重要的手段, 网站的内容一旦遭到人为的破坏或网站资料遭受意外的损失, 可能会影响教学的进行, 容错机制的存在可以让网站的数据在很短的时间内得到恢复。
通用网络课件发布平台设计的内容主要包括两个部分:前台显示和后台管理。前台显示是表现教学内容的主要部分, 涵盖了教师所要传输的全部内容。通常包括教学大纲、教学章节日历、教学章节的内容以及一些辅助资料的展示等等。后台管理主要负责整个网站宏观框架的设置、栏目的编排和调整、展示内容风格的设计等等。
2、通用课件网站平台的详细设计和实现
通用课件网站平台的设计采用了Access 2000数据库, 使用ASP开发, 服务器使用Windows 2000, IIS5, IE6.0, 数据库没有采用Sql Sever 2000, 目的是使将来网站的部署更加方便, 因为通常教学网站的数据量并不会很大, Access已经足够胜任。Dreamweaver被誉为网站建设"三剑客"之一, 其良好的开发界面和网站站点管理功能, 使其成为网站编辑工具的首选, 本系统使用Dreamweaver 8.0版本[4]。
2.1 通用课件网站平台的详细设计
通用课件网站平台的主要功能主要包括系统设置、栏目管理、用户管理、文章管理、会员管理、数据处理六个部分, 如图1所示。
系统设置模块主要包括系统初始设置、首页调用脚本、变量信息查看、上传文件管理等模块, 涵盖了网站前后台的各项控制功能, 如文章浏览权限, 上传文件的大小控制等。系统初始设置可以设置站点的名称, 设置站点超链接默认网址, 指明网站LOGO文件及其文件大小、文件边框属性等。用户可以根据自己的需要自定义首页执行脚本, 也可以查看与网站服务器相关的系统变量。
用户管理包括两种用户:管理员和一般用户, 管理员主要负责系统维护的工作, 也可以同时担当一般用户的角色使用网站所提供的功能, 但一般用户不能超越管理员的权限对系统进行设置和管理, 除非得到管理用户的授权。用户管理包括用户信息添加、用户信息管理、修改个人密码。
栏目管理是体现整个网站风格的一个很好的交互平台, 网站设计者在这里规划网络课件的基本框架, 包括文章大类和文章小类的设计, 大类和小类的管理就是网络课件所要展示的栏目的管理, 设计者可以实现栏目添加、调整和删除插入等操作, 增加了网站设计的灵活性。
文章管理是整个网站的灵魂, 包括文章录入设置、文章内容录入、修改删除文章、文章内容审核、文章回收管理五个部分, 所有的文章在添加之前, 必须进行归类, 以确定所属栏目 (大类、小类) , 归类到哪个栏目后, 用户浏览时就可以在该栏目看到文章的实际内容。这些文章的内容支持文本、图像和多媒体等各种格式, 甚至实现了一些简单脚本的支持, 使网站的设计和内容变的更加丰富。
会员管理跟用户管理不同, 是指参与讨论和交流即论坛里的用户, 非会员只能浏览少量的网站信息, 正式注册会员才可以完整地浏览网站资源和信息, 还可以发表新主题讨论、参与评论和回复信息等, 会员管理包括会员信息管理、会员评论管理, 由具备权限的用户来实现具体的管理操作, 网站提供对会员进行批量处理平台, 如可以一次性将所有的学生作为一个整体进行用户添加, 并使其成为会员, 享受基本的权限, 因而提高处理效率。
数据处理包括初始化数据库、备份文章数据、恢复文章数据、文章数据压缩、批量处理数据五项功能, 主要实现数据的批处理功能和灾难救助机制, 一旦数据被人为或其它原因被破坏, 网站管理人员可以迅速进行修复和更新, 从而避免导致不必要的损失。
图2为系统添加文章内容的界面, 用户可以通过选择大栏目和小栏目的类属来决定向哪里添加新的内容, 添加的内容支持文本格式、图片格式, 以及其它格式如GIS动画、swf文件、WAV或AVI视频和音频格式文件, 实现对这些格式文本文件的支持, 使发布的教学网站的内容变得更加生动多彩。
2.2 网站设计关键代码实现
系统的实现主要解决网站内容添加、栏目设置、交互论坛的实现等关键技术。下面的程序简单说明从后台数据库中读取网站设计者提交的菜单项, 并在页面进行显示[5]。
3、结束和展望
本文提出的通用网络课件发布平台方法的设计和实现, 能够简化任课教师开发网络课件, 降低课件开发对科任老师计算机专业技能要求的一种实用的课件模板库, 方便教师开发高质量的网络课件, 使不具备专业编程经验的教员也能够方便快捷地开发自己的网络课件。
摘要:本论文设计了一个基于互联网的通用课件发布平台, 通过该平台, 不同专业的教师可以轻松地设计并发布网络课件, 平台支持文本、图片和录像等多种格式的文件格式, 操作简单, 使用方便, 为教学的进行提供了有效便捷的手段。
关键词:网络课件,发布,通用平台
参考文献
[1].王海燕, 周思方.基于XML的网络教学课件的设计与实现[J].科技信息, 2007, 22 (12) :170-171.
[2].张珠庭.浅谈网络课件的开发[J].宁德师专学报 (自然科学版) , 2008, 20 (3) :284-287.
[3].张海燕.网络课程设计与开发[J].青海师范大学学报, 2008, 32 (3) :61-63.
[4].朱印宏, 熊利荣.Dreamweaver8完美网页设计-ASP动态网页设计篇[M].北京:中国电力出版社, 2006.
【通用诊断平台】推荐阅读:
通用实验平台10-29
故障诊断平台09-29
通用服务平台设计12-05
通用软件无线电平台07-12
综合素质评价平台通用内容12-30
呼叫中心平台基础通用性软件技术架构06-15
诊断和鉴别诊断09-24
税收通用完税证16(税收通用缴款书)09-25
通用英语01-17
通用计算01-19