CN110134631B - 一种自恢复spi总线通讯接口及其自恢复方法 - Google Patents

一种自恢复spi总线通讯接口及其自恢复方法 Download PDF

Info

Publication number
CN110134631B
CN110134631B CN201910386887.5A CN201910386887A CN110134631B CN 110134631 B CN110134631 B CN 110134631B CN 201910386887 A CN201910386887 A CN 201910386887A CN 110134631 B CN110134631 B CN 110134631B
Authority
CN
China
Prior art keywords
channel
self
code
output channel
standby
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910386887.5A
Other languages
English (en)
Other versions
CN110134631A (zh
Inventor
屈盼让
蔡晓乐
呼明亮
惠亮
梁哲
韩佳玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201910386887.5A priority Critical patent/CN110134631B/zh
Publication of CN110134631A publication Critical patent/CN110134631A/zh
Application granted granted Critical
Publication of CN110134631B publication Critical patent/CN110134631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明属于数字电路技术领域,提出了一种自恢复SPI总线通讯接口及其自恢复方法。所述方法应用于主设备时包括:基于自测试自恢复机制检测输入通道、输出通道是否故障,且在检测到故障时,启用备用通道替换故障通道;配置故障编码;通过故障编码将检测的结果和备用通道的使用情况反映给上位机。

Description

一种自恢复SPI总线通讯接口及其自恢复方法
技术领域
本发明提供一种自恢复SPI总线通讯接口,属于数字电路技术领域,涉及自测试机制、自恢复机制以及故障编码的设计,特别适用于具有高可靠性、高测试性要求的多可编程逻辑器件间通讯的情况。
背景技术
SPI串行总线是一种常用的标准总线接口,具有结构简单、占用资源少、灵活性高等特点,被广泛工业领域。典型SPI总线接口由时钟信号SCK、片选信号CSN、输入通道SDI和输出通道SDO组成,如果任意一个信号发生故障,都会导致数据无法正确解析,从而导致通讯失败。所以,在航空航天等具有高可靠要求的机载电子领域中,对SPI总线的串行数据通道进行自检测,根据故障信息自主恢复,并实时地向CPU行为层和上位机反馈故障信息和总线状态具有重要的应用价值。
发明内容
发明目的:
提供了一种适用于具有高可靠性要求的多CPLD、FPGA等可编程逻辑器件间通讯场景的自恢复SPI总线通讯接口及其自恢复方法。
技术方案:
第一方面,提供了一种自恢复SPI总线通讯接口,其特征在于,所述自恢复SPI总线通讯接口包括主通道和一条方向可配置的备用通道,当主通道故障时,备用通道可以被配置为与主通道方向相同的通道。
第二方面,提供了一种基于自恢复SPI总线通讯接口的自恢复方法,应用于主设备,其特征在于,所述方法包括:
基于自测试自恢复机制检测输入通道、输出通道是否故障,且在检测到故障时,启用备用通道替换故障通道;
配置故障编码;
通过故障编码将检测的结果和备用通道的使用情况反映给上位机。
可选地,所述方法还包括:
基于SPI总线协议构造SPI帧数据格式;
基于SPI帧数据格式构造自测试自恢复机制。
可选地,启用备用通道替换故障通道是当输出通道故障时,将备用通道配置成输出通道,当输入通道故障时,将备用通道配置成输入通道。
可选地,构造SPI帧数据格式包括将SPI帧数据设计成包括Q位的总线命令、M位的地址位、N位的数据位以及1位的校验位。
可选地,构造自测试自恢复机制包括:
从设备的自测试寄存器存储有输出通道正常码和输出通道故障码;
主设备从从设备的自测试寄存器读取握手码,并对测试次数进行计数;
主设备对读取的握手码的类型和所述计数的值进行判断;
若握手码是输出通道正常码,且所述计数的值为1,则输入通道和输出通道正常;
若握手码是输出通道故障码,且所述计数的值为1,则将备用通道切换为输出通道;
若握手码既不是输出通道正常码也不是输出通道故障码,且所述计数的值为1,则将备用通道切换为输入通道;
若握手码是输出通道正常码,且所述计数的值为2,则备用通道正常;
若握手码是输出通道故障码,且所述计数的值为2,则备用通道故障;
若握手码既不是输出通道正常码也不是输出通道故障码,且所述计数的值为2,则输入通道故障且备用通道故障。
可选地,故障编码包括输入通道故障信息、输出通道故障信息和备用通道的故障信息以及总线恢复情况。
可选地,将备用通道切换为输出通道是在从设备接收测试命令或地址非法时,将备用通道切换到输出通道,同时向主设备返回输出通道错误码,主设备接收到输出通道错误码后,将备用通道切换到输出通道。
可选地,将备用通道切换为输入通道是主设备将备用通道切换到输入通道,并向从设备发送切备用通道命令,从设备接收到切备用通道命令后,将备用通道切换为其输入通道。
有益效果:
本发明在SPI接口的基础上增加了方向可配置的备用通道,基于SPI协议构建了帧数据格式,设计接口自测试自恢复机制和故障编码,通过总线自测试操作,可有效检测到输入通道和输出通道故障情况,自主启用备用通道替换故障通道,并实时地通过故障编码向CPU行为层和上位机反馈故障信息和总线状态。本发明在仅增加一个备用通道的代价下,显著的提高了SPI总线接口的可靠性和测试性,可广泛应用于工业领域。
附图说明
图1是一种自恢复SPI总线通讯接口的自测试自恢复机制流程图。
具体实施方式
下面结合附图与具体实施方式对本发明做进一步的描述。
图1是本发明提供的一种自恢复SPI总线通讯接口及其自恢复方法的流程图。本发明在SPI总线的基础上增加了一个方向可配置的备用通道,并基于SPI协议设计了SPI帧数据格式,假设总线命令位宽Q为3,且包含总线自测试、读数据,写数据和切备用通道等四类操作,其总线命令分别为3'b000,3'b011,3'b110,3'b101,地址位宽M为12,数据位宽N为16,校验类型为奇校验。当主设备依据校验位检测到数据错误时,启动自测试操作,置总线命令为3'b000,读取从设备地址为12'hFFF的自测试寄存器,获得握手码Codehandshake。当从设备接收到的测试命令和地址均正确时,向主设备返回握手码Codehandshake等于输出通道正常码Codecorrent,否则,向主设备返回握手码Codehandshake等于输出通道错误码Codeerror。使用计数器Count对测试次数计数,每启动一次自测试Count加1。假设输出通道正常码Codecorrent等于16'h55AA,输出通道错误码Codeerror等于16'hAA55,主设备依据校验位对接收数据的正确性进行判断,并执行自测试自恢复流程,具体步骤如下:
步骤一:依据校验位判断数据的正确性,若正确,则结束流程,否则进行第二步;
步骤二:初始化SPI自测试,置自测试计数器Count为0;
步骤三:主设备启动自测试操作,置总线命令为3'b000,读取从设备的地址为12'hFFF的自测试寄存器,获得握手码Codehandshake,并测试计数器Count++;
步骤四:判断握手码Codehandshake的类型和Count的值。如果Codehandshake等于Codeerror并且Count等于1,启用备用通道替换输出通道,跳至步骤三;如果Codehandshake不等于Codecorrect且不等于Codeerror,并且Count等于1,启用备用通道替换输入通道,跳至步骤三;如果Codehandshake等于Codecorrect或者Count等于2时,则结束流程。
当自测试流程结束时,依据Count和Codehandshake的过程值,将自测试自恢复过程分为以下六种情况:
1.当Count等于1时,Codehandshake等于Codecorrect,测试结束。表明从设备能正确的接收到总线命令和地址,且主设备能正确的接收数据,输出通道和输入通道工作正常,总线通讯功能正常,且未启用备用通道;
2.当Count等于1时,Codehandshake不等于Codecorrect且不等于Codeerror;当Count等于2时,Codehandshake不等于Codecorrect且不等于Codeerror,测试结束。Count等于1时,Codehandshake不等于Codecorrect且不等于Codeerror,表明主设备不能正确的接收数据,即输入通道故障,主设备启用备用通道替换输入通道,并发送总线命令3'b101,指示从设备启用备用通道替换输入通道,并启动第二次自测试;Count等于2时,Codehandshake不等于Codecorrect且不等于Codeerror,表明主设备依然不能正确的接收数据,即备用通道替换输入通道失败,备用通道故障,已启用备用通道,总线通讯功能恢复失败;
3.当Count等于1时,Codehandshake等于Codeerror;当Count=2时,Codehandshake等于Codecorrent,测试结束。Count等于1时,Codehandshake等于Codeerror,表明从设备不能正确的接收总线命令或地址,但主设备能够正确的接收数据,即输出通道故障,而输入通道正常,此时从设备启用备用通道替换输出通道,并向主设备返回输出通道错误码Codeerror,当主设备接收到Codeerror时,也启用备用通道替换输出通道,并启动第二次自测试;Count等于2时,Codehandshake等于Codecorrent,表明从设备能正确的接收到总线命令和地址,且主设备能正确的接收数据,表明输入通道工作正常,且备用通道替换输出通道成功,备用通道正常,已启用备用通道,总线通讯功能恢复成功;
4.当Count等于1时,Codehandshake等于Codeerror;当Count=2时,Codehandshake等于Codeerror,测试结束。Count等于1时,Codehandshake等于Codeerror,表明从设备不能正确的接收总线命令或地址,但主设备能够正确的接收数据,即输出通道故障,而输入通道工作正常,此时从设备启用备用通道替换输出通道,并向主设备返回输出通道错误码Codeerror,当主设备接收到Codeerror时,也启用备用通道替换输出通道,并启动第二次自测试;Count等于2时,Codehandshake等于Codeerror,表明从设备依然不能正确的接收总线命令或地址,即备用通道替换输出通道失败,备用通道故障,已启用备用通道,总线通讯功能恢复失败;
5.当Count等于1时,Codehandshake不等于Codecorrect且不等于Codeerror;当Count等于2时,Codehandshake等于Codeerror,测试结束。Count等于1时,Codehandshake不等于Codecorrect且不等于Codeerror,表明主设备不能正确的接收数据,即输入通道工作异常,主设备启用备用通道替换输入通道,并发送总线命令3'b101,指示从设备启用备用通道替换输入通道,并启动第二次自测试;Count等于2时,Codehandshake等于Codeerror,表明从设备不能正确的接收总线命令或地址,但主设备能够正确的接收数据,即备用通道替换输入通道成功,备用通道工作,但是输出通道故障,虽然已启用备用通道,但是总线通讯功能恢复失败;
6.当Count等于1时,Codehandshake不等于Codecorrect且不等于Codeerror;当Count等于2时,Codehandshake等于Codecorrect,测试结束。Count等于1时,Codehandshake不等于Codecorrect且不等于Codeerror,表明主设备不能正确的接收数据,即输入通道故障,主设备启用备用通道替换输入通道,并发送总线命令3'b101,指示从设备启用备用通道替换输入通道,并启动第二次自测试;Count等于2时,Codehandshake等于Codecorrect,表明从设备能正确的接收到总线命令和地址,且主设备能正确的接收数据,即备用通道替换输入通道成功,备用通道正常,输出通道正常,已启用备用通道,总线通讯功能恢复成功;
在总线自测试过程中,主设备对故障信息及恢复情况进行编码记录,用于指示SPI总线的状态,增强总线接口的测试性和维修性。本方法可有效检测输出通道、输入通道和备用通道的故障情况,可对输入通道和输出通道的单点故障进行恢复,并可将故障信息和恢复情况上报给上位机,为上位机的行为决策提供依据。

Claims (4)

1.一种基于自恢复SPI总线通讯接口的自恢复方法,应用于主设备,其特征在于,所述自恢复SPI总线通讯接口包括主通道和一条方向可配置的备用通道,当主通道故障时,备用通道可以被配置为与主通道方向相同的通道,所述方法包括:
基于SPI总线协议构造SPI帧数据格式,具体包括将SPI帧数据设计成包括Q位的总线命令、M位的地址位、N位的数据位以及1位的校验位;
基于SPI帧数据格式构造自测试自恢复机制,具体包括:从设备的自测试寄存器存储有输出通道正常码和输出通道故障码;主设备从从设备的自测试寄存器读取握手码,并对测试次数进行计数;主设备对读取的握手码的类型和所述计数的值进行判断;若握手码是输出通道正常码,且所述计数的值为1,则输入通道和输出通道正常;若握手码是输出通道故障码,且所述计数的值为1,则将备用通道切换为输出通道;若握手码既不是输出通道正常码也不是输出通道故障码,且所述计数的值为1,则将备用通道切换为输入通道;若握手码是输出通道正常码,且所述计数的值为2,则备用通道正常;若握手码是输出通道故障码,且所述计数的值为2,则备用通道故障;若握手码既不是输出通道正常码也不是输出通道故障码,且所述计数的值为2,则输入通道故障且备用通道故障;
基于自测试自恢复机制检测输入通道、输出通道是否故障,且在检测到故障时,启用备用通道替换故障通道,启用备用通道替换故障通道是当输出通道故障时,将备用通道配置成输出通道,当输入通道故障时,将备用通道配置成输入通道;
配置故障编码;
通过故障编码将检测的结果和备用通道的使用情况反映给上位机。
2.根据权利要求1所述的基于自恢复SPI总线通讯接口的自恢复方法,其特征在于,故障编码包括输入通道故障信息、输出通道故障信息和备用通道的故障信息以及总线恢复情况。
3.根据权利要求1所述的基于自恢复SPI总线通讯接口的自恢复方法,其特征在于,将备用通道切换为输出通道是在从设备接收测试命令或地址非法时,将备用通道切换到输出通道,同时向主设备返回输出通道错误码,主设备接收到输出通道错误码后,将备用通道切换到输出通道。
4.根据权利要求1所述的基于自恢复SPI总线通讯接口的自恢复方法,其特征在于,将备用通道切换为输入通道是主设备将备用通道切换到输入通道,并向从设备发送切备用通道命令,从设备接收到切备用通道命令后,将备用通道切换为其输入通道。
CN201910386887.5A 2019-05-09 2019-05-09 一种自恢复spi总线通讯接口及其自恢复方法 Active CN110134631B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910386887.5A CN110134631B (zh) 2019-05-09 2019-05-09 一种自恢复spi总线通讯接口及其自恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910386887.5A CN110134631B (zh) 2019-05-09 2019-05-09 一种自恢复spi总线通讯接口及其自恢复方法

Publications (2)

Publication Number Publication Date
CN110134631A CN110134631A (zh) 2019-08-16
CN110134631B true CN110134631B (zh) 2023-05-23

Family

ID=67577068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910386887.5A Active CN110134631B (zh) 2019-05-09 2019-05-09 一种自恢复spi总线通讯接口及其自恢复方法

Country Status (1)

Country Link
CN (1) CN110134631B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222294A (ja) * 1999-01-29 2000-08-11 Toshiba Corp 計算機システム及びバス障害回復方法
CN2938598Y (zh) * 2006-08-29 2007-08-22 中兴通讯股份有限公司 一种主备通讯接口
CN101247412A (zh) * 2008-03-07 2008-08-20 中兴通讯股份有限公司 双通道检测物理层/介质访问控制层状态的装置及方法
CN103139060A (zh) * 2013-03-01 2013-06-05 哈尔滨工业大学 基于双dsp的高容错性can总线数字网关
CN108566324A (zh) * 2018-04-11 2018-09-21 武汉理工大学 一种基于隔离式双以太网和双can通信的系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222294A (ja) * 1999-01-29 2000-08-11 Toshiba Corp 計算機システム及びバス障害回復方法
CN2938598Y (zh) * 2006-08-29 2007-08-22 中兴通讯股份有限公司 一种主备通讯接口
CN101247412A (zh) * 2008-03-07 2008-08-20 中兴通讯股份有限公司 双通道检测物理层/介质访问控制层状态的装置及方法
CN103139060A (zh) * 2013-03-01 2013-06-05 哈尔滨工业大学 基于双dsp的高容错性can总线数字网关
CN108566324A (zh) * 2018-04-11 2018-09-21 武汉理工大学 一种基于隔离式双以太网和双can通信的系统及方法

Also Published As

Publication number Publication date
CN110134631A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
US8018837B2 (en) Self-healing chip-to-chip interface
DE3687777T2 (de) Verfahren und geraet zur sicherstellung eines datenuebertragungssystems.
US7848232B2 (en) Time division multiplexed communication bus and related methods
CN104699576B (zh) 串行通信测试装置、包括该装置的系统及其方法
CN107704067B (zh) 一种SoC芯片复位方法和复位系统
CN113608720A (zh) 一种抗单粒子翻转的星载数据处理系统及方法
CN112526979A (zh) 一种多重冗余架构的串行通信接口诊断系统及方法
CN105487609A (zh) 一种服务器
CN110646723B (zh) 总线接口测试电路和方法
CN110134631B (zh) 一种自恢复spi总线通讯接口及其自恢复方法
CN113535618A (zh) 用于通过串行接口收发器进行故障检测和报告的系统和方法
CN116027986A (zh) 一种数据存储校验方法、装置、设备及存储介质
CN116226012A (zh) 串行外设接口集成电路及其操作方法
CN106354580A (zh) 一种数据恢复方法及装置
CN113722138A (zh) 一种降低软错误敏感性的高可靠fpga系统和方法
CN103984614A (zh) 一种监控方法及监控装置、电子设备
CN110907857B (zh) 一种基于fpga的连接器自动检测方法
US10031825B2 (en) Electronic device having multiplexed input/output terminals
US20070283208A1 (en) Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus diagnostic features
CN100472504C (zh) 中央接口盘的冗余控制装置和方法
CN115801540B (zh) 一种PCIe设备降级检测方法、装置、终端及存储介质
EP4428692A1 (en) Functional safety display controller and functional safety display control system
US20130176050A1 (en) Data interface having an intrinsically safe, integrated error detection
CN118535516B (zh) 车规微处理器电路
CN118394558B (zh) 一种异常检测方法、计算机程序产品和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant