LIN Bus建置优势与门控开发实例

发布时间:2010-08-03
分享到
副标题#e#

   Bus在车用总线中以低成本、省资源为其特点,妥善运用将可提高汽车附加价值。本文将介绍LIN Bus技术现况、运作架构、系统最佳化技术、与 Bus的区隔,并以建置开发实例提供进一步的说明。

  今日汽车的设计在安全、舒适、便利和环保等诉求下,对电子技术的仰赖日益加深。目前在汽车架构中的车体(Car body)、传动系统(Power train)、安全系统(Safety)和车载资通娱乐系统(Telematics/Infotainment)等各个部分中,都可以看到愈来愈多的电子控制组件(ECU),它们赋与汽车更具智能性的操控能力,例如会自动检查门窗、车灯是否关闭,在驾驶人进入车内前自动接通电源,离开时则会检查是否切断电源等等。

  目前汽车内电子组件的连结愈来愈复杂,一台车中平均存在着80个左右的电子组件或模组系统。过去采用传统的电缆方式来连结车灯、电动机、电磁阀、加热器、空调等设备,若以此方式来连结电子组件,庞大的缆线数量将造成车体重量的沉重负担。因此,有必要导入标准化的总线技术,此举除了降低建置的困难度及配线重量外,也能提升控制的精确性,而且比较不会有线路老化、磨损的问题。

  在此趋势下,已有各种总线技术出现在车载网路(In-Vehicle Network)当中,它们各有其技术特色,适合不同的应用领域。大致上可以分为五类:第一类是传输速度最低的LIN、TTP/A,适用于车体控制;第二类包括低速CAN、SAE J1850、VAN(Vehicle Area Network)等中速网路总线,适用于对即时性要求不高的通信应用;第三类包括高速CAN、TTP/C等,适用于高速、即时闭环控制的多路传输网;第四类包括IDB-C、IDB-M(D2B、MOST、IDB1394)、IDB-Wireless(蓝芽)等,专门用在车载资通娱乐网路之中;第五类则包括 FlexRay和Byteflight,用在最具关键性、即时性最高的人身安全系统(请参考表一)。

  本文将探讨LIN的技术规格现况及在门控系统中的建置实例。

车载网路总线标准

  LIN Bus技术现况

  区域互连网路(Local Interconnect Network, LIN)是基于序列通信协定的车载总线的子集系统(sub-bus system)。为了支持多个智慧性节点的分布式系统设计,LIN提供标准化的API以及软件设计流程。它的传输速度虽然不高,但其低成本的特性,能为不需要用到CAN的装置提供较为完善的网路功能,包括空调控制(Climate Control)、后照镜(Mirrors)、车门模组(Door Modules)、座椅(Seats)、智能性交换器(Smart Switches)、低成本感测器(Low-cost Sensors)等,请参考图一。

LIN的应用领域

图一 LIN的应用领域

  在重要规格的演进上,自1999年推出LIN 1.0版、2002年12月修订LIN 1.3版,并在2003年9月再次发布LIN 2.0版规范,持续改进了LIN总线的性能与适用性。此外,美国汽车工程师协会(SAE)下属的车辆架构任务组(Task Force)也基于LIN 2.0提出J2602规范,进一步降低了LIN 2.0中软件单元的复杂性,此举让LIN从节点所需要的软件代码长度缩短,在建置上会更有效率。此外,市场上的领导业者也会针对LIN的效能提出改善技术,例如ST的LINSCI。一般来说,LIN的主要特色及优势包括:

  - 采用一个主节点、多个从节点的概念(最多支持16个节点);

  - 由于基于普通UART/SCI接口协定,其软硬件成本极低;

  - 在从节点(slave node)中不用晶体振荡器(crystal oscillator)或陶瓷谐振器(ceramic resonator)时钟,也能做到自同步性,这能进一步降低成本;

  - 信号传播时间可预先计算,以满足信号传输的确定性;

  - 基于应用交互作用的信号;

  - 可达 20 kbps资料传输率;

  - 总线电缆的长度最多可以扩展到40公尺;

  LIN Bus运作架构

  LIN网路是基于「一主多从」的主从原则(master/slave principle)而形成的拓朴结构,因此需要由主节点周期性地对从节点发出询问动作。周期的设定必须根据事件侦测的即时性要求,并将从节点的侦测结果传送到到主控制器。

#p#副标题#e#

   在上传输的讯号,其讯框结构上是由一个由主任务提供的标头(header)和由从任务处理的回应部分(Response)所构成。标头包含一个13 位的同步间隔栏位(synch break field);一个由主任务产生的同步栏位(synch field);以及一个辨识栏位(identifier field)。其中每一个位组栏位都以串行位元组方式发送,起始位元组的第一位编码为“0”,而终止位编码为“1”。

  在回应部分则包含二、四或八个位组的资料栏位(data filed),以及一个位组的验证栏位(checksum field)。由主任务执行的讯框标头会依整个LIN丛集的进度表决定每个讯框的传输时间,以确保网路不会超载,并能确保资料传输的确定性。在LIN网路中只有主节点采用晶体振荡器来为系统提供精确的基本时钟,此时钟会嵌入上述的同步栏位中,让从任务能与主节点时序同步。请参考图二。

LIN讯框结构示意图

图二 LIN讯框结构示意图

  LINSCI最佳化LIN系统

  以标准SCI所建置的LIN网路虽已具备极佳的建置优势,但让想让系统等级获得最佳化,仍存在一些限制。若想得到最佳化的LIN系统,必须考虑以下因素:

  - LIN传输所需要的CPU负荷;

  - 应用上所需要的时脉准确性;

  - LIN传输的频宽;

  - LIN界面的稳定性/有效性;

  因此,为了达到最佳化的需求,有必要在硬体技术上进行强化。ST的LINSCI即是经过强化的硬体SCI埠,可透过减少CPU负载来提升系统效能;另外,其内部的1MHz震荡器、带有运算放大器的快速10位ADC,以及低电压检测器的可修整重启电路─可透过消除对这些功能所需之外部电路的需求来简化系统设计并降低制造成本。8Kbyte的扩充快闪记忆体能在单一供给电压下操作,以降低电路板复杂度并提供更快速的编程能力。

  LINSCI可以被嵌入在一颗很小的8-bit MCU中,它的目的就是要让从设备的LIN功能能完全发挥,其功能包括标头侦测(Header Detection)、指示器(Identifier)和非相关位组过滤(Irrelevant Byte Filtering)、延伸性错误侦测(Extended Error Detection)和再同步化(Resynchronisation)等。LINSCI的讯框架构请参考图三。

LINSCI的讯框架构

图三 LINSCI的讯框架构

  进一步来看,LIN的鲍率(Baud rate)是10kbps和20kbps,这很难达成标准SCI位时间取样原则所需要的2%准确性。这是因为鲍率预定标器(prescaler)的有限分辨率所造成的。假设CPU的频率是8MHz,LIN的鲍率是20kbps,由于LIN的时脉容忍度是15%,这造成2.33%的量化错误。在LINSCI 中则以12位unsigned定点值(即LDIV)来取代8位整数值的鲍率预定标器,能让上述的量化误差下降到0.15%。

  系统建置案例

  以下将以门控模组系统的建置,进一步说明LIN总线的应用及设计要求。在今日中阶及高阶车款中的门控系统,往往需要这些功能:

  - 门锁(lock)和防盗门锁(dead lock latch);

  - 动力车窗(Power Window)升降;

  - 踏脚灯(Footstep light);

  - 切换面板照明(Switch panel illumination);

  图四显示以LIN网路组成的门控系统,它的主控节点是由一个中央车体控制单元(Central Body ECU),它和车体网路相连结。每个车门都由一个车门模组(DM-Driver, DM-Passenger, DM-RearRight, DM-RearLeft)所组成,能够提供动力车窗及门锁功能。此外,两个前门都有后视镜控制(MMR, MML)的从节点。在此系统中,还会有一个嵌在驾驶端的中央切换面板(Central Switch panel, SP),它是一个独立的从节点,由它来控制所有的动力车窗、手动门锁及后视镜调整等功能。

LIN网路门控系统示意图

图四 LIN网路门控系统示意图

  此系统会对LIN网路形成下述要求:

  - 当主控器收到从遥控钥匙发出的有效讯号时,必须要启动门控系统,从节点通常是通过CAN总线来接收;

  - 当正确的钥匙打开前门时,也同时启动门控系统;从节点会直接反应而不需经由与主控器的通讯;

  - 对切换面板的询问动作(Polling),以确保回应对各个驱动装置控制(动力车窗、后视镜调整、门锁)的主动式切换;

  - 对所有从节点的询问动作,以得到车窗升降的位置状态,以及车门的开关情况;

  - 对所有从节点的睡眠模式控制(即电池供应操作模式);

#p#副标题#e#

   在清楚了网路的要求后,我们必须选择功能相符的微控制器(MCU)来达成。这些MCU必须针对车窗的升降提供防夹(Anti pinch)、马达的PWM控制及车窗位置的监控功能;能以SPI接口来控制门锁马达;对于车钥匙的拔出及开门的动作,能够提供电源供应模式的接触式监控,以及对后视镜及切换面板的操控功能。(图五)是模组的功能方块图架构。

  在系统的规划上,要一些注意的要领,这包括时序的准确性,也就是为了正确的运作,车门模组需要一个容忍度小于3%的时间参考,车窗防夹(anti- pinch)功能的复杂算法就需要这种准确性。此外,针对安全性(如防夹)和便利性(如门锁侦测)等功能,都会有实时性的要求。

  以手动打开汽车门锁的动作为例,从钥匙插入门锁到打开,可接受的延迟时间必须小于200ms,这表示反应时间很短。传动马达需要约100ms去打开门锁,这只留100ms给MCU来完成从低功率模式启动、侦测到钥匙,并触发传动装置等动作。因此这个网路必须采用LIN最快的传输速率,也就是20kbps。而在20kbps的传输率下,CPU的反应时间必须要小于1ms,否则资料会漏失,LIN的传输会失败。

  另一个设计议题则是功耗,这对于多数的ECU来说都是很关键的。以门控系统来说,即使车子熄火了,系统仍需进行间隔性的监控询问动作,这就会造成车子电力的持续消耗。监控的延迟间隔设定是蛮矛盾的事,因时间间隔太长,则会造成反应动作上的迟钝现象,但太短,又会增加系统的功耗。

  故障安全设计

  相较于车体总线系统,LIN总线并不具有错误容忍性(fault tolerant),因此必须考虑短路时总线线路的故障安全(fail-safe)机制,也就是每个节点必须有能力分辨出短路的总线线路。反应动作必须遵循特定的程序(例如让门锁维持在打开的状态,而每个节点的功耗应尽可能降低)。

  以ST的L9638 LIN收发器为例,它能提供额外的故障安全装置(fail-safe)功能,例如对短路状态的处理。当MCU辨识出短路的LIN总线线路,电子控制器(ECU)可以把自己关掉,当收发器在消除短路状况后还能够重新启动。

门控模组功能方块图架构

图五 门控模组功能方块图架构

  LIN Bus与CAN Bus有所区隔

  目前电子控制组件已散布整台车子,它们让传动及感测功能变得更有智能性。在本文介绍的LIN网路是属于低传输速率的总线规格,但它的低成本及传输的正确性,仍然相当受到车厂的欢迎。据估计在欧洲新出厂的车子中,LIN的应用占了相当大的比例。

  当然,LIN不会有和CAN总线控制网路相同的效能,因此,在某一特定的车载系统中,LIN总线是否能提供满意的效能,就得看应用本身的需求而定。此外,透过专属的设计,能够让LIN的功能得到全面性的发挥,例如将LIN协定以硬体方式建置(如LINSCI),可以让LIN的驱动程序码更为简化,也能增加系统的可靠性。MCU的设计也是一大关键,以ST72F361为例,它在标准MCU上提供先进的SCI接口,并支持LIN功能,除了能降低CPU的负荷外,也能省却较高成本的精准时序资源。

  LIN总线本来就是为了与CAN形成区隔而设计的,以门控系统来说,它能大大降低从主控器连结到每个车门的线路数量,而成本也会比采用CAN总线控制的解决方案来得低。不过,如果是更关键性的应用,就得考虑成本更高的CAN,以两线总线来提供容错能力及更高的效能。

收藏
赞一下
0