一种诊断外部时钟源的系统及方法

文档序号:8430132阅读:344来源:国知局
一种诊断外部时钟源的系统及方法
【技术领域】
[0001]本申请涉及汽车电子领域,特别是涉及一种对外部时钟源进行诊断的系统和方法。
【背景技术】
[0002]电动助力转向系统(Electric Power Steering,缩写为EPS)是一种依靠电机提供辅助扭矩的动力转向系统。为提高EPS系统的容错性,已有将EPS系统中最为核心的控制器设为双CPU的方案。2006年6月的《汽车技术》期刊上有文献《汽车电动助力转向系统控制器双机容错研究》对此进行了介绍。这种双CPU的EPS控制器中,每台CPU作为另一台CPU的热备份,双CPU同步运行,但正常情况下只有主CPU输出。当主CPU出现故障,则改由备用CPU输出。该文献中的CPU实际上是单片机的含义,现在通常称为MCU (微处理器)。
[0003]与EPS控制器相似,在汽车电子领域中有许多控制器为了达到较高的可靠性,都采用双MCU的方案。请参阅图1,这是双MCU的控制器的简单示意图。在主控制芯片上具有第一 SPI通讯模块,作为SPI通讯的主节点。在辅控制芯片上具有第二 SPI通讯模块,作为SPI通讯的从节点。这两个SPI通讯模块之间利用SPI总线进行数据传输。
[0004]SPI总线只有四根,分别为:
[0005]——片选信号线,由主节点控制,用于选中从节点。只有片选信号线上传递的是预定的使能信号时,通过SPI总线对从节点的操作才有效。
[0006]——主发从收线,由主节点控制,用于主节点发送数据、从节点接收数据。
[0007]——主收从发线,由从节点控制,用于从节点发送数据、主节点接收数据。
[0008]——时钟信号线,由主节点控制,用于将SPI时钟信号传递给从节点。
[0009]SPI总线采用SPI通讯协议,在需要进行数据传输时,由主节点向从节点传递SPI时钟信号。如果主节点不向从节点传递SPI时钟信号,那么就不进行两者之间的数据传输。以主发从收线为例,在SPI时钟信号的上升沿或下降沿,主节点通过该主发从收线向从节点发送一位(bit)数据;在紧接着的下降沿或上升沿,从节点通过该主发从收线读取主节点发来的一位数据。主收从发线与此类似。这样至少需要8个SPI时钟信号,才能实现从主节点向从节点发送一字节(byte)数据,同时也能实现主节点从从节点接收一字节数据。
[0010]请参阅图1,在主控制芯片以外还有外部时钟源,其向主控制芯片提供频率稳定的晶振信号。所述外部时钟源通常为晶体振荡器,简称为晶振。请参阅图2,主控制芯片可以将外部时钟源提供的晶振信号直接作为系统时钟信号,也可以将该晶振信号经过锁相环进行倍频后再作为系统时钟信号。该系统时钟信号再经过分频就得到了 SPI时钟信号。
[0011]现有的双MCU的控制器的诊断方法为:主控制芯片以固定时序(例如周期性地)向辅控制芯片发送握手指令,辅控制芯片也按固定时序向主控制芯片响应握手指令。握手指令发送的时序、响应的时序是否正常就分别作为判断主控制芯片、辅控制芯片的工作是否正常的依据。双MCU之间进行定期握手的周期也是由系统时钟信号计算而来的。
[0012]上述诊断方法虽然可以诊断出双MCU的工作是否正常,却无法诊断出外部时钟源是否正常。例如,晶振信号的频率为lOMhz,即周期为0.1 μ S。系统时钟信号的频率为20MHz,即周期为0.05 μ s。SPI时钟信号的周期通常是微秒级的,例如为I μ s,即相当于20个系统时钟信号的周期。发送和响应握手指令的周期通常是毫秒级的,例如为5ms,即相当于10万个系统时钟信号的周期。
[0013]请参阅图3,一旦外部时钟源发生了故障,其提供的晶振信号的频率就会过慢或过快,此时如果主控制芯片正常就会识别出外部时钟源的故障而将外部时钟源复位。此时如果主控制芯片异常而未识别出外部时钟源的故障,那么与晶振信号相同或倍频的系统时钟信号也必定出现相同故障。假设在发送和响应握手指令的一个周期内,有部分系统时钟信号的周期变大,另一部分系统时钟信号的周期变小,但这10万个系统时钟信号的周期的总和保持不变。那么仅以握手指令进行上述诊断无法发现外部时钟源的故障。而实际存在的外部时钟源故障会影响汽车电子系统的数字通讯,有可能造成输出错误数据或延迟传送数据,进而影响整车数字通讯网络,威胁驾驶员安全。如果在EPS系统中外部时钟源突然停振,那么主控制芯片会瞬间停止工作而切断转向系统助力,这有可能造成电机力矩输出卡死,给驾驶员的人身安全带来巨大风险。

【发明内容】

[0014]本申请所要解决的技术问题是提供一种诊断外部时钟源的系统,该系统利用汽车电子领域常见的SPI总线和双MCU控制器来对外部时钟源是否正常工作进行诊断,消除外部时钟源的故障对驾驶员带来的安全风险。为此,本申请还要提供一种诊断外部时钟源的方法。
[0015]为解决上述技术问题,本申请诊断外部时钟源的系统包括:
[0016]——外部时钟源,用于提供晶振信号;
[0017]—主控制芯片,具有硬件形式的第一SPI通讯模块,作为SPI通讯的主节点;还具有复位引脚;还根据晶振信号得到系统时钟信号,再根据系统时钟信号生成SPI时钟信号;
[0018]—辅控制芯片,具有硬件形式的第二SPI通讯模块,作为SPI通讯的从节点;还具有边沿捕获引脚,用于捕获信号的上升沿或下降沿;还具有具有一个1引脚连接到主控制芯片的复位引脚,用于传递复位信号;
[0019]——SPI总线,连接第一 SPI通讯模块和第二 SPI通讯模块;SPI总线中的时钟信号线还连接到辅控制芯片的边沿捕获弓I脚。
[0020]本申请诊断外部时钟源的方法包括如下步骤:
[0021]第I步,在辅控制芯片中设置数据帧标志;当辅控制芯片从主控制芯片每接收完每一个数据帧,该数据帧标志的值都会改变;
[0022]第2步,当辅控制芯片通过边沿捕获引脚读取到相邻的两个上升沿或下降沿、且在这两个相邻的上升沿或下降沿之间的数据帧标志未改变,则辅控制芯片计算所述相邻的两个上升沿或下降沿之间的时间间隔作为第一时间长度,并以波特率或比特率的倒数作为第二时间长度;
[0023]当第一时间长度在0.9?1.1倍的第二时间长度之间,辅控制芯片就认为所述相邻的两个上升沿或下降沿之间的SPI时钟信号正常;否则就认为所述相邻的两个上升沿或下降沿之间的SPI时钟信号异常,并对连续出现的异常SPI时钟信号进行计数;
[0024]第3步,当连续出现的异常的SPI时钟信号的数量超出阈值,辅控制芯片就认为外部时钟源和主控制芯片均出现故障;辅控制芯片通过1引脚向主控制芯片的复位引脚传送复位信号,使主控制芯片进行硬件复位,主控制芯片在复位时也将外部时钟源进行复位。
[0025]本申请通过对SPI时钟信号进行监控,从而对外部时钟源的故障进行诊断。由于SPI时钟信号是微秒级的,与外部时钟源的频率更为接近,因而诊断的准确性要远大于毫秒级的定期握手方式。
【附图说明】
[0026]图1是EPS系统的双MCU控制器的简单示意图;
[0027]图2是EPS系统的SPI时钟信号生成结构示意图;
[0028]图3是外部时钟源发生故障时的晶振信号示意图;
[0029]图4是本申请诊断外部时钟源的系统的结构示意图;
[0030]图5a?图5b是本申请诊断外部时钟源的方法的流程图。
【具体实施方式】
[0031]请参阅图4,这是本申请诊断外部时钟源的系统。其中的实线部分为现有结构,虚线部分为本申请的新增结构。所述诊断外部时钟源的系统包括外部时钟源、主控制芯片、辅控制芯片和SPI总线。
[0032]所述外部时钟源提供晶振信号。主控制芯片根据该晶振信号得到系统时钟信号,例如直接采
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1