CN116185936A - 一种spi通信数据收发异常检测控制系统及检测方法 - Google Patents

一种spi通信数据收发异常检测控制系统及检测方法 Download PDF

Info

Publication number
CN116185936A
CN116185936A CN202310438188.7A CN202310438188A CN116185936A CN 116185936 A CN116185936 A CN 116185936A CN 202310438188 A CN202310438188 A CN 202310438188A CN 116185936 A CN116185936 A CN 116185936A
Authority
CN
China
Prior art keywords
data
data transmission
interrupt request
host
signal line
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.)
Granted
Application number
CN202310438188.7A
Other languages
English (en)
Other versions
CN116185936B (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.)
Changzhou Xingyu Automotive Lighting Systems Co Ltd
Original Assignee
Changzhou Xingyu Automotive Lighting Systems Co Ltd
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 Changzhou Xingyu Automotive Lighting Systems Co Ltd filed Critical Changzhou Xingyu Automotive Lighting Systems Co Ltd
Priority to CN202310438188.7A priority Critical patent/CN116185936B/zh
Publication of CN116185936A publication Critical patent/CN116185936A/zh
Application granted granted Critical
Publication of CN116185936B publication Critical patent/CN116185936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/16Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/502Half adders; Full adders consisting of two cascaded half adders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • G06F2213/2418Signal interruptions by means of a message
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种SPI通信数据收发异常检测控制系统及检测方法,它包括CPU中央处理器、主机、通信总线、从机、半加器、缓存器、数据传输中断请求单元以及采样使能信号单元。本发明提供一种SPI通信数据收发异常检测控制系统及检测方法,解决了SPI数据通信因无应答信号而导致无法识别从机是否接收正确的通信数据的问题;同时,也解决了在SPI数据通信时无法识别总线忙碌或空闲的问题,从而提高SPI数据通信的可靠性。当检测出SPI通信总线处于空闲状态时,即可进行主机与其他从机的数据通信,提交SPI通信总线的利用率。

Description

一种SPI通信数据收发异常检测控制系统及检测方法
技术领域
本发明涉及一种SPI通信数据收发异常检测控制系统及检测方法,属于集成电路通信领域。
背景技术
目前,SPI(Serial Perripheral Interface)为串行外围设备接口,在现有数字芯片SPI总线通信技术中,SPI串行总线主要应用于片外芯片与芯片之间的数据通信,用来发送数据的芯片通常称为主机,用来接收数据的芯片通常称为从机,在SPI总线通信中只有一个主机(Master)和一个或多个从机(Slave),主机和从机上分别有四根数据信号线,主要包括串行时钟线SCLK,主出从入信号线MOSI,主入从出信号线MISO以及片选信号线CS,主机和从机四根数据线分别对应进行连接,当主机上的片选信号线CS使能信号有效时,即可实现芯片与芯片之间的数据通信。如图1所示,当有一个主机与一个从机进行数据通信时,在主从机的SCLK、MOSI、MISO三个数据信号线已经连接的情况下,只需要将主机和从机的片选信号端CS进行连接并向从机发送使能信号,即可进行芯片间的数据通信。现有SPI数据通信技术当主机给从机发送数据时,SPI总线在进行数据传送时,先传送高位,后传送低位;数据线为高电平表示逻辑‘1’,低电平表示逻辑‘0’;一个字节数据传送完成后无需应答即可开始下一个字节数据的传送; SPI总线采用同步方式工作,时钟线在上升沿或下降沿时发送器向数据线上发送数据,在紧接着的下降沿或上升沿时接收器从数据线上读取数据,完成一位数据传送,八个时钟周期即可完成一个字节数据的传送,从机接收到主机发过来的数据不会给主机发送应答信号。
在芯片之间进行SPI数据通信时,当主机对将要进行通信的从机CS片选信号端发送使能信号时,即选定了该从机进行数据通信,主机将一字节一字节地向从机发送数据,每字节的数据没有起始位、停止位和应答位,只连续地进行每字节数据的发送,直至数据发送完毕。在这种数据传输的情况下,当主机给从机发送数据时,从机不会给主机发送应答信号来反馈给主机当前的从机是否接收到主机发送过来的数据,且无法获知从机是否正确接收数据,若从机接收的数据有误,数据传输无法停止。并且,无法判断总线的当前状态是处于忙碌状态还是空闲状态。在此种情况下进行芯片之间的数据传输,带宽利用率低,且芯片之间数据传输的可靠性低。
发明内容
本发明所要解决的技术问题是,克服现有技术的不足,提供一种SPI通信数据收发异常检测控制系统及检测方法,解决了SPI数据通信因无应答信号而导致无法识别从机是否接收正确的通信数据的问题;同时,也解决了在SPI数据通信时无法识别总线忙碌或空闲的问题,从而提高SPI数据通信的可靠性。当检测出SPI通信总线处于空闲状态时,即可进行主机与其他从机的数据通信,提交SPI通信总线的利用率。
为了解决上述技术问题,本发明的技术方案是:
本发明一方面提供一种SPI通信数据收发异常检测控制系统,它包括CPU中央处理器、主机、通信总线、从机、半加器、缓存器、数据传输中断请求单元以及采样使能信号单元;
所述主机通过通信总线和从机相连,所述主机用于向从机发送使能信号与从机进行数据通信,并实时接收从机发送的数据;所述从机用于接收主机的使能信号以及主机发送的数据,并向主机发送数据;
所述半加器的输入端通过采样使能信号单元连接到通信总线,所述半加器的输出端通过缓存器连接数据传输中断请求单元,所述半加器用于对采样的数据进行逻辑计算,得出Sum和Cout两个输出结果;
所述数据传输中断请求单元与CPU中央处理器相连,所述数据传输中断请求单元用于向CPU中央处理器发送SPI数据传输中断请求;
所述CPU中央处理器与主机相连,所述CPU中央处理器用于接收数据传输中断请求单元发送的数据中断请求,同时向主机发送中断使能信号,中断数据收发。
进一步,所述通信总线包括SCLK信号线、MOSI信号线、MISO信号线和CS信号线。
进一步,所述半加器的第一输入端通过采样使能信号单元连接MOSI信号线,所述半加器的第二输入端通过采样使能信号单元连接MISO信号线,所述采样使能信号单元用于使能采样MOSI信号线和MISO信号线上正在传输的数据。
进一步,所述缓存器包括Sum FIFO缓存器和Cout FIFO缓存器,所述Sum FIFO缓存器和Cout FIFO缓存器分别用于暂存半加器的输出结果。
进一步,所述半加器的第一输出端通过Sum FIFO缓存器与数据传输中断请求单元相连,所述半加器的第二输出端通过Cout FIFO缓存器与数据传输中断请求单元相连。
本发明另一方面提供一种SPI通信数据收发异常检测控制系统的检测方法,它包括:
步骤S1、当主机和从机进行数据通信时,通信总线的MOSI信号线和MISO信号线通过数据采样使能信号单元分别连接半加器的两个输入端口;
步骤S2、主机给从机发送第一位数据时,先使能MOSI端采样信号,采样MOSI信号线正在传输的一位数据,八个时钟周期后,使能MISO端采样信号,采样MISO信号线正在传输的一位数据,后续半加器的两个输入数据采样则将均会按照相隔8时钟周期进行;
步骤S3、半加器的两个输入采样数据,经过半加器逻辑计算,得出输出数据Sum和输出数据Cout;
步骤S4、将输出数据Sum存入Sum FIFO缓存器,将输出数据Cout存入Cout FIFO缓存器;
步骤S5、Sum FIFO缓存器和Cout FIFO缓存器分别将对应的数据一位一位输出至数据传输中断请求单元,数据传输中断请求单元根据接收的Sum和Cout结果来决定是否向CPU发送中断请求;
步骤S6、若需要发送数据传输中断请求,则数据传输中断请求单元向CPU中央处理器发送数据传输中断请求,此时CPU中央处理器启动中断响应,向主机发送数据传输中断使能信号,主机接收到数据传输中断使能信号后,中断主机和从机的数据收发;若无需发送中断请求,则不启动数据传输中断请求,继续进行数据收发。
进一步,所述步骤S5具体包括如下步骤:
假设在一个时钟周期内,通信总线上主机发送给从机的数据为高电平1,则MOSI信号线上发送的一位数据为1,此时使能MOSI信号端的数据采样使能信号,采样数据1作为半加器的一个输入信号In1;
经过八个时钟周期后,MISO信号线上从机发送给主机的一位数据也为1,使能MISO信号端的数据采样使能信号,采样数据1作为半加器的另一个输入信号In2;
则半加器的两个输入均为1,经过半加器逻辑计算后,Sum的输出结果为0,同时Cout的输出结果为1,将两个输出结果输入至数据传输中断请求单元,经过数据传输中断请求单元判断,数据为01,则表示此时数据收发正常,主机和从机可以继续进行数据通信,数据传输中断请求单元无需向CPU中央处理器发送中断请求。
进一步,所述步骤S5具体包括如下步骤:
假设采样到MOSI信号线上发送的一位数据为1,8个时钟周期后采样MISO信号线上接收的一位数据为0,则表示MOSI信号线和MISO信号线的数据不同,Sum的输出结果为1,同时Cout的输出结果为0,将两个结果输入至数据传输中断请求单元,经过数据传输中断请求单元判断,数据为10,则表示此时数据收发异常,然后向CPU中央处理器发送数据传输中断请求,此时CPU中央处理器启动中断响应,向主机发送数据传输中断使能信号,主机接收到数据传输中断使能信号后,中断主从机的数据收发。
进一步,所述步骤S5具体包括如下步骤:
当两个缓存器数据为空时,则表示通信总线目前处于空闲状态,可以进行其他从机和主机之间的数据通信。
采用了上述技术方案,本发明具有以下的有益效果:
当芯片与芯片之间进行SPI数据通信时,通过本发明,可检测出主机发送给从机的数据异常传输情况。通过加入半加器,半加器的输出数据结果可为检测SPI数据通信异常加入检测机制,保障检测数据传输的异常问题。针对主从机数据通信无法停止的问题,若数据传输异常,本发明所添加的数据传输中断请求单元则会向CPU中央处理器内部的中断控制单元发送数据传输中断请求,再由CPU中央处理器直接向主机发送中断使能信号,从而中断数据收发,提高检测及中断速率。且因为是在SPI数据通信外部加入检测控制单元,不占用总线,在数据检测期间不会影响芯片间的通信速率。通过识别FIFO缓存器内部数据存储情况,若FIFO缓存器内无数据缓存,可依此判断SPI通信总线是处于忙碌还是空闲状态,从而提高了通信总线的利用率,不会发生数据传输冲突。
附图说明
图1为本发明的主机和从机之间的SPI通信电路示意图;
图2为本发明的SPI通信数据收发异常检测控制系统的原理框图;
图3为本发明的主从机内部数据传输示意图;
图4为本发明的SPI通信数据收发异常检测控制系统的检测方法的流程图。
具体实施方式
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明。
实施例一
如图1、2所示,本实施例提供一种SPI通信数据收发异常检测控制系统,它包括CPU中央处理器、主机Master、通信总线、从机Slave、半加器Half adder、缓存器、数据传输中断请求单元以及采样使能信号单元;
主机通过通信总线和从机相连,主机用于向从机发送使能信号与从机进行数据通信,并实时接收从机发送的数据;从机用于接收主机的使能信号以及主机发送的数据,并向主机发送数据,完成与主机的数据通信;
半加器的输入端通过采样使能信号单元连接到通信总线,半加器的输出端通过缓存器连接数据传输中断请求单元,半加器Half adder用于对采样的数据进行逻辑计算,得出Sum和Cout两个输出结果;
数据传输中断请求单元与CPU中央处理器相连,数据传输中断请求单元用于向CPU中央处理器发送SPI数据传输中断请求;
CPU中央处理器与主机相连,CPU中央处理器是进行信息处理、程序运行的最终执行单元,内含对芯片各个外设的中断控制单元,CPU中央处理器用于接收数据传输中断请求单元发送的数据中断请求,同时向主机发送中断使能信号,中断数据收发。
如图2所示,本实施例的通信总线包括SCLK信号线、MOSI信号线、MISO信号线和CS信号线,半加器的第一输入端通过采样使能信号单元连接MOSI信号线,半加器的第二输入端通过采样使能信号单元连接MISO信号线,采样使能信号单元用于使能采样MOSI信号线和MISO信号线上正在传输的数据。
如图2所示,本实施例的缓存器包括Sum FIFO缓存器和Cout FIFO缓存器,SumFIFO缓存器和Cout FIFO缓存器分别用于暂存半加器的输出结果,半加器的第一输出端通过Sum FIFO缓存器与数据传输中断请求单元相连,半加器的第二输出端通过Cout FIFO缓存器与数据传输中断请求单元相连。
如图3所示,根据SPI数据传输的原理,SPI总线通信的主从机分别内含移位寄存器,可传输任意字节的数据。一个字节是8个bit位的数据,假设主机和从机各有一个8个bit位的移位寄存器,且二者连接成环,随着时钟脉冲,数据按照从高位到低位的方式依次移出主机寄存器和从机寄存器,并且依次移入从机寄存器和主机寄存器。当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换,当主机要主动发送给从机数据的同时,主机接收到从机交换的数据是无意义的;同样,当主机要接收数据的同时,主机发送到从机的数据也是无意义的。
依据SPI数据传输的原理,本发明专利设定,通信总线的MOSI信号线上主机发送的一位数据,在8个时钟周期后,被从机经过MISO信号线重新发送给主机,不占用主机原有的移位寄存器,不影响正常数据传输,将重新发送过来的数据放置在主机的FIFO缓存器中,即使数据溢满覆盖也不影响正常数据传输,以此来充分利用MISO总线,达到数据传输异常检测的效果。其通信原理是当主机和从机进行数据通信时,MOSI信号线和MISO信号线引出信号线通过数据采样使能信号单元分别连接半加器Half adder的两个输入端口,主机给从机发送第一位数据时,先使能MOSI端采样信号,采样MOSI信号线正在传输的一位数据,8个时钟周期后,使能MISO端采样信号,采样MISO信号线正在传输的一位数据,后续半加器两个输入数据采样则将均会相隔8个时钟周期进行采样,从而保证采样的数据为同一个位数据。采样的数据作为半加器逻辑计算的两个输入数据,经过半加器逻辑计算,得出Sum和Cout两个输出数据。根据半加器输入输出逻辑关系,Sum输出的结果是两个输入数据若相同则输出结果为0,不同则为1,Cout输出结果是两个输入其中若有一个为0,则输出为0,否则输出结果为1,Sum和Cout的输出结果是一一对应的,半加器输入输出逻辑真值表如表1,且只有四种对应关系。然后,将Sum和Cout两个输出数据分别存入与其对应的FIFO缓存器中。CoutFIFO缓存器中的数据可与SumFIFO缓存器中的数据形成对照,以此来判断半加器逻辑计算结果是否正确。同时,SumFIFO缓存器和CoutFIFO缓存器将对应的数据一位一位输出给数据传输中断请求单元,数据传输中断请求单元根据Sum和Cout的输入结果来决定是否向CPU中央处理器发送中断请求,当中断请求单元得到的Sum和Cout分别为“0”“0”或“0”“1”时,则不启动数据传输中断请求,Sum和Cout分别为“1”“0”的情况时,则需要向CPU中央处理器发送中断请求。若需要发送数据传输中断请求,则数据传输中断请求单元向CPU中央处理器发送数据传输中断请求,此时,CPU中央处理器启动中断响应,直接向主机发送数据传输中断使能信号,主机接收到数据传输中断使能信号后,中断主从机的数据收发。
实施例二
如图4所示,本实施例提供一种SPI通信数据收发异常检测控制系统的检测方法,它包括:
步骤S1、当主机和从机进行数据通信时,通信总线的MOSI信号线和MISO信号线通过数据采样使能信号单元分别连接半加器Half adder的两个输入端口;
步骤S2、主机给从机发送第一位数据时,先使能MOSI端采样信号,采样MOSI信号线正在传输的一位数据,八个时钟周期后,使能MISO端采样信号,采样MISO信号线正在传输的一位数据,后续半加器的两个输入数据采样则将均会按照相隔8时钟周期进行;
步骤S3、半加器的两个输入采样数据,经过半加器逻辑计算,得出输出数据Sum和输出数据Cout;
步骤S4、将输出数据Sum存入Sum FIFO缓存器,将输出数据Cout存入Cout FIFO缓存器;
步骤S5、Sum FIFO缓存器和Cout FIFO缓存器分别将对应的数据一位一位输出至数据传输中断请求单元,数据传输中断请求单元根据接收的Sum和Cout结果来决定是否向CPU发送中断请求;
步骤S6、若需要发送数据传输中断请求,则数据传输中断请求单元向CPU中央处理器发送数据传输中断请求,此时CPU中央处理器启动中断响应,直接向主机发送数据传输中断使能信号,主机接收到数据传输中断使能信号后,中断主机和从机的数据收发;若无需发送中断请求,则不启动数据传输中断请求,继续进行数据收发。
具体地,本实施例的步骤S5具体包括如下步骤:
根据SPI数据传输的原理,假设在一个时钟周期内,通信总线上主机发送给从机的数据为高电平1,则MOSI信号线上发送的一位数据为1,此时使能MOSI信号端的数据采样使能信号,采样数据1作为半加器的一个输入信号In1;
经过八个时钟周期后,MISO信号线上从机发送给主机的一位数据也为1,使能MISO信号端的数据采样使能信号,采样数据1作为半加器的另一个输入信号In2;
则半加器的两个输入均为1,经过半加器逻辑计算后,Sum的输出结果为0,同时Cout的输出结果为1,两个结果经过真值表对照,一一对应,将两个输出结果输入至数据传输中断请求单元,经过数据传输中断请求单元判断,数据为01,则表示此时数据收发正常,主机和从机可以继续进行数据通信,数据传输中断请求单元无需向CPU中央处理器发送中断请求。
假设采样到MOSI信号线上发送的一位数据为1,8个时钟周期后采样MISO信号线上接收的一位数据为0,则表示MOSI信号线和MISO信号线的数据不同,Sum的输出结果为1,同时Cout的输出结果为0,两个结果经过真值表对照,一一对应,将两个结果输入至数据传输中断请求单元,经过数据传输中断请求单元判断,数据为10,则表示此时数据收发异常,然后向CPU中央处理器发送数据传输中断请求,此时CPU中央处理器启动中断响应,直接向主机发送数据传输中断使能信号,主机接收到数据传输中断使能信号后,中断主从机的数据收发。
当两个缓存器数据为空时,则表示通信总线目前处于空闲状态,可以进行其他从机和主机之间的数据通信。
本发明的半加器输入输出逻辑真值表,如表1所示:
表1
In1 In2 Sum Cout
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
以上所述的具体实施例,对本发明解决的技术问题、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种SPI通信数据收发异常检测控制系统,其特征在于,它包括CPU中央处理器、主机、通信总线、从机、半加器、缓存器、数据传输中断请求单元以及采样使能信号单元;
所述主机通过通信总线和从机相连,所述主机用于向从机发送使能信号与从机进行数据通信,并实时接收从机发送的数据;所述从机用于接收主机的使能信号以及主机发送的数据,并向主机发送数据;
所述半加器的输入端通过采样使能信号单元连接到通信总线,所述半加器的输出端通过缓存器连接数据传输中断请求单元,所述半加器用于对采样的数据进行逻辑计算,得出Sum和Cout两个输出结果;
所述数据传输中断请求单元与CPU中央处理器相连,所述数据传输中断请求单元用于向CPU中央处理器发送SPI数据传输中断请求;
所述CPU中央处理器与主机相连,所述CPU中央处理器用于接收数据传输中断请求单元发送的数据中断请求,同时向主机发送中断使能信号,中断数据收发。
2.根据权利要求1所述的SPI通信数据收发异常检测控制系统,其特征在于:所述通信总线包括SCLK信号线、MOSI信号线、MISO信号线和CS信号线。
3.根据权利要求2所述的SPI通信数据收发异常检测控制系统,其特征在于:所述半加器的第一输入端通过采样使能信号单元连接MOSI信号线,所述半加器的第二输入端通过采样使能信号单元连接MISO信号线,所述采样使能信号单元用于使能采样MOSI信号线和MISO信号线上正在传输的数据。
4.根据权利要求1所述的SPI通信数据收发异常检测控制系统,其特征在于:所述缓存器包括Sum FIFO缓存器和Cout FIFO缓存器,所述Sum FIFO缓存器和Cout FIFO缓存器分别用于暂存半加器的输出结果。
5.根据权利要求4所述的SPI通信数据收发异常检测控制系统,其特征在于:所述半加器的第一输出端通过Sum FIFO缓存器与数据传输中断请求单元相连,所述半加器的第二输出端通过Cout FIFO缓存器与数据传输中断请求单元相连。
6.一种如权利要求1~5中任一项所述的SPI通信数据收发异常检测控制系统的检测方法,其特征在于,它包括:
步骤S1、当主机和从机进行数据通信时,通信总线的MOSI信号线和MISO信号线通过数据采样使能信号单元分别连接半加器的两个输入端口;
步骤S2、主机给从机发送第一位数据时,先使能MOSI端采样信号,采样MOSI信号线正在传输的一位数据,八个时钟周期后,使能MISO端采样信号,采样MISO信号线正在传输的一位数据,后续半加器的两个输入数据采样则将均会按照相隔8时钟周期进行;
步骤S3、半加器的两个输入采样数据,经过半加器逻辑计算,得出输出数据Sum和输出数据Cout;
步骤S4、将输出数据Sum存入Sum FIFO缓存器,将输出数据Cout存入Cout FIFO缓存器;
步骤S5、Sum FIFO缓存器和Cout FIFO缓存器分别将对应的数据一位一位输出至数据传输中断请求单元,数据传输中断请求单元根据接收的Sum和Cout结果来决定是否向CPU发送中断请求;
步骤S6、若需要发送数据传输中断请求,则数据传输中断请求单元向CPU中央处理器发送数据传输中断请求,此时CPU中央处理器启动中断响应,向主机发送数据传输中断使能信号,主机接收到数据传输中断使能信号后,中断主机和从机的数据收发;若无需发送中断请求,则不启动数据传输中断请求,继续进行数据收发。
7.根据权利要求6所述的检测方法,其特征在于,所述步骤S5具体包括如下步骤:
假设在一个时钟周期内,通信总线上主机发送给从机的数据为高电平1,则MOSI信号线上发送的一位数据为1,此时使能MOSI信号端的数据采样使能信号,采样数据1作为半加器的一个输入信号In1;
经过八个时钟周期后,MISO信号线上从机发送给主机的一位数据也为1,使能MISO信号端的数据采样使能信号,采样数据1作为半加器的另一个输入信号In2;
则半加器的两个输入均为1,经过半加器逻辑计算后,Sum的输出结果为0,同时Cout的输出结果为1,将两个输出结果输入至数据传输中断请求单元,经过数据传输中断请求单元判断,数据为01,则表示此时数据收发正常,主机和从机可以继续进行数据通信,数据传输中断请求单元无需向CPU中央处理器发送中断请求。
8.根据权利要求7所述的检测方法,其特征在于,所述步骤S5具体包括如下步骤:
假设采样到MOSI信号线上发送的一位数据为1,8个时钟周期后采样MISO信号线上接收的一位数据为0,则表示MOSI信号线和MISO信号线的数据不同,Sum的输出结果为1,同时Cout的输出结果为0,将两个结果输入至数据传输中断请求单元,经过数据传输中断请求单元判断,数据为10,则表示此时数据收发异常,然后向CPU中央处理器发送数据传输中断请求,此时CPU中央处理器启动中断响应,向主机发送数据传输中断使能信号,主机接收到数据传输中断使能信号后,中断主从机的数据收发。
9.根据权利要求7所述的检测方法,其特征在于,所述步骤S5具体包括如下步骤:
当两个缓存器数据为空时,则表示通信总线目前处于空闲状态,可以进行其他从机和主机之间的数据通信。
CN202310438188.7A 2023-04-23 2023-04-23 一种spi通信数据收发异常检测控制系统及检测方法 Active CN116185936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310438188.7A CN116185936B (zh) 2023-04-23 2023-04-23 一种spi通信数据收发异常检测控制系统及检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310438188.7A CN116185936B (zh) 2023-04-23 2023-04-23 一种spi通信数据收发异常检测控制系统及检测方法

Publications (2)

Publication Number Publication Date
CN116185936A true CN116185936A (zh) 2023-05-30
CN116185936B CN116185936B (zh) 2023-07-14

Family

ID=86440639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310438188.7A Active CN116185936B (zh) 2023-04-23 2023-04-23 一种spi通信数据收发异常检测控制系统及检测方法

Country Status (1)

Country Link
CN (1) CN116185936B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1820416A (zh) * 2003-08-28 2006-08-16 富士通株式会社 同步分频器及其部件
CN102354305A (zh) * 2011-09-27 2012-02-15 青岛海信电器股份有限公司 设备间串行通信系统及方法
CN104954096A (zh) * 2015-04-23 2015-09-30 河南科技大学 一种一主多从的高速同步串行通信数据传输方法
CN110611333A (zh) * 2019-11-11 2019-12-24 燕山大学 一种考虑通信问题的孤岛微电网分布式协调控制方法
CN111737175A (zh) * 2020-06-12 2020-10-02 明见(厦门)技术有限公司 一种高速spi主从机通信方法、终端设备及存储介质
CN113114595A (zh) * 2021-04-08 2021-07-13 山东华芯半导体有限公司 一种双端口PCIe SSD链路容错装置及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1820416A (zh) * 2003-08-28 2006-08-16 富士通株式会社 同步分频器及其部件
CN102354305A (zh) * 2011-09-27 2012-02-15 青岛海信电器股份有限公司 设备间串行通信系统及方法
CN104954096A (zh) * 2015-04-23 2015-09-30 河南科技大学 一种一主多从的高速同步串行通信数据传输方法
CN110611333A (zh) * 2019-11-11 2019-12-24 燕山大学 一种考虑通信问题的孤岛微电网分布式协调控制方法
CN111737175A (zh) * 2020-06-12 2020-10-02 明见(厦门)技术有限公司 一种高速spi主从机通信方法、终端设备及存储介质
CN113114595A (zh) * 2021-04-08 2021-07-13 山东华芯半导体有限公司 一种双端口PCIe SSD链路容错装置及方法

Also Published As

Publication number Publication date
CN116185936B (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
EP0522764B1 (en) Multiplexing scheme for modem control signals
US7328399B2 (en) Synchronous serial data communication bus
US5587957A (en) Circuit for sharing a memory of a microcontroller with an external device
US3979732A (en) Asynchronous status interlock circuit for interface adaptor
US5978865A (en) System for performing DMA transfers where an interrupt request signal is generated based on the value of the last of a plurality of data bits transmitted
US20030074502A1 (en) Communication between two embedded processors
CN107832250B (zh) 一种基于spi的主从通讯时序方法
CN114564427B (zh) 一种ahb总线到i2c总线的总线桥、系统及方法
US5884044A (en) Dedicated DDC integrable multimode communications cell
EP0525736B1 (en) Data storing system for a communication control circuit
CN116185936B (zh) 一种spi通信数据收发异常检测控制系统及检测方法
CN107506318A (zh) 一种软件模拟串行数据传输装置
US20050198414A1 (en) Data processor and data communication method
US20040213277A1 (en) Method and related circuit for increasing network transmission efficiency by increasing a data updating rate of a memory
CN114884768B (zh) 一种总线空闲状态的检测装置、系统及检测方法
EP0063140A1 (en) Data communication bus structure
JPH07319841A (ja) シリアル制御装置
CN117992381A (zh) 一种基于fpga的数据收发方法及ip核
JPS63228856A (ja) 通信制御装置
JP2639248B2 (ja) 通信インターフェイス装置
CN115061961A (zh) 一种基于spi的通信方法与装置
CN115712591A (zh) 一种带收发fifo的spi总线控制器电路
JPH02189049A (ja) 回線制御装置
CN116680224A (zh) 不对称PCIe总线设计方法、装置、总线装置及系统
CN115168270A (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