一种汽车线控转向的双芯片冗余及容错控制系统的制作方法

文档序号:10723969阅读:561来源:国知局
一种汽车线控转向的双芯片冗余及容错控制系统的制作方法
【专利摘要】本发明公开了一种汽车线控转向的双芯片冗余及容错控制系统,包括双芯片分工技术,在热备份法的基础上,给两块芯片分配了不同的工作任务。一块芯片负责数据接收和数据处理,另一块芯片负责数据接收和数据发送,在减轻芯片工作负担的基础上,大大提高了资源的利用效率。本发明所述系统的自检错功能设计,包括外部信息收发检错以及内部自身检错,包括CAN总线检测、CAN模块检测、A/D模块检测、IIC总线检测、RAM检测、温度检测、数据检测,共七个检错功能。一旦某一块芯片报错,另一块芯片立即接过控制权,使系统迅速恢复正常工作状态,极大地提高了系统的稳定性和可靠性。
【专利说明】
一种汽车线控转向的双芯片冗余及容错控制系统
技术领域
[0001] 本发明涉及汽车线控转向领域,尤其涉及一种汽车线控转向的双芯片冗余及容错 控制系统。
【背景技术】
[0002] 汽车线控转向系统是一种全新的转向方式,它克服了传统转向系统由于机械连接 带来的各种限制。传统的转向系统如机械转向液压助力转向,电液助力转向,电动助力转向 等,其中方向盘和转向车轮间都是机械连接,而线控转向系统方向盘和转向轮之间无机械 连接,通过传递电信号以达到控制的目的。这样,不仅降低了车祸驾驶员受伤的概率、提高 了安全性,而且由于无机械连接,转向通过电信号来进行控制,这意味着角传动比和力传动 比的可调,从而让驾驶员根据自己的驾驶习惯和喜好来设置汽车转向的灵敏度和力度,达 到实现人性化驾驶的目的。下面将从安全性、舒适性、能源节约性等方面论述线控转向的特 点。
[0003] 安全性:汽车安全分为主动安全和被动安全。第一,先从更为普遍的被动安全说 起。汽车线控转向最显著的特点就是取消了传统转向机构中方向盘和转向机构之间的机械 连接,这样做使转向机构和方向盘的相对位置不再受约束,汽车内部可以空出一部分空间, 提高了空间的利用率,同时也意味着不会存在汽车前部放生碰撞时,由于中间的机械连接 而导致方向盘被顶出而对驾驶员造成伤害的风险,相比于传统的溃缩式转向柱设计更为安 全。第二,主动安全特性。由于线控转向中转向机构接受程序命令来进行操控,这意味着当 发生一些特殊情况时,汽车电脑可以辅助驾驶员对汽车进行操控,从而规避危险。比如,和 现有的自适应巡航技术相结合,如检测到前方有障碍物,电脑可以控制器车一边刹车一边 转向来躲避障碍物。以及辅助驾驶员直线行驶时不偏离,误操作等。由此可见,线控转向在 汽车安全方面有着很广阔的前景。
[0004] 舒适性:由于线控转向中汽车转向是通过程序控制的,没有机械连接,这意味着转 向角传动比和力传动比的可变性。可以通过改变角传动比和力传动比来获得不同的转向灵 敏性和转向力度,这使转向特性不再固定,驾驶员可以根据自己的喜好来调节,更加人性 化。并且,由于方向盘和转向机构中间不存在机械连接,重量也同时减轻了大约5kg。从而使 地面一些不规则的细小震动可以被隔离,从而达到驾驶更加舒适的效果。
[0005] 能源节约性:相比传统的液压助力转向和电动液压助力转向,线控转向有着显著 的节能特性。传统液压助力转向是通过发动机为液压栗提供动力,再通过液压回路为方向 盘提供转向助力,并且无论是否有转向动作,液压栗必须一直工作。这不仅提高了燃料的消 耗,增加了能量的损耗,而且液压回路占空间,管路复杂,存在着漏油、渗油的毛病,检修起 来复杂不便。同样,电动液压助力仅是用电动机取代发动机提供液压栗动力,也存在着上述 的问题。而线控转向克服了液压助力的缺点,转向通过电机控制,结构较简单,并且只在转 向的时候电机工作,节约了资源,减少了能源的损耗。
[0006] 奇瑞汽车股份有限公司李娟娟等人公开了一种具有冗余和容错结构的汽车线控 转向系统及其控制方法。该系统包括主控芯片、强电电路、检测模块、处理模块以及执行电 机,以及备用芯片及备用强电电路。该汽车线控转向系统还包括备用传感器电路,传感器电 路通过备份连接与汽车的多个传感器直接连接。该发明结合了具体的硬件冗余和软件冗余 设计,确保了线控转向系统设计的完整性,并结合整车车载CAN通讯给出故障处理通讯和报 警方式,保证系统一旦出现故障即可进行维修处理。
[0007] 现有技术对提高线控转向系统的安全可靠性的研究,主要集中在硬件的冗余备份 上。即所有的硬件设备都有相应的备用设备,一旦某一硬件设备出现故障,备用设备立即接 替原设备进行工作,以提高系统工作的稳定性和可靠性。但是这种传统的热备份容错控制 方法,闲置了大量资源,大大降低了系统的工作效率。
[0008] 因此,本领域的技术人员致力于开发一种汽车线控转向的双芯片冗余及容错控制 系统,提高线控转向系统的安全性和可靠性,同时具有足够的稳定性。

【发明内容】

[0009] 有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何提高线控转向系 统的安全性和可靠性,同时具有足够的稳定性,即当转向系统出现故障时,控制器能够及时 发现报错,并施加相应的控制率,以期系统能够及时恢复正常工作状态。
[0010] 为实现上述目的,本发明提供了一种汽车线控转向的双芯片冗余及容错控制系 统,包括控制器、下位机、信息收发模块、数据处理模块和系统自检模块,所述控制器被配置 为采集所述下位机发送的数据并且把接收到的数据处理后发送给所述下位机;所述控制器 在接收到数据后,通过所述数据处理模块对数据进行处理,再发送给下位机完成整个闭环 控制;所述系统自检模块被配置为外部信息收发检错以及内部自身检错。
[0011] 进一步地,所述数据包括角度数据、力矩数据、电流数据。
[0012] 进一步地,所述检错包括CAN总线检测、CAN模块检测、A/D模块检测、IIC总线检测、 RAM检测、温度检测、数据检测。
[0013] 进一步地,所述控制器包括两个芯片,所述两个芯片互相监视以及无缝切换,且所 述两个芯片间建立数据交换通道。
[0014]进一步地,所述数据交换通道采用IIC协议。
[0015] 进一步地,所述自身数据检错的方法是用本周期的数值和上周期的数值的差的绝 对值减去前六个周期每相邻两个周期数值差的绝对值相加除以5的平均值,将结果绝对值 话后如果大于设定值,那么数据错误计数一次,当连续三次出现数据错误,则将系统的数据 错误标志位置位。
[0016] 进一步地,所述RAM检测方法为设定一个指针变量和一个局部变量,局部变量赋值 后,使指针变量指向局部变量的地址,然后将指针变量所指向的地址内容+1处理,然后判断 局部变量数值是否也增加了 1,如果不是,那么就将RAM错误标志位置1。
[0017] 本发明所述双芯片分工技术,在热备份法的基础上,给两块芯片分配了不同的工 作任务。传统的热备份法闲置了一块芯片资源,而本发明采用的双芯片分工技术,一块芯片 负责数据接收和数据处理,另一块芯片负责数据接收和数据发送,在减轻芯片工作负担的 基础上,大大提高了资源的利用效率。
[0018] 本发明所述系统的自检错功能设计,包括外部信息收发检错以及内部自身检错。 包括CAN总线检测、CAN模块检测、A/D模块检测、IIC总线检测、RAM检测、温度检测、数据检 测,共七个检错功能。一旦某一块芯片报错,另一块芯片立即接过控制权,使系统迅速恢复 正常工作状态,极大地提高了系统的稳定性和可靠性。
[0019] 以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以 充分地了解本发明的目的、特征和效果。
【附图说明】
[0020] 图1是本发明的一个较佳实施例的系统工作流程图;
[0021 ]图2是本发明的一个较佳实施例的双芯片冗余设计原理图;
[0022]图3是本发明的一个较佳实施例的控制器结构框图;
[0023]图4是本发明的一个较佳实施例的数据检错程序流程图;
[0024]图5是本发明的一个较佳实施例的CAN状态转换中断流程图; 图6是本发明的一个较佳实施例的冗余切换操作的流程图。
【具体实施方式】
[0025]在线控转向系统的设计过程中,其控制器的设计需要满足三个功能,信息收发功 能,数据处理功能,系统自检错功能,其工作流程图如图1所示。
[0026]首先,控制器需要采集下位机所发送的数据,如角度数据、力矩数据、电流数据等。 并且能够把接收到的数据处理后发送出去,以对线控转向系统进行控制以实现转向的功 能。
[0027]其次,控制器在接收到数据后,需要对数据进行处理,比如P-EPS跟随双向控制法 的力感模拟电机的控制电流和C-EPS跟随双向控制法的转向电机的控制电流等都需要经过 控制器进行运算再发送给下位机完成整个闭环控制。
[0028] 同时,由于线控转向系统方向盘和车轮之间并不存在机械连接,控制信号是通过 电信号传递的,这对于控制器进行控制的稳定性提出了较高的要求。尤其对于汽车这样的 安全性是首先需要考虑的问题之一的产品,需要控制器的稳定性很高,以防系统出错而造 成危险。所以对于控制器来说,需要自身有检错功能。一旦发现错误,能够迅速处理,让系统 能够及时回复正常工作状态,以避免危险的发生。
[0029] 为了提高线控转向系统的稳定性和可靠性,本发明进行了双芯片冗余设计以及系 统自检错功能设计。
[0030] 本发明采用了容错控制技术,对系统进行了双芯片冗余设计。容错控制技术一般 分为硬件冗余方法和解析冗余方法。硬件冗余方法是对控制系统中的重要部件和易损部件 进行备份,而解析冗余方法是在软件层面上进行设计以提高系统的容错性能。基于上述两 种控制方法,本发明中的线控转向系统控制器采用双芯片冗余方案进行控制,即采用两个 芯片控制,并且在软件层面上匹配相应的错误检测功能及切换功能。结合硬件冗余设计和 解析冗余设计以提高线控转向系统的稳定性。
[0031] 目前双芯片冗余控制有多种方式。其中,常用的冗余控制方式包括有第三方参与 冗余技术、"冷备份"冗余技术和"热备份"技术等。
[0032]其中第三方参与技术即通过第三方的装置(如芯片等)对两个芯片进行检测。故障 判断装置从CPU1和CPU2接受数据,通过分析计算,判断哪个CPU存在故障,如果没有CPU存在 错误,那么默认将CPU1的数据输出,如果任一CPU存在错误,那么将另一个CPU的数据作为输 出。但这种方法存在缺点,第一结构复杂,又引入一个装置,成本增加。第二是如果第三方装 置出了错误,那么系统将无法正常运行,增加了系统的复杂程度。"冷备份"冗余较为简单, 即另外准备一个CPU模块。当工作的CPU出现问题,人工换上即可。但是对于线控转向系统而 言,两个CPU需要实现无缝切换,即另一个CPU能够立刻替换故障CPU的工作,因此,"冷备份" 技术是不能满足条件。
[0033] "热备份"冗余方式即两个CPU同时工作,分为主CPU和备CPU,正常情况下,主CPU输 出数据进行控制,同时备CHJ对主CPU监视,一旦发现错误,备CPU接替主CPU工作。这种方式, 结构较为简单,且易实现主备CHJ无缝切换。但是,"热备份"方式依然存在不足之处,在常态 下,只有主CPU完成控制功能,而备CPU出于待机状态,这样导致存在资源利用不够充分和效 率不高的问题。
[0034] 基于线控转向系统的特点,对比三种方式之后,"热备份"法因其结构简单和能够 无缝切换的特点最具有可行性。由于资源利用不充分和效率不高的问题,本发明在"热备 份"法的基础上进行改进,使两个芯片同时工作,其原理图如图2所示。
[0035] 当系统正常运行时,系统处于"热备份"基本状态,即芯片1为主芯片,芯片2为备用 芯片,芯片2监视芯片1。首先,控制器通过CAN总线采集下位机发送的角度、力矩、状态等数 据,同时通过A/D数据读入拉力或压力数据,然后,进入同步子程序模块,根据所接收到的数 据进行数据比对,检测数据是否存在错误,随后进入错误检测模块,针对自身RAM、A/D、CAN、 温度等进行检测,最后进行错误处理程序。一旦芯片1报错,则关闭自身所有控制功能,停止 数据同步。备用芯片2接替主CPU控制权,从而实现CPU之间的无缝切换,提高了系统的稳定 性和可靠性。
[0036]为了实现两个芯片的互相监视以及无缝切换,需要在两个芯片间建立数据交换通 道,并且要求数据的传输具有较快的速率和较高的可靠性。为实现芯片间简单而高效的数 据同步本发明采用了 lie总线进行芯片间的通讯。IIC总线作为一种串行总线,结构简单,一 根时钟线SCL和一根数据线SDA便可完成传输,并且最高速率可3.4Mbit/s,有着较高的可靠 性,适用于短距离数据的传输。
[0037] 本发明的双芯片冗余控制,强调了其在冗余控制基础上的分工控制,提高了芯片 的利用率。即主芯片以及备用芯片在"热备份"工作状态的基础上,主芯片负责数据接收和 数据处理,从芯片负责数据接收和数据发送。由于两个芯片都在工作,每块芯片的负担相对 减小,资源得以高效利用。
[0038] 为提高线控转向系统的稳定性和可靠性,不仅要采用冗余控制的方法,控制器自 身也需要有一套错误自检措施来进行,能够及时发现自身运行及系统错误,在一定程度上 纠正,并且和冗余控制进行配合。
[0039] 线控转向系统控制器的结构框图如图3所示,其中,和下位机进行通讯并发送控制 信号通过CAN总线完成,数据处理芯片选用飞思卡尔的MC9S12XDP512芯片,提高稳定性和可 靠性采用双芯片同时分工控制方法和自身检错。485总线模块和LIN总线模块用于与上位机 交换数据的接口。
[0040] 因而,控制器接收的外部信号有CAN总线信号、A/D信号和IIC信号,因而可能对应 产生CAN总线或模块错误、A/D模块错误和IIC同步错误。控制器自身方面,控制器即控制芯 片运行时会对RAM进行快速的读取和存储,对应于RAM错误,同时,温度过高会将芯片烧坏, 这对应于温度错误。而数据流方面,控制器对于接受到的数据会进行计算储存等处理,这个 过程中产生的错误对应于数据错误。综上所述,线控转向系统控制器的检错功能需包含CAN 总线检测、CAN模块检测、A/D模块检测、IIC总线检测、RAM检测、温度检测、数据检测,共七个 检错功能。
[0041]在两个芯片数据同步完毕后,每个芯片同时有了另外一个芯片上的和自身的数 据,达到了数据同步的目的。其中,从相同数据源采集的数据每个芯片够有两组,包括从CAN 总线采集的下位机数据和从A/D模块采集的数据。
[0042]为保证不给CPU带来太大的工作负担、确保系统的控制效率和提高系统的跟随性, 在对于数据故障的检测方面,不采用多数据采集通道进行比对的方法,这里选用基于解析 冗余的双CPU故障检测法。
[0043] 该方法首先计算两组数据的差值的绝对值,如果大于设定值,那么进行自身数据 的检测,方法是用本周期的数值和上周期的数值的差的绝对值减去前六个周期每相邻两个 周期数值差的绝对值相加除以5的平均值,将结果绝对值话后如果大于设定值,那么数据错 误计数一次,当连续三次出现数据错误,则将系统的数据错误标志位置位。以芯片1为例子, 程序流程图4所示。
[0044] CPU直接寻址,立即数和寄存器类型变量、局部变量等都是储存在RAM中,并在程序 运行时快速的读取和写入。因此,RAM如果出现错误,那么对于单片机程序的运行会产生难 以预料的结果,为避免这种情况,需在主程序每次循环时都进行一次RAM检测。RAM检测方法 为:首先,设定一个指针变量和一个局部变量,局部变量赋值后,使指针变量指向局部变量 的地址,然后将指针变量所指向的地址内容+1处理,然后判断局部变量数值是否也增加了 1,如果不是,那么就将RAM错误标志位置1。
[0045] 为了防止工作环境或电路短路等原因导致芯片温度过高而将芯片烧坏并同时保 护其他元件,需采取温度保护措施。如上文硬件电路中介绍,选取18B20作为温度检测原件, 考虑到芯片MC9S12XDP512MAL工作温度为-40和18B20的-55的测温范围,我们将温度上限值 设定在80,主程序运行的每个循环进行温度检测,利用温度检测驱动文件的写命令函数,通 过ΡΒ0端口向18B20输入读取温度指令,再利用读指令读取温度值,如果读取温度值大于80, 那么将会置位温度错误标志位。
[0046] A/D作为线控转向系统力传感器的数据传输方式,如果产生错误,导致A/D读入数 据错误,那么将有可能使力感模拟电机产生不稳定的电流,对驾驶员的操作产生严重的影 响,甚至引发事故。因此,除了对信号进行光耦隔离和滤波处理外,A/D模块的检错是十分重 要的。检错方式,可采用将电源电压作为A/D输入的方法,在本项目中,我们将PAD0端口作为 力传感器信号的输入口,而PAD5 口作为电源电压检测输入口。在8位精度无符号模式下,电 源的5v电压经过A/D转换后的数字量理论上应为254或255,但考虑到实际电源模块在芯片 工作负载不同时的波动情况,我们设定250作为底线,如果读入数字量低于250连续3次后, 将A/D模块错误标志位置位。
[0047] CAN总线具有错误自检机制和相应的恢复机制,共有5种错误,分别为:填充错误、 位错误、形式错误、应答错误、CRC错误。CAN总线上每个节点都会对错误次数进行计数。在 CAN总线中,任何一个单元可能处于下列3种故障状态之一:错误激活状态(Error-Active)、 错误认可状态(Error-Passitive)和总线关闭状态(Bus-off)。各个状态间代表不同的过度 是通过发生错误的数量进行区分。同样,在飞思卡尔MSCAN模块中,也有相应的发送器和接 收器的错误计数功能,可以此来判断节点状态,并且,还相应设定了状态转换功能。即如果 发送器或接收器的CAN总线状态改变时,比如进入错误认可状态或总线关闭状态,将引发相 应的标志位置位,如果开启了状态转换中断,还会进入中断服务程序。利用MSCAN次功能,在 线控转向系统中,可将CAN的错误分为两类:一是MSCAN模块错误,即发送器或接收器的错 误。二是CAN总线上的错误,比如线路断开、未连接120欧电阻等。
[0048]基于上述讨论,CAN检错子模块程序设计如下:(1)开启MSCAN模块的发送器和接收 器的状态转换中断。(2)出于对错误迅速处理的目的。将状态转换中断优先级设置为最高。 (3)进入中断后,利用CAN驱动文件中的环路自检函数,进行MSCAN自发自收检测。(4)如果检 测成功,那么将CAN总线错误标志位置位。(5)如果检测失败,将CAN模块错误标志位置位。 中断服务程序如图5所示。
[0049]错误处理子模块主要需要有两方面的功能,一是冗余切换功能,即芯片发现自身 错误后放弃系统能够控制权或发现另一个芯片错误后接过控制权控制整个系统。二是错误 判断功能,即判断系统是否发生错误的能力。这里为了对系统错误进行识别和通知上位机 错误类型,规定一个错误代码,定义字符型变量Error,字符型变量在内存中占一个字节,一 个字节为8位。基于前文叙述,共有七种类型的错误:RAM错误、A/D模块错误、CAN总线错误、 MSCAN模块错误、温度错误、IIC同步错误、数据错误。应用类似于寄存器的设定。在Error的8 位中,选取7位作为相应的错误标志位。规定0为没有错误,1为发现错误。剩余一位保留,留 作以后的扩展功能。Error错误代码的设定如表1所示。从左至右依次是RAM错误、A/D模块错 误、CAN总线错误、MSCAN模块错误、温度错误、IIC同步错误、数据错误。
[0051 ] 表1错误代码编码表
[0052]错误代码确定后,错误处理模块需根据错误代码进行冗余切换操作。冗余切换操 作包括两个相反的方面:(1)接过控制权,控制整个线控转向系统。(2)放弃控制权。关闭所 有功能模块。功能模块包括所有的中断程序、IIC模块、CAN模块、周期定时模块、数据计算 等。这里用Error和ErrorO表示芯片自身的错误码数值和从IIC同步接收的另一个芯片的错 误码数值。定义控制权标志变量为CTL_FLG,当CTL_FLG=1时表示芯片接过控制权控制整个 系统。当CTL_FLG = 0时表示默认模式,即分工控制。错误处理步骤为:首先,Error是否为0, 为〇则继续下一步,否则关闭所有功能模块结束程序。然后,判 Error〇是否为〇,如果为〇则结 束,否则在Err〇r = 0的情况下接过控制权。程序流程如图6所示。
[0053]以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创 造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员 依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术 方案,皆应在由权利要求书所确定的保护范围内。
【主权项】
1. 一种汽车线控转向的双芯片冗余及容错控制系统,其特征在于,包括控制器、下位 机、信息收发模块、数据处理模块和系统自检模块,所述控制器被配置为采集所述下位机发 送的数据并且把接收到的数据处理后发送给所述下位机;所述控制器在接收到数据后,通 过所述数据处理模块对数据进行处理,再发送给下位机完成整个闭环控制;所述系统自检 模块被配置为外部信息收发检错以及内部自身检错。2. 如权利要求1所述的汽车线控转向的双芯片冗余及容错控制系统,其特征在于,所述 数据包括角度数据、力矩数据、电流数据。3. 如权利要求1所述的汽车线控转向的双芯片冗余及容错控制系统,其特征在于,所述 检错包括CAN总线检测、CAN模块检测、A/D模块检测、IIC总线检测、RAM检测、温度检测、数据 检测。4. 如权利要求1所述的汽车线控转向的双芯片冗余及容错控制系统,其特征在于,所述 控制器包括两个芯片,所述两个芯片互相监视以及无缝切换,且所述两个芯片间建立数据 交换通道。5. 如权利要求4所述的汽车线控转向的双芯片冗余及容错控制系统,其特征在于,所述 数据交换通道采用IIC协议。6. 如权利要求1所述的汽车线控转向的双芯片冗余及容错控制系统,其特征在于,所述 自身数据检错的方法是用本周期的数值和上周期的数值的差的绝对值减去前六个周期每 相邻两个周期数值差的绝对值相加除以5的平均值,将结果绝对值话后如果大于设定值,那 么数据错误计数一次,当连续三次出现数据错误,则将系统的数据错误标志位置位。7. 如权利要求3所述的汽车线控转向的双芯片冗余及容错控制系统,其特征在于,所述 RAM检测方法为设定一个指针变量和一个局部变量,局部变量赋值后,使指针变量指向局部 变量的地址,然后将指针变量所指向的地址内容+1处理,然后判断局部变量数值是否也增 加了 1,如果不是,那么就将RAM错误标志位置1。
【文档编号】G05B23/02GK106094789SQ201610389410
【公开日】2016年11月9日
【申请日】2016年6月2日 公开号201610389410.9, CN 106094789 A, CN 106094789A, CN 201610389410, CN-A-106094789, CN106094789 A, CN106094789A, CN201610389410, CN201610389410.9
【发明人】吴晓东, 许敏, 章鸣铭, 叶昌, 杨莉
【申请人】上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1