历史上的今天
返回首页

历史上的今天

今天是:2025年04月13日(星期日)

正在发生

2020年04月13日 | 利用分布式LIN和CAN网结构实现车门控制系统的设计

2020-04-13 来源:EEWORLD

引言


随着各种传感器的出现和芯片技术的飞速发展,汽车的安全性和智能化程度日益提高,汽车电子控制单元(ECU)的功能和ECU间的信息交互日益增加,汽车生产商开发了多种总线技术,提供可靠而低成本的连接,按照安全性、智能性的不同要求实现相应的网络结构,满足单元间不同要求的数据交换。对车门区域的控制而言,要实现的功能较多,包括车窗升降、后视镜的位置调整、门锁开关、开关量的检测等,针对不同的目标客户群,可选择实现的智能也较多,包括车窗防夹,后视镜折叠和加热等,笔者采用低速CAN总线和LIN总线实现了车门分布式控制系统,选择性地实现了部分智能,该系统同时可以迅速修改和升级,而不需要太大的设计变动。本文讲述下系统结构的确定和分布式控制的具体实现。


系统结构的确定


车门控制系统采用总线式拓补结构,总线一般采用低速CAN总线或LIN总线,采用不同总线协议和不同的拓补结构可以提供不同程度的智能。第一种方案是每个车门采用一个集中控制的CAN节点,BSI和四个车门通过一个CAN网络连接,如图1所示。

利用分布式LIN和CAN网结构实现车门控制系统的设计

图1 车门集中式控制方案


第二种方案是每个车门采用分布式LIN网结构,将各个功能做成单独的节点,即单独的后视镜控制节点,车窗控制节点,门锁控制节点,开关输入控制节点,该开关输入控制节点可以同时作为LIN的主节点,每个车门的主节点同时为CAN-LIN网关节点,BSI和四个车门通过CAN网连接。如图2所示。

图2 车门分布式控制方案


方案1是目前大量生产商采用的典型方案,这种集中控制的方式将车窗升降及防夹、后视镜的位置调整、门锁、开关量的输入检测集中在一个ECU中实现,成本较低,采用低速CAN总线连接,拓补结构简单,通讯简单实时,协议的制定比较简单,且CAN采用多主双线容错机制,故安全性较高,基于CAN总线的诊断也使得故障的查找和维修比较方便。


随着技术的发展和消费者对汽车智能化的追求,汽车智能化程度的提高和迅速升级换代是保证汽车厂商竞争力的关键因素,采用单一CAN总线集中控制的缺点也开始暴露出来。由于车门节点内的高性能MCU直接控制车窗和车镜,当ECU的智能性要求越来越高,需要增加功能或智能时,只能增强各个集中控制节点的MCU功能,造成MCU规格增大;且集中控制安装复杂,接插件和连接线缆较多,当智能增加时,互连数量增加,缺乏灵活性,产品升级换代需要大量成本,最终导致效率降低[2]。


分层式网络是解决汽车产品低成本迅速升级换代的有效解决方案,LIN总线作为CAN总线的有效补充,是分层式汽车网络特征升级和功能增强的关键因素[3],利用方案2所示CAN-LIN分层式网络结构,充分发挥了CAN/LIN总线各自的优势,将部分功能移植到更小,更可靠的节点,降低了各个ECU的复杂度,且四个门内的各LIN节点可以通用,互换性和兼容性更好,可以根据车门功能的配置要求随时添加或者减掉某个节点,而不会对整个网络产生任何影响,从而可以迅速升级换代,而不会带来更大的成本消耗。


单芯片传感器和执行器的出现提供了分布式节点的低成本解决方案,给采取分布式技术降低成本提供了可能。随着LIN总线技术的不断成熟,对MCU和LIN状态机进行合适的选择,就可以获得功能更强大、更灵活的分布式系统。


分布式控制的实现


在车门系统的分布式控制实现中,每个车门均为一个LIN网络,前车门包括车窗节点,后视镜节点和门锁节点,后车门不包括后视镜节点,以下从分布式节点的实现和网关的实现两个方面论述一下车门分布式控制系统的实现。


后视镜节点


后视镜节点方案如下图所示,实现对后视镜上下、前后两个方向的位置调整,实现折叠功能和加热功能,采用飞思卡尔的智能分布式控制单芯片MM908E625实现,MM908E625是一个高度集成的单封装解决方案,在一个SOIC54的封装内集成了HC08内核和SmartMOS模拟控制IC,该模拟控制IC包括LIN物理层收发器,电压调整器,4个半H桥和一个高端开关,采用半H桥实现对后视镜电机的驱动从而实现位置调整和折叠,利用高端开关实现后视镜加热。

图3 后视镜节点方案


车窗节点


车窗节点方案如下图所示。实现车窗升降及防夹,采用带电流反馈的智能功率驱动芯片,设计基于电流反馈的小算法,可以实现防夹功能。当车窗电机启动后,经过百毫秒级的时间便可以平稳运行,在这段启动时间后对驱动芯片的电流反馈值取样,经车窗ECU上的MCU内的ADC采样与阈值比较,如果碰到障碍物,车窗电机运转电流增大,ADC采样值超过设置的阈值,这时认为碰到了障碍物,MCU控制驱动芯片停止对车窗电机的驱动,从而实现了防夹。

图4 车窗节点方案


网关


每个车门LIN网的主节点完成该车门区域的开关状态检测,控制所有在该LIN网络上的通信,设计合理的进度表控制每个信息帧的传输,同时有效控制关键信号的最大传输延迟。该节点同时是CAN-LIN网关节点,完成CAN网和LIN网间的数据缓冲和信息交换。


结语


本文综合考虑了不同系统结构的优缺点和汽车产品智能化和更新换代的要求,设计实现了基于CAN/LIN总线的车门分布式控制系统,系统运行良好,具有一定的实用价值。


推荐阅读

史海拾趣

Deltron / DEM Manufacturing公司的发展小趣事

为了进一步扩大市场份额和增强竞争力,DEM Manufacturing积极寻求与其他企业的战略合作。公司与其他电子行业的领军企业建立了长期稳定的合作关系,共同开发新产品、拓展新市场。这些合作不仅为公司带来了更多的商业机会,还促进了整个电子行业的发展和进步。

请注意,以上故事梗概是基于已知事实进行的概括和虚构,旨在展示Deltron / DEM Manufacturing公司在电子行业中的发展历程和成就。具体细节和实际情况可能有所不同。

Goldentech Discrete Semiconductor Inc公司的发展小趣事

为了进一步提升国际竞争力,Goldentech制定了明确的国际化战略。公司通过设立海外研发中心、销售网络和服务中心,加强与国际市场的联系和沟通。同时,Goldentech还积极参与国际标准的制定和推广工作,提升其在全球半导体行业的话语权和影响力。经过多年的努力,Goldentech已经成功在多个国家和地区建立了完善的业务体系和服务网络,为全球客户提供更加便捷、高效的服务和支持。

DRI Relays Inc公司的发展小趣事

DRI Relays Inc公司成立于XX年代,当时电子继电器市场正处于快速发展阶段。公司创始人XXX凭借对市场趋势的敏锐洞察,决定投身于这一领域。然而,创业之初,公司面临资金短缺、技术瓶颈和市场竞争激烈等多重挑战。为了突破困境,XXX带领团队日夜兼程地研发新产品,不断改进技术,同时积极寻找投资者。在一次行业展会上,公司的新产品因其独特的设计和高性能吸引了众多客户的关注,为公司赢得了宝贵的订单和资金支持。

Catalyst公司的发展小趣事

Catalyst公司在电子行业的初创期,以其独特的创新理念和前瞻性的技术布局,奠定了坚实的基础。公司创始团队由一群对电子行业充满热情的工程师和科学家组成,他们共同致力于研发高效、稳定的电子产品。通过不断的技术研发和市场调研,Catalyst成功推出了一系列具有竞争力的产品,逐步在市场中崭露头角。

CEVA, Inc公司的发展小趣事

CEVA, Inc.最初于1999年11月22日在美国特拉华州注册成立,起初的名称并非CEVA。随着公司的业务扩展和技术积累,其在2002年11月进行了更名,成为ParthusCeva公司。这一更名反映了公司业务的进一步发展和市场定位的调整。随后,在2003年12月,公司再次更名为CEVA公司,这一名称沿用至今,成为无线连接和智能传感技术领域的知名品牌。

CHINFA公司的发展小趣事

CHINFA公司的创立并非一帆风顺。在创业初期,公司面临着资金短缺、技术落后和市场竞争激烈等多重困难。然而,公司的创始人凭借对电子行业的深厚热爱和坚定信念,带领团队克服了一个又一个难关。他们通过自主研发、技术创新和市场拓展,逐渐在行业中崭露头角。

问答坊 | AI 解惑

新奇创意 音响电子秤

我真的很佩服设计者的创意,竟能将iPod音箱和电子秤结合在一起。这样经常身处厨房的你就可以边做饭边听音乐了(看起来这个创意很雷)。…

查看全部问答>

OPA656高速运放

应用用于低压差的模拟放大中,也是我用于的光电仪表中一款芯片。我将不断把我的使用心得共享给大家…

查看全部问答>

求助!!8086汇编 8255芯片 8X8LED显示数字

行线高电平且列线低电平时控制灯亮 如何在逐行显示中使不同行的灯亮之间没有干扰啊 逐行显示 第二行的代码实现时是否会覆盖第一行的啊 也就是说如何在屏幕中实现多行同时显示 (使用8255控制8X8LED) 8086的汇编语言!!!! 能说明白的说一 ...…

查看全部问答>

关于在显示驱动中无法引用背光驱动函数的问题

具体情况如下,我在显示驱动代码实现中调用背光驱动,显示驱动代码中导入了背光驱动的H文件,后面具体调用过程省略。 #include \"VGAoutpch.h\" #include \"CH702X.h\" #include \"bsp_backlight.h\" //#pragma comment(lib,\"backlight.li ...…

查看全部问答>

gprs步骤

   我做一个GPS采集数据,让GPRS来传输数据,用单片机来实现。    前几天我做好了GPS采集,并用无线传输模块实现了传输,但距离但短了,现在换GPRS来传输,就传输一些经纬数据而已。    我应该怎么来做呢?GPRS的 ...…

查看全部问答>

学习NIOS 2 的问题

 学习NIOS2 需要哪些方面的重要的基础?…

查看全部问答>

飞凌的ARM开发板怎样把开发的应用程序在开发板上运行?

想请教一下,怎么把在VS2005下开发的应用程序放到飞凌ARM开发板上运行,不是在电脑上同步调试!要转换成什么格式的文件啊?…

查看全部问答>

如何将一个数组定义在flash的特定地址

我想将只读数组定义在flash的特定地址怎么办? 比如const float tp[100]={}; 定义在0xd000开始 不知道怎么搞 请指导一下…

查看全部问答>

keil 自带的操作系统 RTXtiny 的资料

  网上找到,觉得不错拿出分享:  特性: 最大任务数:16 最大激活的任务数:16 所需的CODE空间:最大900Byte        DATA空间:7字节        STACK空间:3 ...…

查看全部问答>

freescale Kinetis K10 FTM模块详解

介绍了K10 MCU的FTM模块,FTM即定时器…

查看全部问答>