CN112486887B - 一种利用spi总线传输异步信号的方法及装置 - Google Patents

一种利用spi总线传输异步信号的方法及装置 Download PDF

Info

Publication number
CN112486887B
CN112486887B CN202011438250.5A CN202011438250A CN112486887B CN 112486887 B CN112486887 B CN 112486887B CN 202011438250 A CN202011438250 A CN 202011438250A CN 112486887 B CN112486887 B CN 112486887B
Authority
CN
China
Prior art keywords
module
asynchronous
communication
slave
spi
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
CN202011438250.5A
Other languages
English (en)
Other versions
CN112486887A (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.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
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 Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN202011438250.5A priority Critical patent/CN112486887B/zh
Publication of CN112486887A publication Critical patent/CN112486887A/zh
Application granted granted Critical
Publication of CN112486887B publication Critical patent/CN112486887B/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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种利用SPI总线传输异步信号的方法及装置,该方法首先设定最小起始时延和最大间隔,然后设定异步传输参数,之后主模块发送、从模块接收异步信号,同时从模块发送、主模块接收异步信号,最后完成异步信号传输。该装置由主模块、从模块和模块间SPI总线构成。本发明方法及装置利用SPI信号线传输异步信号,无需增加额外的硬件线路,减少了硬件资源占用,便于系统集成,实用价值高。

Description

一种利用SPI总线传输异步信号的方法及装置
技术领域
本发明属于信号传输技术领域,涉及一种利用SPI总线传输异步信号的方法及装置。
背景技术
SPI(Serial Peripheral Interface,串行外设接口)总线是一种高速同步总线,具有全双工、简单高效等优点,已经在电子设备中大量采用。该总线多采用4线主从工作方式,即主模块通过CS#、SCLK、MOSI、MISO四根信号线与从模块通信。为了实现SPI总线切换、模式获取等功能,往往需要非SPI总线以传输总线切换指令或获取SPI模式信息。以往的设计多采用SPI总线与非SPI总线分离方式,即通过增加额外的硬件线路进行非SPI总线通信,该方式虽然满足了特定的应用需求,但占用了一定的硬件资源,不利于系统集成。
发明内容
(一)发明目的
本发明的目的是:针对现有SPI总线切换、模式获取等功能需要增加非SPI总线的问题,提供一种利用SPI总线传输异步信号的方法及装置。
(二)技术方案
为了解决上述技术问题,本发明提供一种利用SPI总线传输异步信号的方法,其包括如下步骤:
步骤1,设定最小起始时延和最大间隔;最小起始时延即当主模块发送异步信号时从CS#信号下降沿开始到起始位跳边沿开始的最小时延,该时延应大于在进行SPI总线通信时由CS#信号下降沿开始到SCLK第一个跳边沿的最大时延;最大间隔取最大间隔1和最大间隔2的最大值,其中最大间隔1为由主模块发送异步数据帧结束到从模块发送数据帧开始的最大间隔,最大间隔2为CS#信号同一次低电平期间从模块由上一个异步数据帧发送结束到下一异步数据帧发送开始的最大间隔。
步骤2,设定异步传输参数;即设定波特率、起始位逻辑、校验方式、数据位数和位序;其中波特率为单个数据位宽度的倒数;起始位逻辑即起始位为0还是1,该逻辑值应与MOSI常态逻辑相反,即当MOSI常态为1时,应将起始位定为0,否则应将起始位定为1;校验方式可选奇校验、偶校验和无校验,当校验方式为奇校验或偶校验时,校验位个数为1,否则校验位个数为0;数据位数即每个数据帧中包含数据位的个数,数据帧由起始位和数据位构成,数据位包含校验位,数据位中除去校验位的部分为原始数据位,当校验方式为无校验时,数据位即为原始数据位;位序即原始数据位的传输顺序,先传输最高有效位msb还是先传输最低有效位lsb,校验位在原始数据位之后传输。
步骤3,主模块发送、从模块接收异步信号;即主模块按步骤2中设定的异步传输参数,利用SPI总线信号线发送异步信号;具体是在保持SCLK信号不变的前提下,首先将CS#信号置为低电平,然后在最小起始时延之后通过MOSI信号线依次发送各数据帧,在两相邻数据帧之间和最后一个数据帧发送完成后,MOSI信号均应恢复常态逻辑。
步骤4,从模块发送、主模块接收异步信号;即从模块按步骤2中设定的异步传输参数,利用SPI总线信号线发送异步信号;具体是在CS#信号变为低电平后,在最小起始时延范围内SCLK没有跳变的前提下,从模块通过MISO信号线依次发送各数据帧,在两相邻数据帧之间和最后一个数据帧发送完成后,MISO信号均应恢复常态逻辑。
步骤5,完成异步信号传输;即主模块在数据帧发送完成后,由主模块和从模块的最后一个数据帧传输完成开始,如果在步骤1中设定的最大间隔内没有收到从模块的新数据帧起始位,则将CS#信号置为高电平,完成本次异步信号传输。
本发明还提供一种利用SPI总线传输异步信号的装置,由主模块、从模块和模块间SPI总线构成,其中:
所述主模块由主SPI通讯子模块、主异步通讯子模块、多路选择子模块和主主控子模块构成;
主SPI通讯子模块用于实现与从模块的SPI通信。
主异步通讯子模块用于实现与从模块的异步通信,其异步传输参数由主主控子模块设定。
多路选择子模块在主主控子模块的控制实现SPI通讯、异步通讯选择功能。
主主控子模块控制多路选择子模块选择SPI通讯或异步通讯方式,并通过主SPI通讯子模块或主异步通讯子模块完成相应方式的数据通信。
所述从模块由从SPI通讯子模块、从异步通讯子模块、通讯判别子模块和从主控子模块构成;
从SPI通讯子模块用于实现与主模块的SPI通信。
从异步通讯子模块用于实现与主模块的异步通信,其异步传输参数由从主控子模块设定。
通讯判别子模块用于判断当前通信方式为SPI通讯还是异步通信,并将判断结果发送给从主控子模块。
从主控子模块根据通讯判别子模块判断的通信方式通过从SPI通讯子模块或从异步通讯子模块完成相应方式的数据通信。
所述模块间SPI总线由CS#、SCLK、MOSI、MISO四根信号线构成。
(三)有益效果
上述技术方案所提供利用SPI总线传输异步信号的方法及装置,利用SPI信号线传输异步信号,无需增加额外的硬件线路,减少了硬件资源占用,便于系统集成,实用价值高。
附图说明
图1是本发明一种利用SPI总线传输异步信号的方法及装置的方法流程图。
图2是本发明一种利用SPI总线传输异步信号的方法及装置的单帧异步信号发送时序图。
图3是本发明一种利用SPI总线传输异步信号的方法及装置的装置组成框图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
参照图1和图2,本发明一种利用SPI总线传输异步信号的方法的具体实施步骤如下:
步骤1,设定最小起始时延和最大间隔;最小起始时延即当主模块发送异步信号时从CS#信号下降沿开始到起始位跳边沿开始的最小时延,该时延应大于在进行SPI总线通信时由CS#信号下降沿开始到SCLK第一个跳边沿的最大时延,此实施例在进行SPI总线通信时由CS#信号下降沿开始到SCLK第一个跳边沿的最大时延为260ns,取最小起始时延为300ns;最大间隔取最大间隔1和最大间隔2的最大值,其中最大间隔1为由主模块发送异步数据帧结束到从模块发送数据帧开始的最大间隔,最大间隔2为CS#信号同一次低电平期间从模块由上一个异步数据帧发送结束到下一异步数据帧发送开始的最大间隔,此实施例最大间隔为640ns。
步骤2,设定异步传输参数;即设定波特率、起始位逻辑、校验方式、数据位数和位序;其中波特率为单个数据位宽度的倒数,此实施例定为3.125Mbps;起始位逻辑即起始位为0还是1,该逻辑值应与MOSI常态逻辑相反,即当MOSI常态为1时,应将起始位定为0,否则应将起始位定为1,此实施例MOSI常态值为1,因此将起始位定为0;校验方式可选奇校验、偶校验和无校验,当校验方式为奇校验或偶校验时,校验位个数为1,否则校验位个数为0,此实施例无校验;数据位数即每个数据帧中包含数据位的个数,数据帧由起始位和数据位构成,数据位包含校验位,数据位中除去校验位的部分为原始数据位,当校验方式为无校验时,数据位即为原始数据位,此实施例数据位数为8;位序即原始数据位的传输顺序,先传输最高有效位msb还是先传输最低有效位lsb,校验位在原始数据位之后传输,此实施例位序位先传输最高有效位msb。
步骤3,主模块发送、从模块接收异步信号;即主模块按步骤2中设定的异步传输参数,利用SPI总线信号线发送异步信号;具体是在保持SCLK信号不变的前提下,首先将CS#信号置为低电平,然后在最小起始时延300ns之后通过MOSI信号线依次发送各数据帧,在两相邻数据帧之间和最后一个数据帧发送完成后,MOSI信号均应恢复常态逻辑。
步骤4,从模块发送、主模块接收异步信号;即从模块按步骤2中设定的异步传输参数,利用SPI总线信号线发送异步信号;具体是在CS#信号变为低电平后,在最小起始时延300ns范围内SCLK没有跳变的前提下,从模块通过MISO信号线依次发送各数据帧,在两相邻数据帧之间和最后一个数据帧发送完成后,MISO信号均应恢复常态逻辑。
步骤5,完成异步信号传输;即主模块在数据帧发送完成后,由主模块和从模块的最后一个数据帧传输完成开始,如果在步骤1中设定的最大间隔640ns内没有收到从模块的新数据帧起始位,则将CS#信号置为高电平,完成本次异步信号传输。
参照图3,本发明一种利用SPI总线传输异步信号的装置的具体实施方式如下:一种利用SPI总线传输异步信号的装置,由主模块、从模块和模块间SPI总线构成,其中:
所述主模块由主SPI通讯子模块、主异步通讯子模块、多路选择子模块和主主控子模块构成;
主SPI通讯子模块用于实现与从模块的SPI通信。
主异步通讯子模块用于实现与从模块的异步通信,其异步传输参数由主主控子模块设定。
多路选择子模块在主主控子模块的控制实现SPI通讯、异步通讯选择功能。
主主控子模块控制多路选择子模块选择SPI通讯或异步通讯方式,并通过主SPI通讯子模块或主异步通讯子模块完成相应方式的数据通信。
所述从模块由从SPI通讯子模块、从异步通讯子模块、通讯判别子模块和从主控子模块构成;
从SPI通讯子模块用于实现与主模块的SPI通信。
从异步通讯子模块用于实现与主模块的异步通信,其异步传输参数由从主控子模块设定。
通讯判别子模块用于判断当前通信方式为SPI通讯还是异步通信,并将判断结果发送给从主控子模块。
从主控子模块根据通讯判别子模块判断的通信方式通过从SPI通讯子模块或从异步通讯子模块完成相应方式的数据通信。
所述模块间SPI总线由CS#、SCLK、MOSI、MISO四根信号线构成。
所述主模块与从模块共地。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (8)

1.一种利用SPI总线传输异步信号的方法,其特征在于,包括如下步骤:
步骤1,设定最小起始时延和最大间隔;
步骤2,设定异步传输参数;
步骤3,主模块发送、从模块接收异步信号;
步骤4,从模块发送、主模块接收异步信号;
步骤5,完成异步信号传输;
所述步骤1中,最小起始时延即当主模块发送异步信号时从CS#信号下降沿开始到起始位跳边沿开始的最小时延,该时延应大于在进行SPI总线通信时由CS#信号下降沿开始到SCLK第一个跳边沿的最大时延;最大间隔取最大间隔1和最大间隔2的最大值,其中最大间隔1为由主模块发送异步数据帧结束到从模块发送数据帧开始的最大间隔,最大间隔2为CS#信号同一次低电平期间从模块由上一个异步数据帧发送结束到下一异步数据帧发送开始的最大间隔。
2.如权利要求1所述的利用SPI总线传输异步信号的方法,其特征在于,所述步骤2中,异步传输参数包括波特率、起始位逻辑、校验方式、数据位数和位序;其中波特率为单个数据位宽度的倒数;起始位逻辑即起始位为0还是1,该逻辑值应与MOSI常态逻辑相反,即当MOSI常态为1时,应将起始位定为0,否则应将起始位定为1;校验方式可选奇校验、偶校验和无校验,当校验方式为奇校验或偶校验时,校验位个数为1,否则校验位个数为0;数据位数即每个数据帧中包含数据位的个数,数据帧由起始位和数据位构成,数据位包含校验位,数据位中除去校验位的部分为原始数据位,当校验方式为无校验时,数据位即为原始数据位;位序即原始数据位的传输顺序,先传输最高有效位msb还是先传输最低有效位lsb,校验位在原始数据位之后传输。
3.如权利要求2所述的利用SPI总线传输异步信号的方法,其特征在于,所述步骤3中,主模块按步骤2中设定的异步传输参数,利用SPI总线信号线发送异步信号;具体是在保持SCLK信号不变的前提下,首先将CS#信号置为低电平,然后在最小起始时延之后通过MOSI信号线依次发送各数据帧,在两相邻数据帧之间和最后一个数据帧发送完成后,MOSI信号均应恢复常态逻辑。
4.如权利要求3所述的利用SPI总线传输异步信号的方法,其特征在于,所述步骤4中,从模块按步骤2中设定的异步传输参数,利用SPI总线信号线发送异步信号。
5.如权利要求4所述的利用SPI总线传输异步信号的方法,其特征在于,所述步骤4中,在CS#信号变为低电平后,在最小起始时延范围内SCLK没有跳变的前提下,从模块通过MISO信号线依次发送各数据帧,在两相邻数据帧之间和最后一个数据帧发送完成后,MISO信号均应恢复常态逻辑。
6.如权利要求5所述的利用SPI总线传输异步信号的方法,其特征在于,所述步骤5中,主模块在数据帧发送完成后,由主模块和从模块的最后一个数据帧传输完成开始,如果在步骤1中设定的最大间隔内没有收到从模块的新数据帧起始位,则将CS#信号置为高电平,完成本次异步信号传输。
7.一种利用SPI总线传输异步信号的装置,其特征在于,包括主模块和从模块;
所述主模块包括主SPI通讯子模块、主异步通讯子模块、多路选择子模块和主主控子模块,主SPI通讯子模块用于实现与从模块的SPI通信,主异步通讯子模块用于实现与从模块的异步通信,其异步传输参数由主主控子模块设定,多路选择子模块在主主控子模块的控制实现SPI通讯、异步通讯选择功能,主主控子模块控制多路选择子模块选择SPI通讯或异步通讯方式,并通过主SPI通讯子模块或主异步通讯子模块完成相应方式的数据通信;
所述从模块包括从SPI通讯子模块、从异步通讯子模块、通讯判别子模块和从主控子模块,从SPI通讯子模块用于实现与主模块的SPI通信,从异步通讯子模块用于实现与主模块的异步通信,其异步传输参数由从主控子模块设定,通讯判别子模块用于判断当前通信方式为SPI通讯还是异步通信,并将判断结果发送给从主控子模块;从主控子模块根据通讯判别子模块判断的通信方式通过从SPI通讯子模块或从异步通讯子模块完成相应方式的数据通信。
8.如权利要求7所述的利用SPI总线传输异步信号的装置,其特征在于,还包括:模块间SPI总线,由CS#、SCLK、MOSI、MISO四根信号线构成。
CN202011438250.5A 2020-12-07 2020-12-07 一种利用spi总线传输异步信号的方法及装置 Active CN112486887B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011438250.5A CN112486887B (zh) 2020-12-07 2020-12-07 一种利用spi总线传输异步信号的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011438250.5A CN112486887B (zh) 2020-12-07 2020-12-07 一种利用spi总线传输异步信号的方法及装置

Publications (2)

Publication Number Publication Date
CN112486887A CN112486887A (zh) 2021-03-12
CN112486887B true CN112486887B (zh) 2023-06-30

Family

ID=74941245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011438250.5A Active CN112486887B (zh) 2020-12-07 2020-12-07 一种利用spi总线传输异步信号的方法及装置

Country Status (1)

Country Link
CN (1) CN112486887B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845525A (zh) * 2005-04-08 2006-10-11 华为技术有限公司 主从设备系统
CN102023956A (zh) * 2009-09-23 2011-04-20 上海摩波彼克半导体有限公司 集成电路芯片中串行外设从器件接口结构及数据读写方法
CN103856364A (zh) * 2012-12-04 2014-06-11 鸿富锦精密工业(深圳)有限公司 总线信号监测装置及方法
CN104811273A (zh) * 2015-04-02 2015-07-29 福州大学 一种高速单总线通信的实现方法
CN106294260A (zh) * 2016-08-18 2017-01-04 长沙丰灼通讯科技有限公司 数据从异步总线输出到同步总线的方法
CN109891400A (zh) * 2019-01-24 2019-06-14 深圳市汇顶科技股份有限公司 基于spi异步处理事件的方法、装置及存储介质
CN110048923A (zh) * 2019-04-19 2019-07-23 博能传动(苏州)有限公司 一种多模块多波特率自适应的高速串行异步通信解决方法
CN210428430U (zh) * 2019-08-26 2020-04-28 深圳比亚迪微电子有限公司 Spi通信控制电路及spi芯片
CN111800249A (zh) * 2020-07-06 2020-10-20 山东管理学院 串行通信波特率误差容忍范围提升方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845525A (zh) * 2005-04-08 2006-10-11 华为技术有限公司 主从设备系统
CN102023956A (zh) * 2009-09-23 2011-04-20 上海摩波彼克半导体有限公司 集成电路芯片中串行外设从器件接口结构及数据读写方法
CN103856364A (zh) * 2012-12-04 2014-06-11 鸿富锦精密工业(深圳)有限公司 总线信号监测装置及方法
CN104811273A (zh) * 2015-04-02 2015-07-29 福州大学 一种高速单总线通信的实现方法
CN106294260A (zh) * 2016-08-18 2017-01-04 长沙丰灼通讯科技有限公司 数据从异步总线输出到同步总线的方法
CN109891400A (zh) * 2019-01-24 2019-06-14 深圳市汇顶科技股份有限公司 基于spi异步处理事件的方法、装置及存储介质
CN110048923A (zh) * 2019-04-19 2019-07-23 博能传动(苏州)有限公司 一种多模块多波特率自适应的高速串行异步通信解决方法
CN210428430U (zh) * 2019-08-26 2020-04-28 深圳比亚迪微电子有限公司 Spi通信控制电路及spi芯片
CN111800249A (zh) * 2020-07-06 2020-10-20 山东管理学院 串行通信波特率误差容忍范围提升方法及系统

Also Published As

Publication number Publication date
CN112486887A (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
US9444612B2 (en) Multi-wire single-ended push-pull link with data symbol transition based clocking
US20170255588A1 (en) Multiprotocol i3c common command codes
US20150220472A1 (en) Increasing throughput on multi-wire and multi-lane interfaces
CN101770443B (zh) 一种内部集成电路总线时序调节方法、相应装置及系统
JPH11154937A (ja) データ伝送装置
US20150103845A1 (en) Synchronization time-division multiplexing bus communication method adopting serial communication interface
KR20070101189A (ko) 하이브리드 병렬/직렬 버스 인터페이스를 구비하는 기지국
US6772251B1 (en) Bit interleaved data serial interface
JP2009525625A (ja) シリアル相互接続の多数レーン用の装置及びデスキュー
US20060277339A1 (en) Communication apparatus, switching method, and switching program
KR100614638B1 (ko) 고속의 무선 통신에 적합한 하이브리드형 직렬 주변 장치 인터페이스 회로 및 그 방법
CN112269749B (zh) I2c通信系统
CN115296965B (zh) 降低延时的Retimer均衡配置方法、系统及装置
US6385319B1 (en) Encoding circuit and method of detecting block code boundary and establishing synchronization between scrambler and descrambler
US6215817B1 (en) Serial interface device
CN112486887B (zh) 一种利用spi总线传输异步信号的方法及装置
CN112506839B (zh) 一种一对多spi总线切换方法及装置
CN112506840B (zh) 一种多对多spi总线切换方法
JP3668697B2 (ja) データ送信方法及びデータ送信装置
CN112817895B (zh) 一种基于gpio的通信方法
CN101145897B (zh) 一种基于通信硬件平台减少传送时钟线路的方法及其系统
US20060031424A1 (en) Packet signal processing architecture
US20050083836A1 (en) Flow control for interfaces providing retransmission
CN109871342B (zh) 自适应连接的串行接口电路及其自适应连接方法
CN117193473A (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