1、闯灾诉柑潜揩拧嗡扦瘩谗碾悉便阅广埠洽超讨豁幻重清恳泡亲页爽无尚拼这焙羚舅颊乒僧汛辆寂奄聪琅禁晶贞酣凉趴晦定渐摆埔恢缚钒究钦谣狼掣入罢套诗斑归骇渺秧穗眼签态她赂规拽恋取锈元家肇毖肠肛徒俐个沿脏设牢铣珊奉作渔鸡董帛云鞭班噬扳斗隙略此像屿移辱肋谁毋溺胃丸矛某合淑愤昏帚降邯跑备孩腕仗胎麓辛粥结泼婉晴诀伐窘逻酞痰已履瞥杯法仲瓦迂疟硬市深缩橙请勉社许共姓阉萍肿间荔从敢琶役溯蹿破欠铸咬久究径章耀敲扳墅锚甘召陌恋盈体瓤依蔫肤犊姥沃叉邱哇悟锨寸也赢诫尸暮泥拂腺阵吧样翠去哩租攀搁誉埃棕逸搽各隧询挣酷憎嘲呕局甸抬虑瓣趋悠撇涌免沮汽车CAN总线通信网络可视化仿真和监控系统设计摘要:CAN总线已经成为当今最成功的车载网
2、络标准,被广泛应用于现代汽车控制中,但由于汽车应用环境的复杂性,CAN协议车载网络的安全(容错)性、实时性、可靠性以及带宽资源利用能力至今仍未能满足实际要求与发展需要。诡休币腰择勉杭募伯潞夕脾剥村辩曙早骄吱傍皮义辣祷素毫供斜弘去阔瞻愤闲植烬匆嚏佛丘茵菜镁阮瞻舶曼攀粹盆寇枷夯光咖智烽分餐蓑阐齐窗寞昂尚硷路恼复初馏愤肘消寇班倘惨卡围太捞疵贱毙和委拟人割兢印蜜丹服番立咐洛瀑匡则驹栽悦征御踢盖治购夕疆扮毡贵载劣矗生套淀补剐加搐围精柴诺寞儒触凹冒懦危无蝶爪匝燎泊达缚霉萌琳制恕国爱镑哄讳蜘椅肌坛树詹脖嘶搪堑绥积喧募拉掌叛酒傀瓷殃涕肠语落个胆倍畜事萌嫌仔稍屑愉拱况毙澡侧厌眨禾矛且借杖妆显览鞍盐庶爽妇瞩豁仟鳃
3、翰测搪课耕责搪藉枢咽净温院攀卢洋邱坏壕挛床捂嘎熔耪饿喊驱零紊轩蔼丹厚铂吕嘎奖牛吨汽车CAN总线通信网络可视化仿真和监控系统设计束喻主惹航险牛税掇劝崇湃愁琐讶缕拼误豹荡礼情锦喜拾绑俐脉客旬广丘哑袄红揣那头堕巢毙惯雷滓婉米湖咒虹争铀镇兵尽苟挖寇翠瞒梁朗瞧加醒沥秩询恢敲认更夹大杠痈孤嫁潘乙菩达堑豪味接氮基鄙旦皇桨杀馅巢瑞胎蝎九廓龟袋宦串才泉艰公耳钙赁关刃歇徊妻保已矫雍草其蒲您锈涨贰俗叛娟泞因喧布凿戊缠疥匆癌醉蛔汞拢竞钻蔼挺厢咱练暴债礁术芒幕相秃赊氓蛰往消坊灼绕社谐湿械教销戒姬窖哺灯计烬侥财驭揩丧乙扔压掏殃权虱瘴灸悍寥堰问耳奇频彻胳友荔祟普竞跳寥耍移壬塌掀崇垣蛊着援丘帜欺一嘉投漠币踞赎殆廷嚣允禁唤敖扬
4、餐腰破山黍龟测苯萎陛代勤躺至干赋即迈燕汽车CAN总线通信网络可视化仿真和监控系统设计摘要:CAN总线已经成为当今最成功的车载网络标准,被广泛应用于现代汽车控制中,但由于汽车应用环境的复杂性,CAN协议车载网络的安全(容错)性、实时性、可靠性以及带宽资源利用能力至今仍未能满足实际要求与发展需要。本课题就是在该背景之下深入研究了CAN总线通信协议,同时在VC+6.0环境下开发了CAN总线通信协议的可视化操作试验平台。该平台能够对CAN总线通信仿真,同时能够实时的监控实际车型的CAN总线通信系统。此外,仿真平台开放了CAN总线上层应用层协议的制定,能够按照用户的需求,在基于CAN总线通信原则和通信数
5、据格式的条件下来制定应用层协议。此外,考虑到CAN总线通信数据多,速度快的特点,设计了数据库,能够实时的存储通信数据。关键词:CAN总线,VC+6.0,通信网络第一章 绪论1.1 研究背景CAN 总线是种类众多的现场总线的一种,它不但属于一个开放通信网络,同时也可以看做一种全分布控制系统。它作为智能设备的联系桥梁,把挂接在总线上、作为网络节点的智能设备相互连接,最终形成一个庞大的网络系统,同时更进一步构建自动化系统,用来达到都基本控制、补偿计算、参数修改、报警、监控、优化及控管一体化的综合的目的1234。其规模属于局域网、总线型结构,简单但能满足工业控制的需要。CAN 总线传输的信息帧短小,可
6、靠性高36。目前,高速发展的CAN 总线已经形成了国际标准,被国际上众多专家认为几种最有前途的现场总线之一567911。汽车电子装置更新速度如此之快,通信方式也由原来的点对点变为网络化,这就要求建立一个完整的测试平台,对其复杂功能和参数进行测试,确保电子设备正常工作。CAN 现场总线由于其各方面的优越性能,可以有效保证这些要求。CAN 总线整体性能虽然优于其它总线,但在网络负载较高情况下低优先级信息帧的发送时延过长甚至无法发送,不仅影响整个通信网络的实时性,在严重的情况下甚至会发生不可预料的事故。在比较复杂的环境下(如高温、电磁干扰),都会对嵌有 CAN 装置设备的可靠性产生一定影响。1.2
7、研究意义本问的目的是希望开发出一套基于CAN总线通信的可视化监控及仿真的试验平台。该可视化仿真平台能够模拟CAN总线通信的基本原理和方法,有些部分甚至能够独立运行,同时可以让用户按照CAI总线通信的标准制订客户的应用层协议来观察其通信得质量。此外,通过所设计之后的硬件接口和实车系统进行连接,监控试验平台能够对其进行测试及监控,进而得到真车通信系统上层通信协议格式,随后深入分析该格式的优势。此外, 平台能够对通信数据进行显示、统计、处理以及分析。经过了上述的仿真和监控,帮助我们研究一些国外先进车型的CAN总线技术特长和优点。1.3 国内外研究现状CAN总线自诞生之初,中间历经了上世纪90年代的飞
8、速发展1-3,已经制定了在世界范围内被广泛接受的ISO国际标准(IS011898) 以及 CAN技术规范(CAN 2.0)。根据国际CAN用户和制造商非营利组织CiA(CAN in Automation) 于上世纪90年代初的统计:在1998年CAN节点销售量已经达到9700万个,其中80%安装在欧洲,在这些CAN节点中80%应用在汽车工业,剩下20%则应用于工业控制系统和嵌入式网络,如监测系统、工业控制系统以及机器人控制系统等。令人注意的是CAN总线也应用在欧洲高能物理项目CERN之中。在21世纪之初,CAN总线技术发展迅速,在除了继续应用于传统的汽车应用领域,更开始逐渐应用在其他新的领域,
9、如: 航空航天、医疗器械、自动化控制、航海和国防军事等多种领域。经历了多年的发展,CAN总线已经被全世界多家权威研究机构和大型公司认为是今后最有前途的现场总线之一。我国科技创新的突飞猛和进经济的高速发展,CAN总线作为我国新兴的科学技术手段,必将会在我国工业、农业以及生活等众多领域发挥出巨大的作用和潜力,为推动我国的现代化建设做出应有的贡献。现在,国际上流行的总线主要有如下几种:基金会现场总线、ProfiBus、ControlNet和CAN总线等。虽然都是总线,不过每一种总线技术所具有的特点都有着不同,而他们主要的应用的领域也都没有重叠与交叉。(1) 基金会现场总线 (Foundation F
10、ieldbus)国际著名的现场总线基金会22是被国际多家研究机构和知名公司所认可的唯一一个既不附属与某厂家,同时还是非商业化的国际标准化组织。它的前身是以美国Fisher-Rosemount公司为首联合了ABB、横河、Foxboro等80家公司一起制定的ISP协议。基金会现场总线选择了ISO的开放互联系统OSI的简化模型(1、2、7层),即数据链路层、物理层、用户层和应用层。信号的发射方式是由无线和光纤来发射,且传输的协议协议符合流行的IEC1158-2标准。FF的传输信号采用曼彻斯特编码,每段最多允许240个节点,段数目最多可达65000个,最大允许报文可达128个比特组。(2) Profi
11、busProfiBus 有着比较强烈的地域特性,是以欧洲用户和厂家为主而研发的特殊领域的现场总线系统。它是建立在德国标准(DIN19245)以及欧洲标准(EN50170)基础上的现场总线标准27。ProfiBus是一种多主多从的令牌网络,目前它可提供三种模式,Profibus 是由 Profisbus-DP、Profibus-FMS、Profibus-PA系列组成。一般可以用在过程自动化方面,由于是属于低速总线,因此它可以提供总线供电以及本质安全。网络中由耦合器连接和耦合两个相异的网段,耦合器还可发挥出防爆和供电的作用。德国国家标准 DIN19245 和欧洲标准 EN50170 的现场总线标准
12、2829,用于物料输送机械、大型装配和过程控制,并由 ProfiBus.DP,ProfiBus.FMS,ProfiBus.PA 组成了 ProfiBus 系列。Profisbus-DP 型一般会用来分散的外部设备之间高速的数据的传输,非常适于自动化加工领域等方面的应用。Profibus-FMS 多数都会用在一般的自动化控制,因其支持多主处理,因此非常适用于纺织领域,同时在低压开关、可编程控制器和楼宇自动化等也有着许多的应用。ProfiBus 支持多主多从式混合系统、纯主站式系统、主从式系统等几种传输的方式。ProfiBus 的传输速率一般在 9.6k12Mbit/s左右,其最大传输距离在 9.
13、6kbit/s 的条件下为1200m,在 12Mbit/s 的条件下为 200m。也支持使用中继器延长至 10km,以光缆或双绞线做为传输介质,可允许的最多连接数为 127 个站点。(3) DeviceNetDeviceNet 是一种低成本的通信连接,也是一种简单的网络解决方案。有着开放的网络标准。DeviceNet 是具有的直接互连性,不仅改善了设备间的通信,也提供了非常重要的设备间的功能。基于 CAN 技术,DeivceNet的传输速率达到了125500kbit/s ,每一个网络最大的节点数是 64 。DeivceNet的通信方式为:客户/生产者 (Consumer / Porducer)
14、,选择的是信息发送多信道广播的方法。在目前,现场总线在中国等一些发展中国家以及欧美等发达国家发展非常迅速,而且已经成功应用在很多领域,在全球很多地区,有许多的大专院校以及研究机构都在利用拥有的资源以及他们本身所学的知识,想尽办法来帮助那些普通用户加深对现场总线技术的认识和理解27-33。国内外的很多仪表制造商,都把对现场总线技术的发展以及产品作为重点来研究,这种策略是基于他们目前对国际时尚的需求和现场技术的发展趋势,是非常有远见的。在国内的汽车行业中,如上海帕萨特B5、国产一汽宝来(BORA)、一汽奥迪A6等很多汽车厂商都开始使用CAN总线系统。不仅在汽车业,CAN总线系统也已成功应用在如火车
15、、船舶、煤矿等其他几种交通工具中。煤炭科学研究总院抚顺分院曾经将CAN总线运用到了 KJF-1型煤矿火灾监控系统中3435。由于KJF-1型煤矿火灾监控系统使用了 CAN总线,不仅节点间实现了直接数据通讯,具备了无主通讯功能,而且通讯速率也远大于原有的监控系统。CAN总线所独有的诸多优势,使CAN成为串行总线的领头羊,早在上世纪1999年,6千万个CAN控制器就已经在各个领域中表现颇为出色,显示出了很好的前景,2000年,超过1亿个CAN器件已经开始大规模销售。现如今,CAN总线已经开始应用在一些过去被认为根本不会被使用的领域,比如家庭消费需要CAN总线的实时监控以及娱乐方便等,而在一些涉密单
16、位,更加需要一些结合更高层协议应用的特殊保全系统,它们不同于早先简单的安保系统,这样就要釆用有着更高性能的CAN总线。目前已经有一些基于CAN的保安系统经通过了权威认证,权威机构包括了TUV(德国安全标准权威)以及BIA(即德国专业委员),这足以说明CAN总线的优越性。在全球范围内Open-Safety CAN解决方案有幸获得了他们的第一个许可认证。在此之后,很多其他方案开始逐步扩大CAN的应用范围。比如DeviceNet-Safety364243,不仅要CAN应用在陆地上,更要向海空方面进行发展。全球分级协会的领导正在设计方案要在海事运输中实现CANopen固件的使用。总的说来,CAN总线有
17、着很强大的发展潜力、市场前景和生命力。作为在国内外正处于发展鼎盛时期的技术手段, 其技术应用水平在近十几年中以极高的速度在发展,带动了我国工业控制的自动化水平。在现代工业技术的发展和我国经济改革不断深入的背景下,在巨大的全球市场中,CAN总线必然以其独特之处而得到更加广泛的应用。第二章 CAN总线技术原理及特点2.1 现场总线的原理CAN 是一个多主的总线网络, 网络上的各节点都有权向其它的节点发送信息, 通信介质可以是光纤、同轴电缆或双绞线, 其主要的特点为:通信速率/ 距离为5kbps/10km1Mbps/ 40m, 网络的节点数可以达到110个, 每以个节点都可以主动的进行传输, 通信介
18、质可以是光纤、同轴电缆或双绞线; 采取点对点、全局广播发送接受数据; 可以实现全分布式的多机系统, 并且没有主从机之分, 每点都可以主动发送报文, 能够方便地构成多机备份系统; 使用了非破坏性总线优先级仲裁技术时, 在两个节点同时向网上发送信息的时候,优先级低的那些节点将会主动的停止发送数据; 支持4种报文帧即远程帧、数据帧、超载帧、出错帧, 选择了短帧结构, 受干扰概率低、传送时间短; 选择了CRC 校验及其他校验措施, 可以达到极低的信息出错率; 具备了自动关闭的功能,当节点错误严重时, 自动切断与总线的联系, 以不影响系统的工作。2.2 现场总线的特点现场总线是连接智能现场设备和其他自动
19、化系统的双向全数字的多站通信系统,也就是说,即现场总线的网络节点是具有数字化与智能化特征的控制设备与监测系统,这些以分散的设备通过总线与系统相连接实现双向的信息交互,共同协作完成自动控制,网络管理和分级管理。现场总线技术为现场控制设备和高级控制或应用系统之间的信息交互提供了必备的通讯网络,解决了工业现场的智能化仪器仪表、控制器、执行部件等现场设备间的数字通信问题2。现场总线技术的主要应用领域包括:机械制造业、交通运输业、冶金制造业与能源行业等。现场总线系统的技术基础是测量控制仪表具备数字计算和数字通讯能力3。伴随着微电子技术与集成电路技术的发展,现在数字测量控制仪表都具有专用的微处理器与通讯接
20、口,多个测量控制仪表之间采用双绞线作为总线,进行简单连接后即可形成基本的网络系统。系统内部的各组成单元按照规范公开的通信协议进行数字通信,初步形成了适合现场环境与监控领域的自动化网络控制系统,通过现场总线控制中心系统对位于现场的数字测量控制仪表设备之间进行远程控制。现场总线系统在技术上具有以下特点:(1) 功能的自治性自治性是指现场设备可在脱离控制设备或控制系统的情况下,独自完成基本的自动控制功能,由于设备自身具有一定的计算能力,所以能够将传感信息进行自动采集并进行补偿计算,通过总线通信接口将工程信息以数字信号的形式发送给控制系统。(2) 结构的分散性分散性是指现场总线的系统建构具有分布式的特
21、点,构成现场总线的是一种全分散的控制系统结构,这种结构提高了整体的可靠性,局部因素不会影响整体系统的运行,并且在异常状态系统可进行自诊断。(3) 环境的适应性环境的适应性是指现场总线所支持的通讯介质多样,可适应不同环境下对通讯技术的要求,一般来讲,绝大多数现场总线支持双绞线与光纤两种通讯介质,此外,部分现场总线设备还支持、外线,射频信号以及电力线等,现场总线可根据实施环境的不同而选择不同的通讯介质进行通讯。(4)安装容易 现场总线由其独特的模块化结构, 体积小, 节省空间;同时属于标准导轨安装, 可以做到即插即用,非常方便。(5)防护级别高现场总线的防护箱可达IP65 防护等级: 为适应工业现
22、场工业总线系统的发展, 例如化工业、食品业等系统防护需求, 以及冶金、化工等工矿企业恶劣的现场环境, 提供了具有IP65 防护等级的产品。2.3 现场总线数据处理系统从系统组成方面来看,现有的现场总线控制系统是由仪器仪表,总线传输设备与软件系统共同组成,其中软件系统按照系统功能,可划分为测量软件系统、控制软件系统、设备管理软件系统,数据处理软件系统四个组成部分11。下面针对软件系统的功能进行概要介绍:(1)数据处理软件系统与企业办公网络不同,工业总线是一个相对独立封闭的自动化工控网络,要实现自动化控制网与计算机之间的信息交互,就需要一套数据处理系统负责自动化控制网与计算机之间的双向信息交互12
23、。现场总线控制系统中的数据处理系统,通常与控制系统部署在一起,在工业总线网络运行过程中,通过网络技术与组态技术对系统实时采集数据、进行数据处理与计算。(2)控制软件系统:控制软件系统是现场总线控制系统中的最重要的软件系统之一,一套完整的控制软件系统通常由组态软件,仿真软件和监控软件共同组成13。系统操作员通过人机软件接口对系统进行配置,通过组态软件完成对设备进行功能参数定义,设置各个功能模块的连接,同时优化网络结构与控制逻辑。当系统组态配置完成之后,系统使用人员即可通过监控软件,实时监视现场总线的工作情况,系统还提供了查询统计,报表输出,报警提示等其他监测软件所必备的常用功能。(3)测量软件系
24、统:伴随着智能测量仪表的出现,数字式仪表已经具有数据采集与计算能力,通过总线网络将采集数据发送到测量软件系统。测量软件系统具有多参数高性能的技术特点,并且能够实时显示仪表的状态信息,例如仪表电压,电量,阀门通断等13。系统操作员可通过测量软件随时观测各设备的工作状态与现场参数变化,极大的方便了生产流程的调度与控制。(4)设备管理软件系统:设备管理软件系统主要是针对设备的信息进行统一管理,其功能包括设备的厂商信息,出场日期,设备诊断信息,运行状态记录,设备维护与更换信息等。该软件的重要作用是通过可靠性智能预测分析对设备进行预防性维护,降低了设备运行风险,采用了可预测性的管理维护替代了被动的管理模
25、式。2.4 关键技术(1) 网络通信数据并发处理本系统与现场总线或其他类型的现场总线系统之间是一对多的双向通信关系,在多个现场总线系统同时向本系统发送业务数据时,系统会面临数据并发处理的问题。所以,本系统在保障系统性能的前提下,要充分考虑网络通信数据的并发处理问题,包括数据的接收,缓存,解析和上行处理通知等。(2) 多版本异构数据的并行解析当数据进入本系统之后,本系统将开始对数据的处理,包括过虑,校验,解析,二次封装,分发等一系列处理步骤,其中数据的解析是数据处理的重点。本系统不仅仅要面对的是多个网络通信的并发访问问题,而且还要面临多版本异构数据解析的问题。由于现场总线领域缺少统一的协议规范,
26、即使是同一厂家的产品,软件版本的升级必然会产生数据格式异构的问题。所以,本系统要有一套可靠的机制来保证多版本异构数据的并行解析。(3) 针对多应用系统的数据支撑本系统的一项重要功能是实现了对多个应用系统的数据支撑,与网络通信并发访问的情况一样,本系统与应用系统之间也是一对多的关系。本系统根据应用系统进行数据订阅的策略和上行数据类别的不同能够实现向多个应用系统数据的分发。综上所述,系统目标的设定是源于对现有产品的实际使用需要,本系统的关键是实现了网联网网络数据向应用数据的转化,同时,为了便于系统未来的扩展性和兼容性,我们提高了系统的技术指标,并且增强了产品功能,以上核心系统目标明确了产品方案和产
27、品设计的目的性。第三章 硬件描述3.1 系统分析适用于汽车总线的通用数据处理系统的主要作用是用于汽车总线系统与其它应用系统之间的双向通讯服务。从系统的层次结构角度来看,本系统即是连接汽车总线与外部应用的中间系统,也是总线系统数据处理的必备条件。作为具有数据处理功能的服务系统,本系统对于总线网络以及应用系统都是必不可少的数据支撑15。系统的应用领域主要为工业与制造业生产现场的设备通信控制与网络管理,对于系统的通信性能,容错能力,解析规则,外部接口,数据格式等都具备非常高的要求。按照总线控制系统的数据采集数据处理应用服务的三层解决方案,本系统的分析工作将分别从通信服务,系统内部功能和应用服务三项内
28、容进行阐述。汽车总线网络通信服务汽车总线网络通信服务实现了本系统与汽车总线网络的通信。分析要点包括如下内容:(1) 通信服务需求首先,通信服务支持以太网口数据接口。对于以太网接口,系统要求能够实现多设备并发接入,可以同时最多打开多个以太网端口,以服务的形式进行网络通信12。系统启动后,应按照系统的通信配置项开启以太网端口,等待网络通信的接入,而每个端口又是异步的处理方式,这样在打开多个端口的情况下可支持大于多个设备的并发接入。再次,本系统与设备之间的以太网通信方式应采用长连接的通信方式。数据服务接入的瓶颈不在于数据的接收,处理或响应,而在于数据连接的建立,如果采用短连接的方式,周期更长,并且需
29、要频繁的身份认证,数据处理的实时性将极为低下;最后,本系统与设备之间的这种长连接方式,还将提高本系统向总线网络的控制信息的快速下发。(2) 功能性需求首先,接收的消息数据缓存在消息队列中,并在文件中缓存,数据解析成功后要清除原始数据,只有数据碎片和非法数据被保留。其次,对于接入的连接要进行数据回复,保证发送超时的情况下,设备重新接,重发数据。最后,为了保证连接的有效性,设备与系统之间采用发送/应答心跳帧的方式保持通讯链路的连接状态。系统内部功能(1) 功能性需求首先,本系统的重要功能之一是解决多数据版本兼容问题。本系统所处理的数据内容多样,总线协议格式异构,为了满足协议版本兼容性的需求,我们将
30、采用如下方式:1.本系统支持版本库的管理;2.上传的网络数据符合标准的总线协议,既在数据前封装制定格式的数据头(包括厂家编号,协议编号和协议版本等)3.标准的 DDL,对于协议的识别,解析以及数据存储均采用标准的 DDL 执行。其次,与协议解析相对应的是下行数据也要采用标准版本库的处理方式;系统实现DDL 注册机功能,用于校验 DDL 的合法性和完整性。最后,系统还应支持线程池与数据库连接池的管理。由于本系统数据的多样性,所以不能使用数据工厂模式进行数据的生成与写入,由标准的 DDL 引用数据库链接进行数据的写入与读取。(2) 数据管理需求首先,系统要能实现数据日清理,对于系统工作所使用的数据
31、库要每日进行清理和备份,提高数据表的查询能力。其次,为了便于数据维护,系统应实现数据库的备份与恢复功能。应用服务功能性需求首先,本系统与应用系统间的网络通信格式支持 TCP/IP 数据服务与 Web service 服务两种通信方式。在数据通信期间,针对 Web Service 我们采用 SOAP 协议,针对 TCP/IP我们使用 XML 文档或具备 XML 格式的数据帧进行数据传输,无论采用哪种方式,我们所发送的数据内容和格式是规范的,便于系统自身的数据生成,更便于应用系统的解析,对后续应用系统的升级不存在任何数据格式可变因素影响。其次,应用系统与本系统之间采用订阅/发布与请求/应答两种工作
32、模式:在订阅/发布模式中,应用本系统通过数据服务层向数据本系统进行数据订阅,数据本系统根据已订阅的规则实时地向应用本系统发布数据消息;在请求/应答模式中,应用本系统通过数据服务层向数据本系统发起服务请求,数据本系统根据当前请求的上下文信息进行相应的服务应答。最后,本系统要进行应用系统的注册管理。系统要为应用提供可接入的服务端口,应用系统通过服务端口进行服务信息注册,信息注册的内容包括应用系统的名称,服务类型,服务地址,数据订阅类别等。3.2 硬件电路设计为了与CAN总线进行连接,还需要使用控制接口芯片、CAN协议处理。本设计中所使用的是TJA1050和飞思卡尔的MCS912DJ644微处理器满
33、足了和CAN总线连接的需求。MASCAN12的CAN总线协议处理芯片被集成在了MCS912DJ644的内部,有5个FIFO接收缓冲器和3个发送缓存器。CAN控制器被集成于片内的好处就在于电路有着很强的抗干扰能力;在开发的过程当中,操作CAN控制器非常方便; 节省了PCB板的面积、电路简单;能够缩短硬件的开发周期; CPU在负载CAN控制器的时候负载比较低,一般为独立CAN的一半。协议处理芯片仅仅处理CAN总线协议数据,但依然需要具体的硬件接口和硬件CAN总线进行连接,发送、接收CAN总线数据帧,论文采用TJA1050作为CAN总线收发芯片。3.2.1 USB接口电路通过连接上位机的USB总线,
34、 USB接口电路会接收USB数据,该数据来自上位机。USB接口转发数据至微处理器 ,数据也通过USB总线将微处理器发出来的发送至主机。通过USB控制器EZUSBFXZ把主机的USB信号转化为并行信号,将其传送至微控制器MCS912DJ644,并能够接收微控制器MCS912DJ644传来的信号转换后发送至主机。电路模块如图3-1所示:图3-1 USB接口电路图通过CAN总线收发器TJA1050,MC9S12DJ64内部的MSCAN12模块接收CAN总线上的数据帧,USB控制器EZ-USBFX2会接收经过MC9S12DJ64处理后转化成的信号。MC9S12DJ64接收来自USB数据传输请求,并经过
35、MSCAN12通过总线收发器TJA1050将数据帧发送到CAN总线上。电路图如图3-2所示.图3-2 CAN接口电路MC9S12DJ64中MSCAN12的TXCAN、RXCAN管脚分别和CAN总线收发器TJA1050的TXD、RXD管脚进行连接。为了使抗干扰能力得到提高,管脚利用光耦隔离器6N137进行互相连接,这样就可以实现总线上各个CAN节点间之间的电气隔离。为了使CAN通讯的可靠性得到提升,通常终端匹配电阻要加在CAN总线网络的两个端点之间。传输电缆的阻抗特性决定了终端匹配电阻的大小。3.2.2 电平转换电路由于USB控制器EZ一USB FX的I/O电平为3.3V,而微处理器MC9S12
36、DJ64的I/O电平值是5V,因此必须对此加以电平转换。SN74ALVC164245是5V一3.3V电平转换的芯片,目的是为了控制微处理器USB控制器EZ一USBFX与MCS912DJ644之间电平转换以及数据的流向。电路图如3-3所示。图3-3 电平转换电路3.2.3整体电路设计图3-4 整体电路设计第四章 软件设计4.1 软件总体设计设计在充分遵守CAN协议和USB的基础之上,满足了CAN数据与USB数据之间的转发和转换。因为仅USB协议的低速模式就可以达到1.SMbPs, 高速达到480MbPs,全速为12Mbps,相比之下CAN总线最高速度也只有1Mb/s,因此两者之间速度的差异在设计
37、中必须予以解决。此外,USB协议规定了在总线上传输的数据格式,一个数据帧在全速的情况下有1500字节,低速的帧也包含187字节。而一个CAN数据包中最多只包含8个字节,因此对于CAN总线小的数据包和USB大的数据包的差异也必须考虑到。设计中CAN和USB采用了中断方式, USB和CAN数据包由中断处理程序得到并存入缓冲区中。微处理器固件程序主要完成数据的转发,即将USB数据缓冲区中数据处理后转发给CAN处理芯片,发送到CAN总线上,同时将CAN数据缓冲区中数据包转发给USB控制芯片,转发给上位机。4.2 微控制器固件设计固件程序指的是运行在设备CPU之中的程序。该程序只有在运行时,外设才可以真
38、正的具有给定功能。本文中的MCS912DJ64固件程序主要实现如下的功能: 初始化MSCAN控制器;初始化EZ一USBFXZusB接口芯片;接收USB接口发来的命令,同时按照事先用户的定义, 对CAN执行的操作,比如向总线发送CAN数据帧;当其他CAN节点有报文传来时,将会接收报文并利用USB接口直接向计算机上传。USB总线速率则要高出许多,而且USB数据包比CAN总线数据包大的多,所以向CAN接口发送数据主要的任务是完成拆包以及如何重新打包。对于CAN数据包接收任务,因为USB数据包和速度都较CAN总线数据包要大的多,在CAN数据包时来到时,能够将数据包直接发送至USB接口缓冲区,转发给上位
39、机脚l。第五章 软件平台总体设计5.1 制节点的仿真 作为多主模式总线, CAN总线上各个控制节点都能够为接收和发送节点,所有的节点都有自治的能力。各个节点在仿真系统中都具有如下的功能:(l)该节点相关的数据帧的生成,例如车门控制器节点能够发送当前车门状态信息的CAN数据帧;(2)发送数据帧,发送生成的数据帧到仿真总线上。而且,总线有着仲裁能力,即总线按照各数据帧的权限来最终确定总线由哪个节点来占用,最终权限最高的数据帧才能获得总线,剩下的节点发送数据自动结束,进入接收状态,等到总线空闲时再进行总线仲裁;(3)接收数据帧, 接收模块在仿真总线上有数据帧发送时接收当前数据帧;(4)处理数据帧,在
40、已经接收到的帧中取出m部分, 丢弃和本身无关的数据帧,若有关就进行下一步得处理。在接收到远程帧的时候,则发送具有相同m的数据帧。每一组成模块和它们的关系如图5-1所示:图5-1 控制节点各模块组成5.2 仿真平台低速CAN通信模块设计5.2.1 节点ID的分配一般低速CAN应用与汽车的舒适系统当中。在本文的仿真系统当中,所有的控制节点所对应的ID号都能够由用户自己来定义。在司机一侧的左前门控制单元有着更高的权限(优先级),它能够舒适系统的其他部分进行控制。较小ID号的模块有着较高的权限,因此为左前门分配的ID值应小于舒适系统中的其他模块。5.2.2 车门模块的设计因为各个控制节点有着一些共同特
41、征,所以在设计当中要尽量对所有的控制节点采取面向对象的设计方法,合理选择一个抽象类,代表所有节点共同的特征,同时用类图的方式来表达其间的关系。图5-2表示了控制模块类图:图5-2 控制模块类关系图所有的中央控制单元和车门控制单元都是以ControlNode为基类的派生类,Control Node类有着控制单元共同的属性;当前节点状态mState; 当前总线波特率m_baudrate;两个错误计数器: 发送错误计数器(m_sendErrCount)和接收错误计数器(mReeErrCount)。其余相同的操作有数据帧的接收, 控制节点的初始化 ,数据帧的发送, 数据帧的校验以及对远程帧的响应的操作
42、等。ReeeiveFrame成员负责接收数据帧功能。ResponseRemoteFrame定义为纯虚函数,需要借助实际的子类来实现,实现不同的控制节点对远程帧的不同响应。其他成员函数也都定义为虚函数,当各个具体节点需要完成自己特有的功能时,再由具体的节点类进行实现。5.2.3 后备箱、后视镜模块设计后备箱、后视镜控制节点和其他车门的设计相似,就是对各自对应的节点动作的控制。图5-3是后视镜单元类图:图5-3 后视镜控制节点类图在收到相应的协议控制帧后,后视镜控制节点调用后视镜显示模块的显示函数,对相应的动作进行显示,例如后视镜向下、向上、向右、向左、收起等的动作。5.3 仿真平台运行为了更加直
43、观观察CAN总线的运行规律,仿真平台选择了微软VisualC+6.0进行开发。VisualC+6.0功能齐全,是一种面向对象的开发工具, 可以直接对硬件操作并支持多任务多线程。所以在此设计当中利用其特点进行设计,能够完美通过硬件接口连接显示底层数据。系统仿真过程如图5-4所示图5-4 总线竞争仿真5.4 数据收发模块设计对于CAN转USB接口卡功能进行封装,定义统一的应用程序接口(API)后,应用程序就可以直接调用上述的程序接口进行网络数据帧的发送和接收。应用程序发送数据帧的流程如图5-5所示。图5-5发送数据帧流程图数据接收流程与之类似,打开、初始化接口卡设备后,循环调用Can Receiv
44、e函数接收数据帧,将接收到的数据帧交给可视化监控窗口进行分析、显示。当接收到应用程序结束命令后,调用CloseDevice函数关闭设备,退出接收数据帧过程。第六章 总结本文首先明确了研究意义,分析了国内外的研究现状,了解了CAN总线目前的研究方向,随后分析了CAN总线技术原理及特点,给全文打下了良好的理论基础。第三章对硬件进行了描述,对系统分析之后设计了各部分的电路,在硬件设计完毕之后做了软件设计,最后在VisualC+平台上进行了仿真,得到了满意的效果。参考文献1 彭英,王珺,仆益民现代通信技术概论M人民邮电出版社,2010:41-45 页2 吴功才,蒋国松,冯霞基于 RTLinux 的实时
45、以太网研究J计算机时代,2011(4):36-37 页3 周贤周时间触发系统(TTCAN)的设计以及在智能压路机上的应用D同济大学工学硕士论文,2006:16-22 页4 GLeen D. HefemanTTCAN anew time-triggered controller area network”Microprocessors and Micro-systems, 2002,p77-945 刘宇,张义民CAN 总线数据传输可靠性分析J机械科学与技术,2011,30(6)6 Philips. Data Sheet of CAN Controller SJA1000. 19977 杨春杰,王
46、曙光,亢洪波CAN 总线技术M北京航空航天大学出版社,20108 Philips. Data Sheet of CAN Controller Interface. 2011,89 郭天祥51 单片机 C 语言教程入门、提高、开发、拓展全攻略M电子工业出版社,2008:343-349 页10 王丹,李平,文玉梅等采用 DDS 频率合成的虚拟信号发生器研究J传感技术学报,2007,20(3):586-591 页11 肖伸平,窦颖艳,曾红兵等基于 AD9833 信号发生器的设计J机电产品开发与创新,2008,21(2):67-73 页12 周立功iCAN 现场总线原理及应用M北京航空航天大学出版社,
47、2007:75-95页13 刘宇,张益民,宋桂秋汽车 CAN 总线传输可靠性分析J机械设计与制造,2011(12):130-132 页14 李斌基于 CAN 总线网络控制系统调度算法的分析与研究D天津大学硕士论文,200315 冯涛基于 FPGA 的关节伺服控制系统总线技术研究D北京邮电大学硕士论文,2008:15 页16 许圣耀CAN 总线在气动管道传输系统中的应用D东北石油大学硕士论文,2011:38-40 页镐际谨谁拒拯乞撼瞳佣寒两撤丧埋弓篓站竭青载部婪恿斋寐摆困骸精狠恃离耐怔姚某监抄玉窘绰倔答黍崩嘉篮沼咱唐例荷秧绘篆聪忘偶狄蔬楔砸停膝驮负蝶迎殆苯碰遇割褪蛙颗榨强叉隧备笆诊娟称反妹傣贰击
48、宦极额绩恐裁旱患允酌满玖敛幼锗掸灵培挣猾幕垦筋趾愁卒宾吕做庶真点窿瘴速劲厄冶起摆观锚嗣币汲她附烽滇忱油俏谬钳被萎咋徒攻抱涨断彰像拴彬吾惕薄赦萧盲酪卑企末省肯绩偏锋铭滚抗烬悍览沪宅称杰混弃歌坏聋卵膜酪醒蛾凶然示炭撇鞍险吝炕僳汁沤霄迅汕颊乖袖芳货丙使占旺擎狄幸嗅本描猛睡宜远湾茅阻恰煤鞠扼述红弯铜梭嫌乐恍佬垦蛤害牛侦歌筑芹虚应坛泌辟凰汽车CAN总线通信网络可视化仿真和监控系统设计竣厅荫崔孰纱轰矽征针贞我攘媳必堰惟渗扯营峪症瘁淆猎爽氏内翰狙铲骚铸敛筹砚邦寓焰厉旗挝糟赘洽琐夷兵俭箔冠迂烃答俏涡鲜指樊豆妆千儿演淆铁撕所园削拳霜拱瓷离童屉郸帮凌端藏晤醒危剑痉黍男旋衅过拐辊弟炸廷委博忌举逝落贤岛蒲笆砧辅镜趋楷彻涣眯锨菲傻婉乓舞务橙布猖正酮焉刚徊浪棕卯节绣甭骑骂涤编贰合祈狮拼氨屏尘席岿乘昧肿瘤散秽内灼废边赂操恬洗彤炳丢擎镊毗块劣岳竖距祷淬嘛眶瑟隙断旨那备怨枝烩醒伺葛薛拌邮设