www.EETchina.com
汽车总线设计及测试宝典
——汽车电子工程师必备
www.EETchina.com
www.EETchina.com
目 录
一、
二、
三、
四、
五、
六、
七、
八、
汽车总线技术的发展 汽车总线技术的特征
汽车总线的研究重点及关键技术
汽车总线技术的应用意义及国内发展现状 各类汽车总线的特点比较 CAN总线设计详解
汽车CAN/LIN总线测试流程和测试工具 汽车总线设计及测试经典问答43例
www.EETchina.com
www.EETchina.com
一、 汽车总线技术的发展
随着车用电气设备越来越多,从发动机控制到传动系统控制,从行驶、制动、转向系统控制到安全保证系统及仪表报警系统,从电源管理到为提高舒适性而作的各种努力,使汽车电气系统形成一个复杂的大系统,并且都集中在驾驶室控制。另外,随着近年来ITS的发展,以3G(GPS、GIS和GSM)为代表的新型电子通讯产品的出现,它对汽车的综合布线和信息的共享交互提出了更高的要求。
从布线角度分析,传统的电气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然造成庞大的布线系统。据统计,一辆采用传统布线方法的高档汽车中,其导线长度可达2000米,电气节点达1500个,而且,根据统计,该数字大约每十年增长1倍,从而加剧了粗大的线束与汽车有限的可用空间之间的矛盾。无论从材料成本还是工作效率看,传统布线方法都将不能适应汽车的发展。下图1、图2分别为相同节点的传统点对点通讯方式和使用CAN总线的通讯方式,从图可以直观地比较线束的变化(图中节点之间的连线仅表示节点间存在的信息交换,并不代表线束的多少)。
图1 传统的节点通讯方式
图2 CAN总线通讯方式
www.EETchina.com
www.EETchina.com
电控燃油喷射系统、电控传动系统、防抱死制动系统(ABS)、防滑控制系统(ASR)、废气再循环控制、巡航系统和空调系统。为了满足各子系统的实时性要求,有必要对汽车公共数据实行共享,如发动机转速、车轮转速、油门踏板位置等。但每个控制单元对实时性的要求是因数据的更新速率和控制周期不同而不同的。这就要求其数据交换网是基于优先劝竞争的模式,且本身具有较高的通信速率,CAN总线正是为满足这些要求而设计的。
美国汽车工程师协会(SAE)车辆网络委员会根据标准SAE J2057将汽车数据传输网划分为A、B、C三类,为了直观地说明其网络划分,这里图3表示。
从通讯速度角度分析,随着车载多媒体和办公设备在车辆应用方面的快速发展,一种新型总线——IDB已经出现,世界各大汽车生产商对此非常关注,纷纷出台相应的研究计划。现在已经存在能够对导航、GPS、电话、音响、电视、DVD等进行信息综合的双总线(OEM总线+IDB)样车,这些装置之间需要频繁地通讯,而且信息量巨大,原有的CAN总线或J1850总线无法满足这些装置间的通讯要求,因为传输地理信息(GI)、数字音频信息或车辆位置信息至少需要5Mbit/s的网络速度,IDB-1394可以支持100、200、400Mbit/s的通讯速度,完全可以满足高速通讯的网络需求。
CAN总线是控制策略驱动的总线,主要实现对车辆本身的控制,而IDB总线则以信息交互、共享为目的。为实现CAN总线和IDB总线间的信息流动以及防止后者对前者产生影响,在两总线间增加网关已经成为共识。图4为一典型的双总线结构示意图。
www.EETchina.com
www.EETchina.com
早在80年代,众多国际知名的汽车公司就积极致力于汽车总线技术的研究及应用,如博世的CAN、SAE的J1850、马自达的PALMNET、德国大众的ABUS、美国商用机器的AUTOCAN、ISO的VAN等。目前,国外的汽车总线技术已经成熟,采用总线系统的车辆有BENZ、BMW、RORSCHE、ROLLSROYCE、JAGUAR、VOLVO等。国内完全引进技术生产的奥迪A6车型已于2000年起采用总线替代原有线束,帕萨特B5、BORA、POLO、FIAT PALIO和SIENA等车型也都不同程度地使用了总线技术。此外,部分高档客车、工程机械也都开始应用总线技术。
二、 汽车总线技术的特征
设计目标
汽车总线传输必须确保以下几点:传输信息的安全;信号的逻辑“1”明显区别于逻辑“0”;异步总线随机地传送数据;根据预先确定的优先权进行总线访问;竞争解决后获胜站点能够访问总线且继续传输信息;具有根据信息内容解决总线访问竞争的能力;总线的功能寻址和点到点寻址能力;节点在尽量小的时间内成功访问总线;最优化的传输速率(波特率);节点的故障诊断能力;总线具有一定的可扩充性等等。 数字信号的编码
为了保证信息传输的可靠性,对数字信号正确编码非常重要。汽车局域网数据信号多采用脉宽调制(PWM)和不归零制(NRZ)。PWM作为编码方案时,波特率上界为3×105kb/s,用于传输速率较低的场合。采用NRZ进行信息传输,可以达到1Mb/s,用于传输速率较高的场合。 网络拓扑结构
www.EETchina.com
www.EETchina.com
实用的汽车局域网是总线拓扑结构,如CAN、SAEJ1850、ADVANCED PALMNET等。其优点是:电缆短,布线容易;总线结构简单,又是无源元件,可靠性高;易于扩充,增加新节点只需在总线的某点将其接入,如需增加长度可通过中继器加入一个附加段。 总线访问协议
汽车总线的访问协议一般为争用协议,每个节点都能决定信息帧的发送。如果同时有两个或两个以上的节点发送信息,就会出错,这就要求每个节点有能力判断冲突是否发生,发生冲突时按某个规律等待随机时间间隔后重发,以避免再发生冲突。网络协议所使用的防冲突监听措施多为载波监听多路访问,如CAN、SAEJ1850、ADVANCED、PALMNET等都采用的是:载波监听多路访问/冲突检测+无损仲裁(CSMA/CD+NDA)。
三、汽车总线的研究重点及关键技术
汽车总线系统的研究与发展可以分为三个阶段:第一阶段是研究汽车的基本控制系统(也称舒适总线系统),如照明、电动车窗、集控锁等。第二阶段是研究汽车的主要控制系统(也称动力总线系统),如电喷ECU控制系统、ABS系统、自动变速箱等。第三阶段是研究汽车各电子控制系统之间的综合、实时控制和信息反馈。
按照我国汽车电子技术发展规划,进入21世纪后轿车电子技术可达国外90年代水平,为了缩短同国外轿车技术水平的差距,提高自身的竞争力,单纯靠技术引进不利于发展,消化、吸收、研究和开发自己的汽车总线与网络应用系统势在比行。目前我国的汽车总线研究和应用尚处起步阶段,而且汽车总线的应用趋势明显,现在介入该研究正是大好时机。 汽车总线的研究重点
由于我国的车型以欧美车型为主,且欧美车型又以CAN总线为主流,目前国内使用总线技术的车型几乎全部使用CAN总线,因此汽车总线的研发应该结合国内外实际情况选用CAN总线。
CAN符合ISO/OSI的参考模型,但只规定了物理层和数据链路层的协议,其应用层的协议需要用户自己定义。支持CAN低层协议的芯片有许多,既有在片的MCU,也有片外的CAN控制器。用户自己开发的应用层协议也有很多,如AB公司定义的DEVICENET协议就是CAN协议基础上的应用层协议,Honeywell公司推出的SDS总线也是在CAN的基础上定义了自己的应用层。可见,汽车CAN总线的研究重点是:针对具体的车型开发ECU的硬件和应用层的软件,并构成车内网络。
www.EETchina.com
关键技术
利用CAN总线构建一个车内网络,需要解决的关键技术问题有: 1) 总线传输信息的速率、容量、优先等级、节点容量等技术问题; 2) 高电磁干扰环境下的可靠数据传输; 3) 确定最大传输时的延时大小; 4) 网络的容错技术;
5) 网络的监控和故障诊断功能;
www.EETchina.com
四、汽车总线技术的应用意义及国内发展现状
什么是CAN/LIN总线?这项技术应用于汽车的意义何在?
随着集成电路和单片机在汽车上的广泛应用,汽车上的电子控制单元越来越多,例如电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电控门窗装置和主动悬架等。如果仍采用常规布线方式,即电线一端与开关相接,另一端与用电设备相通,将导致车上电线数目的急剧增加,同时复杂电路也降低了汽车可靠性,增加了维修难度。于是,CAN总线应运而生。
LIN则是CAN在低端应用的延伸,是价格相对便宜且速度较慢的子网。通常状况下,电子控制装置通过CAN总线提供稳定、可靠的低成本网络连接,电机、开关、传感器和车灯等则通过LIN进行网络连接。
事实上,在现代汽车中,采用总线的意义已远远超出节省电线的范围,它已成为车内各零部件实施信息交互的标准接口。整车的总线网络成为整车的电器平台,也就是说只要有总线存在,就可以在这个总线平台上不断增加汽车的智能化零部件。总线技术促进了汽车智能化的发展。
目前国内该项技术的发展状况是怎样的?
上世纪90年代初,总线技术开始在汽车中应用。如今该项技术已经成为现代汽车的标准技术,几乎所有的车都开始采用CAN/LIN总线。总线零部件也成为发展的主流。
对于我国来说,由于国内汽车制造和零部件的发展水平不平衡。虽然合资品牌和自主品牌的量产车大都采用了CAN/LIN,但由于国内零部件配套体系在电器零部件,特别是在智能零部件上的弱势,国内真正自主研发的具有总线接口的零部件在量产车中(年产量超过1万辆以上的)几乎没有。
目前在大批量生产汽车中,具有CAN/LIN总线的零部件几乎都是国外研发的,它们中一部分是国外生产的,一部分是由国内合资或外资企业生产。
但部分小批量生产汽车,如北京市场上达到国III标准的扫雪车、公共汽车等,它们带有CAN/LIN功能的仪表、车灯控制、车门控制等技术,这些都是国内自主研发和生产的。
我们与国际先进技术的差距具体表现在哪些方面呢?
www.EETchina.com
总线不是一项的技术,它是一种电器之间进行信息交互的接口,它的基础是零部件的智能化。
www.EETchina.com
从单一技术来说,通过几年的发展,国内与国际先进水平差距正在缩小。但从量产角度来说,由于国内在汽车电器、特别是在智能化零部件领域离国际先进水平相差太大,因此总线发展必然受其影响,总线应用概念、产品定义、研发、测试、认证、生产和维护方面都还处于起步阶段。
具体来说,在总线的概念认识方面,很多企业还没有上升到平台和电气标准的层次,仍停留在节约电线和增加功能上。
在产品定义方面,总线必须与零部件融为一体,与传统零部件协同作战。但国内由于电气零部件、智能零部件的研发水平与国际先进国家相差太远,总线在国内发展缺乏智能零部件的基础,迫使总线与零部件研发相分离。即使总线产品研发出来,但优势不明显,主机厂不接受,就谈不上产业化。 产业化不能实现,产品定义、研发、测试、认证、生产和维护方面自然处于起步阶段。
对于我国来说,在CAN/LIN总线技术的研发道路上还需克服哪些瓶颈?
一是人才方面。车用总线技术涉及到机械制造领域和电子信息领域的融合。但我国的实际情况是,这两个领域的协同存在一些问题。从电子信息行业进入车用总线领域的,缺乏对汽车行业的理解,其研发出来的产品很难满足汽车的要求,即使满足汽车的要求,但不清楚汽车研发、生产和服务流程,也很难实现产业化。另外,总线研发人员必须具有深厚的电子信息基础,因此从汽车行业进入总线研发领域的,由于基础的,很难研发出高性价比的产品。
二是要突破国外对我国的技术封锁。目前我们的研发工作还处在向国外学习的阶段,但很多与总线技术相关的国外文献都是讲其优势,不讲其缺陷。结果我国许多从事总线的研发人员在研发过中,由于不能对总线进行取长补短,使研发陷入困境。突破技术封锁也是我们面临的巨大挑战。
以上内容来自电子工程专辑网站唐晓泉博士博客,特此感谢!
www.EETchina.com
www.EETchina.com
五、各类汽车总线的特点比较
随着汽车功能的不断增加、可靠性要求的不断提高以及价格的不断下降,越来越多的电子控制单元(ECU)将被引入到汽车中。目前,在高端汽车中一般会有50个以上的ECU。为了使这些ECU能够在一个共同的环境下协调工作,也为了进一步降低成本,人们设计了针对汽车通信网络的总线协议。
一般来说,汽车通信网络可以划分为四个不同的领域,每个领域都有其独特的要求。现有的主流汽车总线协议都无法适应所有的要求:
信息娱乐系统:此领域的通信要求高速率和高带宽,有时会是无线传输,目前主流应用协议有MOST,正在推出的还有IDB-1394等;
高安全的线控系统(X-By-Wire):由于此领域涉及安全性很高的刹车和导向系统,所以它的通信要求高容错性、高可靠性和高实时性。可以考虑的协议有TTCAN、FlexRay、TTP等;
车身控制系统:在这个领域CAN协议已经有了二十多年的应用积累,其中包括传统的车身控制和传动装置控制;
低端控制系统:此系统包括那些仅需要简单串行通信的ECU,比如控制后视镜和车门的智能传感器以及激励器等,这应该是LIN总线最适合的应用领域。
其中,控制器局域网(CAN)是最有名的、也是最早成为国际标准的汽车总线协议。CAN协议是串行协议,能够有效地支持具有高安全等级的分布实时系统。CAN是一个多主机系统,所以它设计了高效率的仲裁机制来解决传输冲突问题,具有高优先级的系统总能优先得到总线的使用权。CAN还同时使用了其
www.EETchina.com
www.EETchina.com
它一些防错手段,能够判断出错的节点并及时关闭之,这样就在很大程度上保证了总线的可靠性。CAN的传输速率和总线长度相关,最高可以到1Mbps,一般车内使用的速率是500Kbps到200Kbps。 CAN多年来作为车身控制的主干网已经形成了从IC设计到软件开发和测试验证的完整产业链,而且它还将在新的汽车主干网行业标准确立之前一直充当这一角色。
在车内,还有许多ECU的控制并不需要CAN这样高速率和高安全的通信,本地互联网络(LIN)就是为适应这类应用而设计的低成本解决方案。LIN是一个公开的协议,它基于SCI(UART)串行通信的格式,结合了汽车应用的特点。LIN是单一主机系统,不但降低了硬件成本,而且在软件和系统设计上也能更容易地兼容其它网络协议,比如CAN。LIN的传输速率最高可到20Kbps,主要是受到EMI和时钟同步的。
由于LIN器件易得——几乎所有的IC都带有SCI(UART)接口,LIN很快就在车内低端控制器领域取得领先地位。典型的LIN应用有车门、后视镜、导向轮、马达、照明以及其它智能传感器。LIN不但定义了物理层和数据层,还定义了相关的应用软件层。这些都为LIN方案提供商解决了设备兼容的问题,很有利于汽车工业的规模生产。相信LIN协议会是汽车低端控制网络的未来标准。
车内除了嵌入式控制系统以外,还有诸如媒体播放器、导航系统、无线通信系统以及其他多种信息娱乐设备,这些设备之间的互连需要更高速的通信协议。媒体导向系统传输协议(MOST)是目前车载信息娱乐系统普遍接受的高速通信协议。MOST基于ISO/OSI七层网络模型设计,物理层由光纤通信组件构成,具有很好的抗干扰性,设计传输速率可达150Mbps(目前产品可达25Mbps)。除了控制数据外,MOST数据可分为同步传输数据和异步传输数据,具有很大的灵活性——同步数据可直接用于音视频设备,异步数据可用于传输其它数据块,如导航地图数据等,甚至也可用于支持TCP/IP数据包的传输。MOST还定义了应用层,包括MOST设备、功能块、功能函数以及参数格式等等,这些协议可以确保各个厂家生产的设备具有MOST互联性,也有利于车内信息娱乐设备的及时更新换代。
IDB-1394是从IEEE 1394标准演化而来的另一种支持车内信息娱乐系统的高速通信协议。IDB-1394可以达到400Mbps或更高的传输速率,而且IEEE 1394也是一种很成熟的通信协议,已经有很多设备支持。这些都是IDB-1394的优势,然而由于MOST受到更多厂商的支持,包括一些软件开发商的支持,可以预计MOST将会在汽车工业中进一步扩张势力。
汽车线控系统,按照汽车工程师社团(SAE)的定义,需要一个安全等级为C的通信网络架构。如果要实现一个完全的线控汽车,没有传统的机械或液压系统作备份,不但要对传统的机械和液压单元作创新性的ECU替代,而且传统的CAN总线系统也不再适用。CAN的本质是一种事件驱动的协议,在高安全性的系统中,CAN缺乏必要的决定性、同步性和容错性。
因此人们开始为线控汽车设计满足安全性要求的新一代汽车主干通信网络。TTCAN、FlexRay和TTP就是其中的主要代表,它们无一例外地都采用了时间驱动的机制。在时间驱动的系统里,信息的发送由预先设立好的时间表确定,所有的节点都知道什莫时间该发送,什莫时间该收取;信息收发的不确定性
www.EETchina.com
www.EETchina.com
仅仅是时间同步的误差,而这个误差通常可以控制在非常小的范围内。这一特点使时间驱动的通信网络成为线控汽车通信网络的必然选择。
TTCAN由CAN发展而来,数据格式和CAN兼容。它定义了一个时间周期,在此周期内又有多个时间间隔,有些时间间隔专用于特定的网络节点(无需仲裁),其余间隔类似普通的CAN协议。其特点是保留了和传统CAN网络的兼容,同时又具有时间驱动的优点。然而,TTCAN不能提供比CAN更高的传输速率,在容错性方面也没有明确的设计说明。
FlexRay协议将其时间周期分为静态段和动态段两个部分。静态段采用TDMA方式传输时间驱动类型的数据,动态段采用Mini-Slot方式传输事件驱动类型的数据。在安全性方面,FlexRay采用冗余通道的方式确保数据正确传输,而其它的容错机制并没有直接在协议中明确说明,而交由应用提供者自己设计。这种方法有很大的设计灵活性,然而会由此产生安全隐患以及兼容性问题。
TTP协议对所有的节点采用TDMA的网络通道分配方式,即所有节点在一个周期内都会传输数据至少一次。整个系统采用统一的时间标准,所有的节点都存有预先定义的时间表,一旦传输数据和时间表发生冲突则认为节点错误。只要一个节点有一次错误,那末该节点将退出通信网络,确保网络不受错误节点的干扰。TTP将网络成员检查服务也定义在协议中,确保网络中没有可疑的节点。这些虽然了该协议的灵活性,但确保了它的高安全性。
TTCAN、FlexRay和TTP三种协议在其它方面的比较
可以看到TTCAN由于受到带宽等的,将不会在下一代线控汽车主干网中占有主导地位。FlexRay和TTP都可以使用虚拟CAN通道技术来兼容现有的CAN网络和器件,而两者在安全性和灵活性方面各有优缺点。因为汽车工业的规模化和线控器件的兼容性,双标准并存的状况一定会影响下一代线控汽车的发展。虽然有研究表明TTP节点会具有更低的制造和实现成本,而且TTP也已经在汽车和航空业中得到应用,但是推广FlexRay的企业巨头的影响力决不容忽视。或许下一代汽车通信主干网的决定因素不是技术而是政治。
以上内容来自电子工程专辑网站谢文盛高级软件工程师论文,特此感谢!
www.EETchina.com
www.EETchina.com
六、CAN总线设计详解
CAN总线是德国BOSCH公司在20世纪80年代初,为了解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯协议。它的短帧数据结构、非破坏性总线性仲裁技术以及灵活的通讯方式适应了汽车的实时性和可靠性要求。
汽车CAN总线的技术背景来源于工业现场总线和计算机局域网这样非常成熟的技术,因此具有很高的可靠性,抗干扰性。
CAN总线的特点
CAN作为一种多主总线,支持分布式实时控制的通讯网络。其通讯介质可以是双绞线、同轴电缆或光纤。在汽车发动机控制部件、传感器、抗滑系统等应用中,总线的位速率最大可达1Mbit/s。CAN总线属于总线式串行通讯网络,由于其采用了许多新技术及独特的设计,与一般的通讯总线相比,CAN总线的数据通讯具有突出的可靠性、实时性和灵活性。其特点可以概括如下:
1) CAN为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从,通信方式灵活,且无需站地址等节点信息。利用这一点可方便地构成多机备份系统。
2) CAN网络上的节点信息分成不同的优先级,可满足不同的实时要求,高优先级的数据最多可在134us内得到传输。
3) CAN采用非破坏性总线性仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下也不会出现网络瘫痪情况(以太网则可能)。
4) CAN只需通过帧滤波即可实现点对点、一点对多点及全局广播等几种方式传送接受数据,无需专门的“调度”。
5) CAN采用NRZ编码,直接通信距离最远可达10km(速率5kbps);通信速率最高可达1Mbps(此时通信距
www.EETchina.com
离最长为40m)。
6) CAN上的节点数主要取决于总线驱动电路,目前可达110个;标示符可达2032种(CAN2.0A),而扩展标准(CAN2.0B)的标示符几乎不受。
7) 采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。 8) CAN的每帧信息都有CRC效验及其他检错措施,保证数据出错率极低。 9) CAN的通信介质可为双铰线、同轴电缆或光纤,选择灵活。
10) CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。 CAN总线技术的优点
www.EETchina.com
国内汽车品牌中已经有几款车型应用了总线技术,这些技术完全来自国外。目前应用总线的国产车中大多采用两套的CAN总线:一套是动力CAN数据传输系统,另一套是舒适CAN数据传输系统。 使用CAN总线后,对其优点进行了总结,得出以下结论:
1) 如果数据扩展以增加新的信息,只需升级软件即可。
2) 控制单元对所传输的信息进行实时检测,检测到故障后存储故障码。 3) 使用小型控制单元及小型控制单元插孔可节省空间。 4) 使传感器信号线减至最少,控制单元可做到高速数据传输。
5) CAN总线符合国际标准,因此可应用不同型号控制单元间的数据传输。 汽车CAN总线的节点设计 1 CAN节点ECU的设计(硬件)
汽车节点ECU的开发可以选择带有在片CAN的微控制器,也可以选择其它微控制器和相应的片外CAN控制器、收发器。本文以后者为例说明ECU的开发。
带有CAN接口的ECU设计是总线开发的核心与关键,其中ECU的CAN总线模块有几个功能单元构成——CAN控制器和CAN收发器。CAN控制器执行完整的CAN协议,完成通讯功能,包括信息缓冲和接收滤波。CAN控制器与物理总线之间需要一个接口——CAN收发器,它实现CAN控制器与总线之间逻辑电平信号的转换。CAN控制器和收发器完成CAN物理层和逻辑电路层的所有功能。应用层的功能则由软件来实现。 各节点的ECU主要由MCU、DSP、CAN控制器SJA1000、CAN收发器PCA2C250和其它外围器件构成。图5给出一个由51单片机开发CAN节点的原理图(图中省略了SJA1000与PCA2C250之间的光耦等细节),完全可以说明带CAN接口ECU设计的原理。
www.EETchina.com
www.EETchina.com
2 CAN网络通讯的实现(软件)
CAN设计的三层结构模型为:物理层、数据链路层和应用层。物理层和数据链路层的功能由CAN接口器件完成,包括硬件电路和通讯协议两部分。CAN通讯协议规定了四种不同用处的网络通讯帧,即数据帧、远程帧、错误指示帧和超载帧。CAN通讯协议的实现,包括各种通讯帧的组织和发送,均是由集成在SJA1000通讯控制器中的电路实现的,因此系统的开发主要在应用层的设计上。应用层软件的核心部分是CPU与SJA1000通讯控制器之间的数据接收和发送程序,即CPU把待发的数据发给SJA1000通讯控制器,再由SJA1000通讯控制器发到总线上;当SJA1000通讯控制器从总线接受到数据后,CPU再把数据取走。对于单片机而言,操作SJA1000就象访问外部RAM一样简单。首先,应对SJA1000中的有关控制寄存器写入控制字,进行初始化。之后,CPU即可通过SJA1000接收/发送缓冲区向物理总线接收和发送数据。
www.EETchina.com
www.EETchina.com
七、汽车CAN/LIN总线测试流程和测试工具
汽车CAN/LIN总线系统测试的关键是测试流程、测试标准和测试工具,掌握专业的总线分析和测试工具的使用技术,开发测试软件并将它们应用到测试过程是对中国汽车厂家和汽车工程师的重大挑战,本文介绍CAN/LIN总线设计、仿真、分析和测试工具
恒润提供CAN/LIN总线测试方案和在这些工具平台之上的测试软件开发咨询服务,帮助客户进行CAN/LIN总线方面的测试。这些工具包括用于CAN/LIN网络系统和电控单元仿真和测试的工具CANoe;记录、评价CAN总线信号电平的工具CANscope;CAN总线干扰生成工具CANstress;CAN总线数据记录器CANlog。 汽车总线测试流程
概括的讲,汽车总线的测试流程主要包括四个阶段:
1. 制订测试计划。制订测试计划是测试开始前必须的工作,包括了测试需要达到的目标,使用的
资源、遵从的标准以及工具等方方面面,是测试顺利实施的指导性文件。主要内容有:目标;总体测试策略;测试的完整性需求;具体规则(如何时停止测试);资源需求;职责(如测试用例设计,执行,检查);测试用例库;测试标准;工具(CANoe, CANscope, CANstress, CANlog);测试软/硬件配置;系统集成计划。
2. 测试用例。测试用例的设计是一项复杂的工作,既需要直觉又需要专门技术。 3. 测试向量。包括测试向量和分解每一个测试用例。
4. 测试过程。经过授权的专业人员系统地执行测试。测试步骤如下:1).单元测试(White Box, Glass
Box, check code correctness;2).集成测试(Bottom Up, Top Down, Big Bang, Sandwich;3).功能测试(Black Box, per specification,component。
测试工具主要包括软件测试环境和和辅助的硬件测试工具两部分。 软件测试环境
在汽车总线网络开发和测试过程中,主要应用的软件测试环境是CANoe。 CANoe (CAN Open Environment)是德国VECTOR公司开发的功能强大的开发工具。它能支持总线开发的整个过程-从最初的设计、仿真到最终的分析测试和产品的售后服务。CANoe 实现了网络设计、仿真和测试的无缝集成,其开发、测试流程如图1所示。
www.EETchina.com
www.EETchina.com
图1:利用CANoe进行产品开发和测试流程
1. 通讯设计/模型生成。新工程的第一个任务就是在数据库中定义通讯矩阵,然后是在CANoe中
生成模型。
2. 通讯确认。支持的通讯确认包括系统的功能分配、功能测试和整个系统的集成。
3. 剩余总线仿真/功能测试。剩余总线仿真向总线系统产品供应商提供了理想的测试环境。使他们
既可以进行整个系统的测试,又可以高效地进行电控单元、模块和集成测试。此外用户还可以在osCAN库(osCAN Library)的帮助下直接运行CAN控制器代码。
4. 测试。CANoe通过特殊功能“测试特性设置”支持ECU和网络测试。有了这些功能,就可以创
建各种测试。例如验证单个开发步骤的测试,检查原型,执行蜕变测试和兼容性测试。此外,包含在测试服务库中的检查和仿真功能可以简化测试环境的设置和执行。
5. 诊断。CANoe可以分析KWP2000诊断通讯。诊断控制台(诊断特性设置的一部分)通过基于
CANdelaStudio的诊断描述文件提供了对所有诊断服务的交互访问。诊断请求可以被选择、参数化,并显示出来。故障存储器控制台提供了对某个ECU故障存储器简便、快捷的访问。因此,所有参数都以符号进行显示。
6. 分布式开发/集成。对于涉及多个供应商的工程,可以进行网络节点的并行开发。 硬件测试工具
在CAN/LIN总线网络测试过程中,借助其它的测试工具,会进一步加快测试过程。这些硬件测试工具包括(如图2所示):
1、记录和评估CAN总线电平的测量设备CANscopeCANscope提供了强健的记录模块和易于使用的评估软件。记录模块通过RS-232和USB连接到PC。可以分析各种因素对总线特性的影响:电缆类型和长度、总线驱动器和终端、不同故障形式、EMC等。对于目标调试,可以设定各种触发条件。例如当出现某个特定的CAN报文或出现错误?总线电平超过正常水平或低于正常水平就会触发记录进程,触发环境被完整记录下来,比较电压曲线。
www.EETchina.com
www.EETchina.com
图2:测试系统示意图
2. CAN网络干扰生成工具CANstressCAN网络对于总线通讯的扰动和故障具有很强的抗干扰能力。为了测试系统在干扰和故障情况下是否能够正常工作,需要能够产生CAN总线干扰的设备。CANstress就是供开发和测试者使用的综合性CAN总线干扰生成工具。该设备能够以可以复现的方式对总线的物理特性和逻辑电平施加干扰。CANstress是手持式硬件模块。它可以直接插入CAN总线。它包含灵活的触发和干扰逻辑。它包含大量的通过软件控制的电阻。它们可以用来构成总线上的电阻系列,总线间的连接电阻,电极间的连接电阻。CANstress支持的故障形式和测试模式包括:总线故障仿真,CAN系统故障,CAN控制器干扰,可编程短路和掉电等。在总线间插入可编程静态电容可以用于仿真各种总线长度。 3、CAN系统可编程记录器CANlog 3通过下载不同的配置,可编程记录器CANlog 3能够接受、保存和评价来自不同CAN总线的报文。CANlog 3可以支持4个CAN通道。通过相应的接口,可以按照用户需求进行通道分配。允许的工作电压范围5~45伏,符合汽车工业标准。
解决方案特性
恒润的CAN/LIN总线开发、测试工具是由德国Vector Informatik公司提供的。Vector公司是基于CAN/LIN电子系统网络开发工具的领导厂商。Vector公司的解决方案和开发工具产品深受国际知名汽车厂商和汽车电子供应商的信赖。
1. 汽车总线网络开发和测试一体的解决方案
从上述介绍可以看出,该解决方案具有最初的产品设计可发和测试能力,为汽车行业CAN/LIN总线开发提供了从设计、仿真、到分析和测试的功能强大的全方位解决方案。实现了开发工具在各个开发环节的无缝集成。在测试过程中,可以采用两种测试方式:交互测试(人工测试)和自动测试(无人监督)。在交互
www.EETchina.com
www.EETchina.com
测试过程中,测试者可以交互地启动/重启某个测试过程,或者为测试提供输入激励;在自动测试过程中,通过预先配置,可以自动启动/停止和执行测试过程,按定义的方式执行。在两种测试方式下,测试过程结束可以生成HTML/XML测试报告,记录准确的测试结果。
图3:显示界面和仪表库
2. 友好的用户界面和图形化的显示方式
该系统的软件测试环境提供了友好的用户界面和图形化的显示方式。提供了图形化显示功能模块和评估模块。在测试过程中,显示每条报文的中的不同信号的数值,总线上所有活动的列表, 包括报文、错误帧和超载帧;总线统计表显示报文速率,错误率,总线负载和CAN控制器状态。另外,针对汽车应用,提供了相应的仪表库,模拟真实的驾驶室内仪表显示。如图3所示。 3. 支持多种总线协议
通过与相应的模块配合,该测试环境支持多种总线协议的仿真和测试,如CAN总线、LIN总线、MOST和Flexray总线,支持的总线协议有J1939、ISO11783、CANopen、DeviceNet等。 4. 良好的扩展性
该系统同样具有良好的兼容性和扩展性。在测试的过程中,根据需要,可以增加额外的测试工具,如Ipetronik.等,进一步拓宽了其应用范围。
www.EETchina.com
www.EETchina.com
图4:测试案例实现了CAN总线座椅控制自动测试
应用案例
图4所示的测试案例实现了CAN总线座椅控制自动测试。测试工程师只要启动测试,测试软件就按照事先编好的测试流程逐项进行功能测试和通讯测试,并记录整个测试过程并报告测试结果。功能测试包含头枕高度调整,座椅高度调节,座椅前后位置调整,座椅倾角调整和报文功能测试。通讯测试则包含启动测试,请求/响应测试和报文周期精度测试。在测试的过程中,以图形化的方式显示当前系统的状态信息和测试流程。
以上内容来自电子工程专辑网站范永健、张伯英高级工程师论文,特此感谢!
www.EETchina.com
www.EETchina.com
八、汽车总线设计及测试经典问答43例
1、作为高校教师,今后也想把汽车总路线作为研究方向,能给一些建议吗?在这样的环境下,构造总线测试平台把哪一方面作为重点研究好一些呢?
答:车用总线的测试的范围很宽,大概分为两个方面的,一个方面是功能测试,一个方面的性能测试.功能主要是测试基本的通信功能,如总线上的节点能否正常发送和接收信息.性能主要是指在各种状态(不同的电磁环境,气候环境)的通信的各种性能,如实时性,故障处理能力等.更高层次的功能就是性能,功能和性能之间的划分是没有确定的界线,随着技术的不断进歩,一方面性能方面的要求,不断转换为功能性的要求,同时新的性能又在不断的产生。
从总线测试方面来说,它功能和性能的要求和属于汽车电子的非电源线信号传输方式的测试一类,大家可以参考ISO7637-3 ISO11452,GMLAN,I2602,I1939等资料。
由于学校主要是教学(我个人认为),最简单的方法是购买用于PC机上的CAN/LIN卡(如:Li Gaowei他们的产品),然后自制一些节点(对于CAN来说,可以用C51+SIA1000构成)就行了。
由于测式和设计不仅仅是总线问题,它涉及嵌入式系统的软硬件设计和测试,内容多一言难尽,很多方面还处于探索阶段。
2、怎样解读国内的汽车can总线研究现状?是研发、成本或国内的测试方式、手段制约了CAN产品的出现,还是其它的因素?
答:CAN,LIN的应用首先要有MCU,而国内生产的汽车零部件中含MCU的少之有少,这好比从奴隶社会社会一下过渡到社会主义社会一样,虽然很难,但会成功.
3、目前中国总线的趋势是什么?而且要设计好总线要注意哪些问题?最后市场上的一些汽车生产商做总线有哪些需求(中国)?
答:目前,国内在总线方面处于开始研发初始阶段。
在某些研究所、或者高校,已经做了一些工作,但是实际涉及到复杂的关键性的网络协议设计(例如汽车动力总线的设计),还不成熟,用于实际产品的非常少。对于所设计的网络缺乏测试策略、测试方法及测试评价。
其实国内网络开发方面,与国外的差距在于协议的制定与测试,而引起差距的最重要原因是实践经验。国外的CAN网络设计已经进行了二十年,各公司成熟的网络协议都积累得到的,而国内厂商只是处于开始阶段,谈不上积累。
国内厂商要形成自己的自主网络协议,需要加强对车辆等应用背景的理解;参考国外的网络协议;实践和总结。特别是实践,做出来的东西一定要用,要改进,才能摸索总结出自己完善的规范、协议。
www.EETchina.com
www.EETchina.com
另外,还需要有超前的意识,不能只是跟踪。去年欧洲已经确定将FlexRay作为替代CAN的总线协议。国内的研究机构也应该从现在开始进行,减小我们与国外技术时间差距。
4、到哪里可以获得与汽车故障诊断相关的协议?
答:不知道你说的故障诊断是什么意思,在汽车电子领域里说的Diagnostics不止是为了故障诊断。关于协议,如果你的诊断是基于K-Line的,就要遵循ISO-14230,也就是“著名的”KWP2000。如果是基于CAN,物理层遵循ISO-118,数据链路层、网络层和应用层遵循ISO-15765。另外还有一份ISO-14229,算是对所有诊断功能的一个整体描述。
5、请教计算机如何通过汽车故障诊断接口获取汽车实时信号和故障代码?
答:汽车故障诊断目前主要是通过K线来实现,基于K线的诊断协议为KWP2000(Key Word Protocol 2000)。KWP2000协议只是一个诊断协议的框架,其中包含了很多必须由具体的制造商自定义的内容(如故障码格式等),这些内容各厂家都不相同。汽车厂家在实现它们自己产品的故障诊断功能时必须增加自定义部分才能形成完整的诊断协议。因此要获得故障信息,必须知道该厂家的具体协议内容(有些诊断工具开发商通过使用工具监测通讯信息来分析协议内容)。KWP2000协议对于不同的信息设有不同的安全级别。普通的故障信息没有安全保护,只要知道协议,即可通过诊断工具读出。其它方面的信息由ECU生产厂家分为不同的级别访问,需通过安全认证过程才能获得这些信息。安全认证过程通常通过“种子”,“密匙”进行验证。
6、如果开发一套类似与奥迪VAS-5051B功能的软件,计算机和汽车故障诊断接口之间通讯的原理是什么(就以大众车系为例),需要怎么样连接?我在网上看到有人叫卖VAG-COM连接线,能用吗?
答:从PC到诊断接口的连接需要电平转换,也就是从K-Line到RS-232电平的转换,至少需要一块IC。我不知道你说的连接线是什么结构,有没有用我不好说。
通讯原理遵循KWP2000。但如果你看了KWP2000,你会发现其实它只是一个大纲,具体功能需要使用者自己定义,对奥迪来说就是大众。我相信具体的通讯协议你是拿不到的。
你所下载的VAS-5051B应该只有很低的安全级别,只能实现很少的功能。高安全级别的通讯有软加密和硬加密。
顺便说一句,汽车的诊断有很多牵扯到整车安全,这也就是为什么大众要保密。你小心不要费了半天劲做了个非法的东西。
7、CAN总线与MIC总线性能对比!
答1:MIC总线是专门为解决恶劣的军事环境(包括核辐射)中电力及数据分配和管理问题而开发的一种简单的高可靠性时间分割多路传输串行现场数据总线。CAN总线开始也是为军事服务,在成本得到认可后,才开始应用于工业控制和汽车电子。两者同样适用于恶劣环境,但手段不一样(底层硬件应用协议),达到的目的也不一样。MIC时间分割多路传输,双冗余串行通信的方式传输数据,比较适合尖峰脉冲干扰频繁的场合。CAN可以简单的理解为差分信号,对浪泳等共模干扰抑制能力很强。当然,如果你不介意数据冗余,
www.EETchina.com
485,LIN也是不错的选择。这个前提是距离不要太远。
www.EETchina.com
答2: 应用目标是汽车电子设计,这是基础。在距离来看,车上的线束还没有超过40米的。在电磁兼容角度来看,要符合ISO7637的要求。好了,标准已经清楚,现在我们开始讨论。 1 两种总线体系结构比较:这里已经说的很明白很具体了,我只补充一点。
a、节点一般可达110个:其实根据不同的应用芯片,差别很大的,通过网关的扩展那就没谱了。在汽车电子应用来看你能用到几个节点呢?非常有限的。
b、多主式结构制约了通信的实时性,也会导致数据的拥堵:反对!所有的串行通讯都是队列呀,CAN是硬件底层协议保证队列,应用层协议保证实时性,堵不起来的。
2 性能比较
实时性:CAN总线实时性不如MIC总线。这是队列和应用层协议的问题,您的观点的基础是MIC有序而CAN无序的前提。结论自然错误。可靠性:无论是MIC还是CAN,出故障的模块都会死掉。而对网络管理来讲,CAN不需要任何处理,MIC在主控死掉的情况,要麻烦一些。如果考虑到接替问题,那就不叫优越性了。传输特性:其实如果在40米的极限距离来讲,讨论的有啥意义呢?
3 应用场合比较
如果讲坦克、军用车辆,无语了。为了保障军车在核爆后的存活率,都是很原始的东西。例如仪表,连数码管都不给用。
8、基于CAN总线来对车上的电子设备/ECU等等进行在线测试,是一个大方向,可否详细介绍一下这方面的测试技术和标准的设计思想?
答:测试标准分为软件测试和物理层测试:
物理层测试也分为两个部份,一个部份是细化了J1939对物理层的测试方法,第二个部份是有一定的创造性的它包括信号完整性测试,物理层的时延测试和EMC测试。
软件测试,软件测试包括通信的实时性测试和软件对通信错误处理能力的测试。
关于CAN的测试,我前前后花了一年多的时间,现在还没有完全,而且内容多,不可能一下子公布,有些还涉及到其它方面的问题。
CAN开发应该分为两个阶段,一个阶段是功能开发,另一个阶段是性能开发。
1 CAN的功能开发,就是指能否利用CAN传输消息,即CAN调通没有调通。这个我就不说了,可以说现在大家干的基本上都在这一层次上。
2 CAN的性能开发。CAN的性能开发又分为两个阶段,其一是物理层设计,其二是CAN信息的实时性。
2.1 CAN物理层设计,CAN的物理层设计主要涉及两个方面CAN的传输时延和EMC。大家知道CAN的传输距离和抗干扰能力主要由信号的传输时延决定的,当CAN发送消息后,在规定的时间内接收不到ACK就认为传输失败,这和RS485通信是有本质的区别的。在物理层的实际设计过程中,为了增强CAN的抗干扰能力必定要加光耦,电容,TVS和电感类拟的东西,这些东西的加入无形中要增大信号的时延,本来为了增强CAN的抗干扰能,由于传输时延的增加,反而降低了CAN的抗干扰能力,这是我在近十几年在
www.EETchina.com
www.EETchina.com
国内一些同行设计的CAN系统中发现的问题。目前我设计的CAN系统在500K的通信速率下在J1939的电缆中传输100M都不会发生错误;而前几天国内一家比较有实力的单位设计CAN系统在125K的通信速率下仅能传输几十米。同时我也测试过BOSCH的产品,其性能是非常高的。所以我在863电动汽车重大专项的总线会议上经常强调要设计一个具有竞争力的CAN系统,并不是简单地使用82C250,与82C250相关的每一个电阻,电容,电感和PCB上的每一根线都要认真考虑。对CAN的物理层设计的评估有一套方法,在这套方法的测试下就能分清优劣。
我为什么要研究CAN的测试方法,这是因为在前年我参观专项中一次CAN联调,发现总有一些CAN节点不能正常通信,而所有的零部件单位都说他们的没有问题,这时谁也不知道这是谁的问题。为了解决这些问题于是我开始CAN测试方面的工作,没有想到这一干就是两年。
2.2 CAN的实时性测试是指CAN的消息是否能准时发送。由于CAN自身存在优先级反转和软件开人员水平的,特别容易出现消息的周期抖动(jitter),我在测试中发现一家零部件研发单位采用POWER PC作为ECU的CPU,其CPU的负载很低,但他发送一条周期为10ms的消息,有时需要100多ms才发送出来,有时还不到5ms就发出来了。如果在CAN系统中出现这样一条消息,我想CAN的通信功能都实现了,但其控制质量肯定得不到保证。
对于CAN的测试技术是否成熟,我一直认为国外从事发动机,制动和变速控制的研发公司都有严格而完善的测试方法和标准,但我们得不到(也可能包括在华的合资和独资企业,因为如果在华的合资和独资企业有,我们也可能通过各种方式了解到)。这就需要我们去探索。
实际上CAN的测试设备有的很贵,需要买,但很多可以用现有的通用设备和自制。
9、就目前国内车载网络总线发展的状况而言,CAN应该是主流,接触CAN的机会比较多,请问CAN网络的测试规范和标准该如何制定?
答:各个大汽车公司针对自己的车载CAN网络制定了各自的测试规范和标准,归纳起来可以分为: 1、正常的通讯测试 2、电气稳定性测试
3、故障情况下的CAN通讯测试
测试需要覆盖物理层、数据链路层、交互层、网络管理层等内容。
10、CAN系统设计的关键点分析
答:我们是一群通信电子行业的工程师.经过一段时间的观察和分析,我们发现CAN网络的设计和构建并不是十分困难的。关键点如下:
1 首先要清楚地认识到,CAN网络是一个由多个网络节点(由各ecu控制)组成的无中心分布式网络。这种特性决定了整个网络的行为模式与整车设计关系不大,更多地是由网络上各部件(如,发动机,ABS等)的通信接口(API)相关。所以整车厂商一旦选定了部件供应商,网络的需求和特性就基本确定了。我在论坛里看见整车厂代表和部件厂代表争吵不休,还经常感叹各大整车厂商垄断应用层协议,颇感不解。粗粗阅读OSEK/VDX的相关文件,发觉其中已涵盖各种应用协议。只要知道了各部件的特性,就没有什么秘密可言了。
www.EETchina.com
产品设计经验,这些也是不难搞定的。
3 CAN网络的基本硬件平台和底层协议已有成熟的解决方案,不必花费太大的时间和精力。
www.EETchina.com
2 CAN网络对环境的要求比较高,高低温,震动和电磁兼容等特性必须过关。如果有比较丰富的电子系统
4 CAN网络的网络管理可能涉及比较大的工作量。因为网络的容错纠错能力,设备的管理能力,网络冗余度的处理等需要花不少功夫。
综上所述,CAN网络的设计和实现并不存在不可逾越的技术障碍。只要投入时间和金钱,还是很有希望在近一两年内实现。
11、能否描述一下CAN控制器的节点状态处理过程,如节点的状态,各状态之间是如何转换的?
答:目前仅有看到OSEK/VDX的NM有规范叙述到节点状态机制,实际上,规范内也制定了一些API,而发展OSEK/VDX实现工具也有支持这些状态机制。
网络状态不过也就区分Direct NM和 Indirect NM,说穿了不过节点Sleep、Awake,和Suspended之间状态机制的互换,那什么时候和条件下,要转换到相对应的机制上,也很简单,直接看看OSEK NM可以很快的明白,对了别去看OSEK OS和COM,整套OSEK标准让我看到很想去死。
实现方面,可以藉由Simulink发展状态机器模型,产生ANSI C Code,移植到所发展的MCU上。
Actually,未来AutoSAR也会对网络状态进行规范,并且ThirdParty发展厂商也会提供相对应的API。如果,你仅是要自行设计小型网络,套用节点状态机制管理,或许可以参考OSEK的NM去启发你设计的Source Code。
目前,OSEK/VDX 实现工具厂商仅有几家,Freescale OSEKturbo、3Soft,不过都要价不匪。并且,因应AutoSAR的问世,这些工具的Maintance这些厂商也都未再继续维护。但是,读读OSEK会让你发现另外一片新的视野。
12、我们是搞车载娱乐系统的,虽然目前国产车的娱乐系统还很落后、还没有与总线接口,但随着CAN等总线应用的不断普及,娱乐系统与其接口只是时间问题。借助这个平台想多了解一些CAN总线的知识,例如:CAN总线的主要功能及特点,娱乐系统与其接口的技术规范,测试方法等。
答: 对于总线的应用,娱乐系统我认为应该分为两个部分,其一是娱乐控制部分,其二是娱乐数据的传输。
对于娱乐控制部分,CAN,LIN和VAN在实际中都有应用,方向盘上的开关(娱乐),基本上都是采用总线,从成本控制上来说,LIN都能满足要求,但具体情况要由主机厂定。
在娱乐数据的传输部分,按理说应该用MOST与IDB1394之类,虽然早期有个CAN传输娱乐数据的国际标准,但后来没有影了。但在实际应用中,就有用CAN传输声音数据的。
我个人认为,国内开发娱乐系统的厂家应该在其新开发的装置上有CAN\\LIN接口,同时还应考虑CPU的资源。
www.EETchina.com
节点式娱乐系统一般是双uP结构,有个单独的控制uP。 如果不是很复杂的话,音视频数据一般用传统电缆实现。
www.EETchina.com
至于测试,内容大多,一下谈不清,有机会我们再交互.至于标准,好像现在还没有通用的。
13、CAN总线如何和ECU可靠的连接?CAN协议是不是必须得用SEA1939,这个协议好像是商用的吧?
答:CAN只有物理层和数据链路层,在具体应用中还应当根据实际情况按ISO的7层协议的要求制定其它层.J1939只是建立在CAN之上的应用层协议,类似的还有GMLAN,CANOPEN等。J1939叫商用车应用协议.因为车通常分为商用车和乘用车,J1939是为商用车用的,而不是“商用的”.
14、现在can在轿车中很普遍了。对于can总线的应用层,各个汽车公司像大众通用等汽车公司是不是都有自己的协议?如果想自己设计应用层的协议(如果可能的话),应该考虑哪些方面呢?j1939协议前景如何呢?
答1:从技术的角度来看,应该自己设计应用层协议,实际也是整车厂的知识产权。这也是为什么大众、通用都有自己的协议但是还不对外公开的原因。设计中要考虑的主要问题举个例子来说:
比如ABS提供车速信号、自动变速箱需要车速信号。在设计应用协议的时候就必须考虑使用合适的消息传送车速信号,主要考虑的因素就是ID应该是多少、周期是多少。影响ID分配的主要就是延时(或时延)问题。但是目前的设计技术很难保证这一点,建议参考国外目前研究比较热的设计技术,那就是基于控制消息延时的设计技术。其核心思想就是考虑从信号产生、总线传输到信号用于控制全过程的时间要求。也就是对从ABS产生车速信号,通过总线发送,到自动变速箱使用车速信号进行控制的全过程的时间提出时间要求。ID、周期的设计都必须满足这个时间要求。考虑整车网络,考虑每个这样的相互关系,最终对整车网络的应用层协议进行设计,并可以进行整车的网络优化。
Mentor Graphics 的VNA是采用该技术实现应用层协议设计的自动化工具,它根据用户提出的时间要求,可以自动实现整车网络规划和应用层协议设计。了解这个工具的技术点,可能有助于理解,另请参考以下方面的文献:实时任务调度算法、CAN消息延迟时间计算、CAN调度等等。
J1939协议是由SAE(美国汽车工程师协会)——卡车和公共汽车电气电子委员会下的卡车和公共汽车控制和通讯网络分委员会制定的高层CAN网络通讯协议。它主要用于为重型道路车辆上电子部件间的通讯提供标准的体系结构。
其应用的主要对象是大型载货卡车、客车。在这方面的应用比较成熟,国内这方面还是空白。因此在卡车、客车上的应用是非常有潜力的。
但是如果把它照搬到轿车上,我个人还是持保留意见的。
答2:J1939的应用在国内早就开始了,如:一汽的AMT,还有北京路上跑的不少公交车都有国内自已研发的零部件与国外零部件共处于一个J1939的网络中,所以J1939在国内应用可不是空白.
答3:Bosch最早开发CAN的标准和协议,Bosch做了最早的硬件、软件和测试,不过现在的软件也不全
www.EETchina.com
括很多测试软件、代码生成工具等等。
www.EETchina.com
都是Bosch开发的了,也有很大一部分是瑞典Volcano(现属于Mentor Graphics)为Bosch开发的,其中包VW有用于Powertrain/Driveline的High Speed CAN和用于Infotainment的Low Speed CAN两种基本的总线、网络传输协议TP2.0,当然另外还有基于CAN的EOBD诊断总线,以及各种网关。目前CAN的协议是和软件供应商Vector、IAV以及几个主要ECU供应商Bosch、Siemens VDO等一同开发的。
GM、Ford、DCX的CAN来源比欧洲要复杂,GMLAN Single Wire CAN (J2411)是源于Class II的,其中很多思想比如Power Mode和Class II是相同的,而HSCAN就是基于J2284的。GMLAN、Ford NOS和DC CAN现在还没有完全开发完整,主要的应用也是和Vector和其它供应商一同开发的。
答4:我始终认为CAN网络是一个无中心的分布式网络。CAN协议处理器只负责数据的传送而不参与具体操作。真正操作的是发动机,刹车系统,照明系统等等,所以除了自身的网络管理外根本不存在什么CAN网络的应用程序。
关于控制协议的问题,我认为实际上是各个部件的接口决定的。只不过由于国际大厂家自己拥有设计制造发动机,变速箱等关键部件的能力,希望部件配套厂家改变接口以适应他们的系统(当然也得花钱)来达到协调统一。也没什么神秘的,对于无法提供关键部件的整车厂商,还得使用部件厂商(如博世,TRW等)的接口。总而言之,整车厂的控制协议不同的根本原因是由于使用不同部件造成的。
当然我们不能否定国际大厂垄断的企图。但是我们应当理解协议差异性的根本所在。从而明白,只要各部件都公开各自的控制协议接口,就完全可以协调统一。
答5:目前世界各大汽车公司都有自己的协议,这些协议可以根据不同的车系和功能配置进行裁减,适用于不同的平台。不同厂家的协议彼此互不兼容。如果要自己制订功能完善、适应能力很强的协议,对协议制订者有很高的技术要求。协议开发小组必须对协议应用的领域非常熟悉(如车身控制系统,动力总成系统),只有这样才能准确定义协议中的信号、报文以及对它们的具体要求。协议制订者必须熟悉现场总线通讯技术(CAN、LIN)。这些技术包含传输协议、网络管理、故障诊断等方面的内容。协议制订者需要全面掌握与协议相关的多方面的技术内容。J1939协议是美国汽车工程协会开发的汽车网络协议,主要用于卡车、巴士和工程车辆,轿车不使用该协议。
答6:各个汽车公司的确针对自己的各个系统拥有不同的CAN应用协议。
我们自己的汽车公司想制定自己的应用层协议,需要考虑的问题我觉得应该包括: 1、功能的满足:报文内容是否覆盖了所有节点的信息获取需求;
2、性能的满足:报文的周期、ID的选择是否能够满足节点在规定的时间获取到需要的报文;
3、容错能力:对于例如动力总线等要求数据正确性高的总线系统,需要考虑是否在报文中正加校验数据,如果报文出错状况下是否应该有备用方案等容错的措施;
4、传输协议的考虑:包括是否需要多包报文发送、是否需要握手信号和应答信号等 5、故障诊断协议:如何实现故障诊断(该方面的具体实现会覆盖了1、2、4方面的内容)
J1939目前在重型车辆上使用还是比较广泛的,国内外有许多使用J1939作为重型卡车CAN网络的案例。由于它的规范制定比较完整,用户使用起来也比较方便。
15、请问,基于消息的延时如何做到多Master间的同步,有无使用时间戳。
www.EETchina.com
www.EETchina.com
答:消息的延时主要受应用层影响,CAN就是多Master系统(你是否另有所指?),你这里的同步具体指什么呢,物理层的同步还是应用层级握手,或者是......
16、从所发表的期刊论文上来看,CAN在国内的应用好像是在工业控制上,而且也很少提及上层协议。现在汽车工业热起来了,CAN的应用又回归到汽车上面。只知道1939是为卡车写的协议,那其它的车辆,如小型客车,上应用的协议一般是哪些,像欧洲的DeviceNet、CANOpen、CANKingdom等是不是都是为汽车的应用写的,我国是不是有这方面的应用实例了?
答1:1939是所有的协议基础。小型客车上应用的协议没有太大的区别同卡车的协议。各个公司有所不同。
答2:CANKingdom被认为是基于CAN的高层协议的原型,但是它不是一种基于OSI 参考模型的应用层。CANKingdom起源于北欧瑞士,由Kvaser建议将CAN应用到纺织机械厂,并在该领域建立“CAN 纺织机械用户集团”。19年,他们研究出通讯原理,1990年早期建立“CAN Kingdom”开发环境。
CANopen是基于将高层应用协议标准化这样一个目标而开发。1992年,由VMEbus杂志主管发起,将用户和厂商集中在一起讨论应用协议标准化问题,试图建立促进CAN技术发展的中立平台。同年5月成立CiA“CAN in Automation”组织。该组织在Philips医疗系统的CAN应用经验的基础之上,设计了CAL——“CAN应用层”。但是应用CAL协议需要用户建立自己的子协议,所以没有实现真正意义上的标准化。从93年起,在Esprit project ASPIC范围内,由Bosch领导的欧洲协会研究出一个原型,由此发展成为CANopen。它是一个基于CAL 的子协议,用于产品部件的内部网络控制。在项目完成之后,CANopen规范移交给CiA组织,由其进行维护和发展。在1995年,CiA发表了完整版的CANopen 通讯子协议。CANopen 不仅定义了应用层和通讯子协议,也为可编程系统、不同器件、接口、应用子协议定义了页状态。主要应用与工业机械自动化,如航海、医疗系统等
DeviceNet和 CANopen是两个定位于不同市场的标准应用层协议。它的产生非常有意思,来源于AllenBradley、Honeywell合资项目的终止。因此AllenBradley研究出了DeviceNet,Honeywell研制出了SDS。DeviceNet面向工厂自动化控制。
此外J1939也是应用层协议标准化发展过程的产物,源于农业交通工具总线系统LBS被制定出。
17、一个新手接触CAN不久,请教CAN测试重要还是协议制定重要?论坛上有的人说测试重要,国内的讨论也是铺天盖地。又有人说协议制定重要。
答1:测试和设计的重要性,在不同设计思路中有不同的体现目前应用层协议制定的方法可以分为两大类,一类是测试为重心的方法,一类是设计为重心的方法。
第一种方法也称为投票法或试验法。这是一种工程设计方法,各个供应商对协议提出要求,整车厂集成要求,通过测试验证协议可行性,随后发布协议。测试的功能除了验证协议的实现外,还有一个重要的任务就是对协议设计进行测试,试图解决ID分配不合理、消息冲突问题等等。这种方法的重心就是测试,因此测试比较重要。
第二种方法是系统级设计法。这是一种理论设计方法,它提出了完全不同的需求,供应商只需要提供相应
www.EETchina.com
www.EETchina.com
的参数,根据一定的理论模型对网络通讯特性进行计算,如信号延迟、总线负载等。以此为基础,考虑设计需求,通过一定的调度算法,对每条消息的ID进行分配。方法的核心就是优化这些特性参数,保证整车网络通讯的实时性能。因此在这种设计方法中,设计是重点。从V型图来看,第一种方法重点在V型图的右边,第二种方法覆盖的是V型图的左边。
测试就是验证?验证表示的是我们有一个标准,测试被测对象是否符合。但是目前汽车电子的测试不能一概的称为验证,因为它还要测试协议设计是否正确,协议设计中是否有瑕疵。验证的输入是被测对象的特性,参照的是标准,输出的是两者是否符合。
而我们现在的测试,输入的既有被测对象的特性,又有所谓的标准,输出的是协议是否需要修改、系统是否可行、设计是否符合需要。注意这里引出了一个难以让人理解的地方,我们要测试ECU是否符合标准,但是我们却又在根据测试结果在怀疑这个标准。因此除非你有非常雄厚的技术和经验积累,否则你始终在这两者之间徘徊,浪费时间和金钱。中国目前就处于这种状态,但是我们却要依靠测试来推动技术的发展,难以想象。
我们需要的是一条新的发展思路,而不是沿着老外的旧路重新来过。
如果依靠测试就能提高我们的设计水平的话,我们真应该回顾中国这几年都做了些什么?我照着国外的数据库,每天都在测试,每天都在修改协议。。。因此事实是我们在基于测试做设计,而不是国内对于设计普遍比较重视。
没有设计怎么说的上测试呢?相反设计才决定了测试的体系。举个例子,整车网络的电气特性参数,比如ECU的终端电阻、电容,这些参数都是与特定的网络环境有关系的。可能因为线束走线不同就有所不同。设计人员知道影响这些参数的原因和可能出现的问题,而这些都可以成为建立测试方法的输入。
测试是比较重要,但是一定要比较的话,我倾向于选择设计更重要。其实电子行业的发展可以成为参考,请大家考虑为什么EDA工具在电子设计中处于如此重要的地位?而且现在国际上的趋势是基于系统级的设计、建模等等。重点是系统级!如果我们还在强调测试的话,走的是国外过去发展的道路,是背离系统级的设计思路,根本就没有考虑国际发展的趋势。
答2:我觉得这两样很难放在一起比较。离开了特点的协议,工程师只能说是有了CAN的概念和一堆标准,并没有一个实实在在的CAN总线系统。一个CAN总线的存在很大意义上取决于通讯协议的建立。无可非议的,协议制定的质量将会直接决定CAN总线系统的性能。
对于一个CAN系统来说,很多的工作量是后期的测试工作。只有通过后期的大量的测试,才能保证这个系统并不是一个实验室里的‘雏形’,而是具有一定实际意义的,可以面向实际应用的系统。事实上也只有通过测试,才能最终验证协议制定的好坏。
所以,从我的观点出发,协议制定和测试应该是属于CAN总线系统中的一头一尾两个关键,其重要性都不容质疑,也不能进行比较。
答3:协议和测试是V模型开发流程中的两个部分,两者的参考依据都是系统需求。协议是保证如何满足系统需求的基本标准与原则;测试则是检验这些标准与原则是否符合实际的需求。两者相辅相成,没
www.EETchina.com
www.EETchina.com
有标准/协议就没有系统设计的依据,测试也就无从谈起;没有测试,就无法验证标准的正确及合理性,这样的协议也就没有实际意义。标准与测试都是基于大量实践经验的,不可能假设借助某种标准化的工具自动生成。标准化的工具只能在缺乏设计经验以及系统设计的初期,为标准的制定提供一个辅助作用。目前,国内的设计水平不能与国际上达到同等高度,主要就是缺乏测试(因为国内对于设计普遍比较重视)。
18、解析CAN协议应用层与应用程序
答:应用层和应用程序是不一样的。应用层是指通讯功能的应用层。它并不定义和描述应用程序参数,它提供的只是通讯功能与应用程序的通讯接口。包括:定义通讯服务、传送过程数据、诊断信息及标定信息。设备监控和网络管理也一般定义为应用层的一部分,有的也将传输层的部分内容纳入应用层实现,比如超过8个字节的数据传输。应用程序就完全是指控制算法等应用代码。它定义控制算法相关的数据和参数。
在目前ECU开发中,应用程序代码包含了应用层代码。其缺点在于以下三个方面: 1 应用程序发生变化,必须考查应用层是否还能满足要求
2 通讯协议发生变化,整个应用程序及应用层代码都必须重新编译测试。这个问题是造成整车厂在协议开发中不能起主导作用的主要原因之一。所以有很多国内的整车厂的朋友告诉我,他们有新协议了,希望某些国外大型供应商实施新协议时会遇到极大的阻碍。一是不愿意做,二是要做就得花大笔重新开发的费用(只是重新编译和测试,但是人家就是要收高额开发费)。
3 严重阻碍了节点和设计的重用。由于应用程序和应用层融合在一起,难以实现即插即用的效果。
解决方案就是接口标准化,即将应用层从应用程序中分割出路并标准化接口。 AUTOSAR的一个特性就是标准化接口,实现即插即用。Mentor Graphics的VTP也是一个典型的例子。
19、ID分配的影响因素有哪些?
答1:我觉得,ID的分配首先当然是要考虑优先级的问题,按照具体应用的系统中的实际情况,针对不同的控制实时性要求来分配ID。
其次,就是可以考虑将在系统中同类的控制类信息或者状态信息,采用类此或相关的ID开头引导,这样在通讯应用层的处理和屏蔽上也会比较方便。
最后是,参考现有的总线系统中的ID定义。毕竟CAN总线系统是讲究兼容性和可扩展性的,除非是全部重新来过,否则必然会有需要和现有网络匹配的问题。参考现有的,成熟的系统中的ID定义是很实际也很高效的做法。只是很多无关人等很少有机会接触到类此VW或GM的现有协议…
答2:CAN的相关标准中,除了J1939以外,别的基本上没有对ID有具体的规定。只不过现在大多数总线系统多多少少有借鉴国外......
兼容性也不仅仅是体现在ID定义上面,就算是ID全兼容,数据场长度不同的话,兼容性也是有问题的。
20、请教对于can总线的应用层,各个汽车公司像大众,通用,奇瑞等汽车公司是不是都有自己的应用层协议?他们自己设计的应用层的协议是不是各不一样?他们自己设计的can总线是不是以j1939为基础?
www.EETchina.com
www.EETchina.com
答:整车厂都有自己的应用层协议。上面的几个公司是轿车厂,其CAN协议应用层不是以J1939为基础的。 21、目前正在开发的基于SAE J1939的CAN空制系统,目前面临的问题是:目前自己设计的应用于空调系统的4个CAN模块相互通讯,控制良好,但是和整车的其它CAN模块的通讯和协调不能实现。请问是否是应用层的软件的问题,以及是否可以采用VNA软件对我公司的整个软件设计,应用层的协议进行调试可以最终解决我们的问题?VNA软件的大致成本如何?
答1:在基于J1939的网络中,通常一个网络不要超过9至10个节点,您一个空调系统就用了4个节点,可能和其它节点就难匹配了。对于CAN总线来说,同一网络中,节点越多,冲突越严重。
答2:关于CAN通信比较复杂。首先,物理层的电器参数可能影响通信;其次,CAN控制器设置(采样时间、同步等)也影响CAN通信;另外,数据链路层以及网络管理都可能影响CAN通信。在工作环境不是很恶劣的情况下,终端电阻作用与网络的规模以及总线长度有关,一般不会造成网络通信阻塞。可以通过以下方法,逐步解决通信出错问题。
1 屏蔽掉本节点的发送功能与硬件过滤功能,检查接收是否正确;如不正确,可能是控制器参数设置不正确、ID长度不一致或者物理参数不兼容。如果能正确接收,而数据不正确,这是由于应用层引起的,需要该系统应用层协议。
2 打开发送功能的广播通信部分,检查是否能成功发送,如果不能发送出去,可以肯定是物理层或控制器部分的问题;如果能够发送出去,问题就可能在应用层。
22、正在做一些CAN总线在客车应用上面的研究。但是对CAN总线如何保证实时性和可靠性方面比较迷茫,不知道有什么比较好的测试方法或工具。在动力总成方面中高速CAN能否保证其实时性和可靠性呢?
答:当前车辆上的动力系统一般都使用高速CAN来传输数据,例如J1939协议规定的速度为250k,一般来说可以保证系统需要的实时性和可靠性。但是我个人觉得,保证实时性和可靠性的前提,在于如何设计好合适的应用层协议。
当然,随着对于安全性等需求的增加,可能未来的动力系统传输的实时性、可靠性将要求越来越高,会超出CAN总线能够提供的能力,所以目前将Flexray作为未来取代CAN的协议。
对于可靠性和实时性的测试,需要对总线性能、功能在整车或者动力系统台架上进行试验。
23、针对不同的网络系统(CAN、LIN、MOST、Flexray)有哪些常用的测试工具和测试手段?
答:CAN网络测试工具可以使用Vector公司提供的CANoe/CANscope/CANstress系列工具。CANoe提供了Test Feature Set,包括了CAN、LIN和MOST网络测试所需要的函数,能够较为方便的完成网络测试案例制定、执行以及报告生成。CANscope以及CANstess工具能够完成CAN网络测试中所需的电平级别示波器和干扰仪的作用。
CANoe的Test Feature Set也提供了LIN和MOST的网络测试函数,可以进行这两种网络的测试。另外Vector还提供了具有干扰仪功能的LIN线缆,通过CANoe控制该功能,实现LIN网络测试所需的干扰环境。
www.EETchina.com
www.EETchina.com
目前针对FlexRay,CANoe的FlexRay选项可以做相应的网络测试,但是针对FlexRay网络的专用测试工具目前还较少。随着FlexRay被确认为下一代车载网络,相应的测试工具应该也会被开发出来。
34、汽车行驶记录仪就像飞机的黑匣子一样,国家也出了一个标准,请问中国现在有成熟的产品吗?
答:汽车行驶记录仪一般分为2种类型。一种是早期的传统类型。那时汽车网络还未普及,行驶记录仪直接与传感器或数字IO相连,记录模拟/数字信号。这种行驶记录仪线束连接复杂,通用性差,因为不同车型的传感器配置、类型,提供的数字信号不同。另一种行驶记录与是连接到网络系统的行驶记录仪。现代的行驶记录仪多数是基于网络系统的。由于汽车网络实现了数据共享,所有在网络系统中传输的信号都可以记录。因此连接到网络的行驶记录仪线束少,硬件结构简单,记录参数多、功能强大。但是开发连接到网络的行驶记录仪需要掌握针对某种车型的网络系统通讯协议(如J1939等),软件开发是核心。目前国内开发的行驶记录仪大多数属于第一种类型
25、泰克和安捷伦的汽车电子方案如何?
答:泰克主要生产示波器,而安捷伦主要是频谱分析仪。解决时域问题,要用示波器(测量灵敏度为mV级),解决频域问题,要用频谱分析仪(灵敏度为uV甚至nV级)。时域设备,一般用来解决电路功能问题,而频域设备,一般原来测量微弱信号(=例如噪声问题,即EMI问题)。
容向的产品,是解决频域问题的,需要和安捷伦等公司的频谱分析仪配套使用。安捷伦的频谱分析仪不能测量电磁场的空间分布,容向公司的EMSCAN利用安捷伦的频谱测量功能,采用阵列探头,能测量电磁场的空间分布。安捷伦的汽车电子解决方案分为几种:生产线自动测试系统;频域测试(第三方公司利用安捷伦的产品搭建的测试方案);示波器测试方案,分为两类产品,支持windows XP的800系列产品有一个选件,支持CAN/I2C/SPI的解码分析功能,在显示波形的同时显示解码结果,并支持类似逻辑分析仪的列表显示功能,协议搜索功能,同步触发功能,不过这些都是新方案,大多用户尚不了解。安捷伦示波器只能显示CAN信号的波形,横河示波器不仅能显示CAN的波形,而且还能分析CAN信号的各种特征。
双方都有CAN触发功能,区别横河带CAN分析功能,对于物理层信号分析特别有效。
26、请问如何写一个简单的CAN应用层通讯协议代码。应该从哪几个方面来构造协议?还有实现通讯协议的程序代码结构是什么样的?
答1:CAN协议的基本要素是ID、周期和信号与消息的映像关系。因此构造协议的主要任务是ID分配、定义消息周期、确定信号与消息的映像关系。这三个方面的设计都同等重要,设计要考虑的主要因素有数据传输的实时性要求(即所谓的时序)、数据的相对重要程度、与数据相关的应用控制算法对数据的时间要求。
协议设计实质上是非常复杂的工作,对于国内来说,由于我们缺乏相应的经验,国外又对我们进行技术封锁,因此到目前为止这还是阻碍中国技术发展的主要障碍。
国际上也存在一些现有的标准,如CANopen、SAE J1939.SAE J1939这是一个有汽车工程师协议牵头制定的应用与卡车电控网络的协议。不过它主要是应用与卡车的电控系统,不能直接照搬到轿车控制系统中。
www.EETchina.com
www.EETchina.com
但是随着汽车电子的发展,汽车电子设计分工也越来越细,这部分工作也有厂商提供工具实现协议的计算机辅助设计。比如Mentor Graphics公司的VNA就是是一款自动化的协议设计软件,了解它的设计技术有助于你理解协议构造的方方面面。详细信息欢迎进一步交流咨询。
首先CAN通讯功能包括物理层、数据链路层和应用层。物理层、数据链路层已经由硬件实现,目前都已经标准化,有现成的部件(CAN控制器和收发器)选择。因此在单片机上加上CAN控制器、收发器,软件实现相应的驱动程序就基本实现了CAN的通讯功能。
但是这对于汽车电子上的应用还是远远不够的,因为数据链路层有很多功能没有定义如具有逻辑关系的消息之间的功能实现、网络管理等等。
因此通讯协议的程序代码的结构应该是底层驱动+应用代码(通讯功能的应用代码)。
如果考虑目前汽车电子嵌入式软件的技术发展,未来的结构应该是底层驱动+应用代码+抽象层。汽车电子软件开放式体系标准AUTOSAR也基本是这样的思路。目前也有很多软件厂商提供现成的解决方案,ECU软件开发只需要在该解决方案提供的基于数据读写的接口之上实现控制算法。这样做的好处在于软件设计人员可以把专长用于集中设计控制算法、保证其可靠性。这样的产品如Mentor Graphics的嵌入式软件(VTP + 网络管理 + 诊断......)就是这样的应用例子。
答2:通常,包含了CAN控制器的控制器的供应商,诸如:FREESCALE或者MICROCHIP还有INFINEON,本身都会提供很多基于自身产品的CAN通讯的底层代码。通过这些源代码,基本的CAN通讯的收发等功能都可以实现。
而至于CAN协议的制定,我觉得,是应该从系统需求出发,针对目标系统的具体需求,和特性来制定出最优的CAN通讯协议。这个是没有一个既定的原则的,虽然说很多现有的在类似应用中的CAN总线系统的协议有类同的地方,但是我想这并不表明对于CAN总线的协议制定存在什么通用的原则(对于相关标准则除外)。
27、VNA自动化的协议设计软件”是不是可以设计协议,减轻编程工作量?所设计的协议是否可以算是特有协议?是否具有兼容性?
答:VNA设计的就是通讯协议,严格来说是CAN协议的应用层...... 但是VNA是自动化协议设计软件,它输出一个可靠和正确的协议,可以节省集成测试的大量工作量,因为不需要再对协议的正确性进行验证了。而且Volcano是一个完整的解决方案,结合其它产品,Volcano能提高整个设计流程的效率、减少成本投入。
28、EMI的问题和信号完整性的问题,是相互关联的,如何在定义标准的过程中,平衡两者?
答:信号完整性和EMC还处于草案中不便于公开,至信号完整性和EMI两者如何平衡,这不是测试规范的事,如果要达到二者平衡,最好是降低通信速度,但大家都不认可。
29、如何看待UWB技术在汽车电子中的应用?应用现状如何,前景如何,将来可能在汽车电子的哪些方面有所应用。
www.EETchina.com
www.EETchina.com
答:UWB和以往的无线技术相比,据有非常宽的带宽(可达GHZ),通信方式也与通常的无线通信不同,采用的是短脉冲。它本身具有很强的抗干扰性,对其它通信系统影响也小。目前汽车电子厂商及研究机构都很看好他的这些特点,将来很可能首先在汽车防碰撞传感器方面得到应用。
30、请教PCB电路板的两线间距最小距离是多少,UL and CE的标准是多少?
答:正常情况下,PCB电路板上两线的间距应该控制在7mil或者以上,但是实际上这个距离受很多因素影响,高密度PCB上,也有5mil间距的。影响的因素主要是PCB生产厂家的工艺能力(需要咨询PCB生产厂家),信号线的种类(如果是时钟线等具有较大能量的信号线,应该间距在3×7mil左右)等。UL和CE对PCB板上的布线没有任何要求。
31、对车载电机控制来说实时性要求很高,一般来说要求和控制周期同步观测控制变量,请问有何解决方案!
答:上次介绍的WE7000(基于PC的虚拟仪器)在车载电机评价方面是很好的测试仪器。它通过外部信号输出实现与PLC控制器同步,它还可以对模拟信号波形输出及脉冲信号输出同步测试。
32、众所周知汽车电器组件和模块的工作环境及其恶劣,发动机周边环境温度高大70C, 长期的运行带来震动,潮湿,海边盐雾,以及北方地区的-40、50度低温,烦请概述一下汽车电子组件/模块的可靠性试验的项目,以及其试验环境要求?
答:1 试验环境就是汽车实际使用的环境。比如温度、湿度、振动等条件尽可能模拟实际可能到达的条件,然后进行测试。
2 汽车电子组件/模块的可靠性试验通常用带有振动试验仪的温度试验测试机进行的。
33、LIN收发器在车门窗等控制中应用很多,但其高压和大电流容易引起EMI问题,请问如何降低车身控制模快的EMI?
答1:LIN(汽车本地互连网络)是一种用于汽车中分布电子系统的新型低成本串行通讯系统,针对一些低端应用而设计,采用单线传输。LIN总线典型的应用有车门、导向轮、座位、马达、气候控制、照明、雨水传感器等。
LIN总线的EMI问题,体现在两个方面:
一是LIN总线本身,由于LIN在车内的布线很长,容易产生较大的EMI。LIN内传递的电信号包括本身的有用信号,也可能存在无用信号(干扰)。为了保证产生较低的EMI,不仅要尽可能不让干扰传递到LIN上,还要让LIN上的有用信号产生尽可能少的谐波。减少干扰的方法,必须在电路设计上进行考虑;而减少有用信号谐波的方法,可以采用R/C滤波等方法,让传递的有用信号变平缓。
二是LIN总线命令的执行部分,例如车窗升起的马达电路。这部分的EMI方法,和具体控制部分有很大关系。通用的方法是让驱动输出变尽可能平缓,采用汽车车身进行电磁屏蔽等。
www.EETchina.com
www.EETchina.com
答2:由于LIN信号传输过程可等效为为电流信号的传输,电流信号传输的抗干扰能力很强(其低电平时,LIN总线中的电流超过了10MA),但它产生的电磁干扰相对而言比较大。降低LIN EMI的大约有三种方法:
1 采用符合LIN2.0标准的LIN收发器;
2 降低通信速率,尽可能缩短LIN的连线。LIN的主页是www.lin-subbus.org这个subbus有两个含义:其一是信息要少,所以通信速率低,目前S40采用的通信速率为10K。其二是通信距离要短,数量多,LIN是CAN的扩展,是它的子网络,因此它在始终在CAN节点的附近,S40车身只有一条CAN,但它有9条LIN,有的LIN只有一个节点.LIN通信距离越短,其EMI就越小。
3 采用外部电容,电感和磁珠降低通信方波信号的斜率,最好不要用电阻,因为电阻要损失信号。实际上1,2和3具有相同的意思,因为通信方波信号的斜率越低,其波形就越圆滑,EMI干扰就越小,而通信速率就越低。
34、请教关于CANOPEN的开发问题??我现在准备用含有飞思卡尔的MC9S12DG128的开发板上,来编译CANOPEN协议,但是因为我是初学者,我现在先要实现两个CAN口的通讯,由于MC9S12DG128中有两个CAN口,所以我打算用收发器pca82c250,来连接两个CAN口,您看可以么,在此之前,我已经实现了MC9S12DG128中MSCAN的自发自收的功能,而且发的内容在内存观察器可以观看,逻辑也正确,我用的是CodeWarrior编译软件的。如果要加上pca82c250,那么我程序需要改什么呢,除了把LOOP设置零,让它退出自发自收功能 以外。我的最后功能是要在这个芯片上实现CANOPEN的I/O设备的输入输出,那我如何自己去编译协议呢,能给我一点资料或者例子么?
答:MC9S12DG128有两个的MSCAN控制器,与pca82c250硬件连接无错误就可以构成双路CAN了。不过建议你使用飞思卡尔的驱动芯片,匹配会更协调一些。这双路CAN你可以把它用做不同速率的网关,也可以做数据传输。应用协议是要根据具体情况来确定的,当然,你也可以不去理会任何的标准,按自己的意思去组织。
35:CAN总线可否用于将1km或更深的井下数据传输到地面的通信系统?想用单芯铠装电缆将井下采集到的数据传输上来。下的资料说是CAN最远可以传10km/5kbps,要求速率100kbps。
答:CAN由于受到时间控制(Timing)和同步的影响,其传送速度受到传送距离的,具体来说需要满足以下的关系Tbit>2*(Tbus+Tel); Tbit:一个Bit的传输时间;
Tbus:数据在总线上传播需要的时间;
Tel:数据在CAN Controller和Tranceiver上处理所需的时间约等于2us; Tpd: propagation delay of the two-wire bus line 约等于5ns/m.
由此可以来判断传送速度和距离的关系是否能够满足CAN的要求。如果你想要到达到的最终速度为100kbps,那么Tbit=10us,然而Tbus=1Km(总线长度)*Tpd = 5us,
2*(Tbus+Tel)=14us无法满足Tbit>2*(Tbus+Tel)这个条件,所以要在1km的基础上达到100kbps这个要求是无法达到,也就是说,如果这样总线上的数据无法同步,你将接受不到正确的数据,但估计60kbps还是可以的,具体可以达到多少,还需要你自己去试验。
36、手头上有一台克莱斯勒汽车DVD主机(配有七寸LCD),想改装到其它车型用。因接口上只有电源接头和CAN总线(CAN-H,CAN-L),现接上电源后只有碟仓检测;按面扳电源键后不开机。查相关资料得知接口CAN总线(CAN-H,CAN-L)需连接到系统级芯片(SBC)MC339上的CAN总线口上才可正
www.EETchina.com
上通过管脚电平设置达到本地唤醒待机状态?
www.EETchina.com
常使用...。问:在现没有MC339这部分时,不知可否在IC:TJA10A、或微处理IC:MC9S12DP256B
答1:这款芯片不仅仅是MC9S12DP256B的CAN收发器,同时也为MCU和外围器件提供电源。其内置2个电源整流器,可以提供所有必需的系统电压,内部有一个低噪声的200 mA整流器用来给MCU子系统供电。另外,还有一个控制外部导通晶体管的装置用来给外围设备供电。这个外部导通晶体管允许调整二次电源,使之满足每种特殊应用所需的功耗极限要求。二次供电电源还能根据要求切断所选外围设备的供电,并以此达到降低功耗的目的。
另外,在DVD机上通过CAN接口需要采集车身信息,例如点火信号,车速,并通过CAN接口发送DVD工作状态等信息,因此,如果需要DVD机正常工作的话,需要了解其与车身网络的通信协议。
答2: 现在不管什么样的DVD,其控制都采用MCU,在车用DVD中,CAN应该是DVD控制MCU中的一部分,在这种情况下CAN就不仅仅是单一的唤醒作用,它是DVD控制的一部分。我认认您需要设计一个具有CAN接口的控制器,通信协议通过临控方式获得。
对您的DVD提出的问题,要改不仅仅是涉及到硬件和软件方面的问题(不是加一个芯片,编几段代码就行的,这些都好办,用51+SJA1000+MC33(TJA10)都行),而且您必需要获得控制DVD通信协议才能实施,而获得通信协议一种方式您通过克莱斯勒公司获得。另一种方式采用技术手段获得,但这要有工具支持,还要有耐心和一定的经验。
答3:我想你的DVD出现这样的问题,原因应该是为了防盗被锁定了。它是在出厂的时候被加密,你不能把这个DVD换到别的车上,即使是同一款车都不行。如果你在克莱斯勒汽车上安装一个同款的新DVD,应该没有问题;但是如果在克莱斯勒汽车上已经安装过一次的DVD你再取下来安装到别的车上,肯定不行的。并不是说DVD就没办法用了,只有厂家有办法解锁,然后安装在同款汽车上。如果你把它安装在你自己的车上,因为你的汽车没有相同网络协议的软件和密码支持,应该是不能工作的。
37、要做一个LIN模块系统,打算用68HC908EY16和MICROCHIP的PIC16F628。我看了LIN协议。LIN是用UART加一个LIN收发器实现的,我看了FREESCALE的资料,发现好像FREESCALE是使用他们开发的LIN API函数来开发的,只有接口函数,但是无法看到函数体里的内容,所以对PIC芯片不知道如何去实现其LIN的收发函数。
答:LIN节点硬件构成为UART+LIN收发器。LIN需要软件支持(LIN驱动)才能实现LIN报文帧的收发。LIN驱动可以向专业厂家购买。有些芯片供应商也提供LIN驱动。如果开发能力较强,也可按照协议要求自己开发。
38、目前我正在设计一款汽车仪表板,其中用到了LIN 和UART,目前我所用的LIN 和UART是共享一个端口,如何处理LIN收发器和UART之间不存在干涉?
答:如果您的仪表盘是作LIN的主节点,则可通过多路切换的方式实现UART与LIN共享。如果您的UART仅供下载程序用,也好办。
39、我现在用数据采集的是脉冲宽度,但每个每冲宽度不一样,所以出来的数据有可能会是不断变化的数据,
www.EETchina.com
答:我不清楚您提的问题,我估计可能说的是以下的两者之一,供参考。
www.EETchina.com
这些数据没有时间变化规律,我现在如何才能把这些数据收集起来组成一个数组啊?
1 您采集的是脉冲信号,您最终需要的信息的脉冲方面的信息。如果这样的话,您可以定义一个结构,该结构由脉冲信号的性质(高或者低),脉冲变化的时刻(如:由低变高的时刻)。
2 您采集的信号模拟量,但是是用PWM方式传输的,此时您只需要将PWM信号转换为二进制就行了(如1S的高电压代表255,那么0.5S的电平就是128)。
40、CAN协议提供的报文优先权和仲裁机制在实际应用中能否解决一般网络控制系统存在的信息传输时滞/冲突等问题?如果仅仅依靠CAN协议不能满足应用时对信息传输的要求,应从哪些方面考虑解决问题?
答:对于多主通信,只要整个系统没有统一的调度算法,如:TTCAN,则都要产生冲突,产生延时。限低冲突的唯一方法就是减小总线上的数据,其它的技术手段都不能更本解决问题。在系统设计中,没有统一的调度算法的好处...... CAN在实际应用中,只要总线负载率小于30%,节点在7~8个以内,采用一些技术手段,尽可能减少多个消息同时发送的几率,其系统产生的时延,主要不在总线上,而在于ECU的软件设计上。
41、在汽车中应用CAN总线的目的除了实现信息共享、减少线束以外,是否还应该将CAN作为实现汽车智能化控制的一个途径,也就是说以CAN总线为载体根据一定的控制策略,在某些事件发生的情况下某节点向各节点发送信息,来协调各汽车电器的工作?如果要做这方面的工作,应该考虑哪些方面的内容?另外,在实时性要求不是很高的车身系统中应用CAN总线,是否还需要考虑实时性的问题?
答:1 在分布式控制系统中,CAN和它总线是各个分布式控制器进行信息交互的基础,所以您说的是分布式控制系统中的一个重要内容。
2 网络实时性是反映信息传输的准时性,准时性是相对的,它需要一个度来衡量,就是所...... 3 车身系统对信息传输的准时性有一定的要求,如灯光控制中的,制动灯,转向灯和远光灯的开启。
42、请问一下,MAXICL7650BCPA芯片1引脚跟8引脚连接的电容跟芯片的那个引脚相连接啊?我把跟5脚连接后,出来的是一个频率调节的信号啊。
答:请参考http://www.maxim-ic.com.cn/pdfserv/en/ds/ICL7650-ICL7650B.pdf,由于ICL7650是斩波放大器,它是把被放大的信号斩波(或者开关调制)成交流信号,以消除直流放大固有的零点漂移,主要用于直流或者极低频的交流小信号放大,因此其输出有一定的交流分量,需要特殊处理.从网上查一下,即可。由于近年来半导体技术的发展,采用其它一些类型的放大器也能达到要求,如常见的仪表放大器AD623之类。
43、请教有关FlexRay2.1网络的应用实例在那些汽车上?
答:2006年BMW将推出了世界上首辆运用Flexray技术的车辆于他的BMW X5上,具体运用在那个器部件上还不得而知,估计不会是安全性要求比较高的部分,毕竟Flexray还属于在实践测试阶段。
感谢电子工程专辑网站论坛网友热心提供以上内容。
www.EETchina.com
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务