本发明属于信号传输技术领域,涉及一种利用spi总线传输异步信号的方法及装置。
背景技术:
spi(serialperipheralinterface,串行外设接口)总线是一种高速同步总线,具有全双工、简单高效等优点,已经在电子设备中大量采用。该总线多采用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四根信号线构成。
所述主模块与从模块共地。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
1.一种利用spi总线传输异步信号的方法,其特征在于,包括如下步骤:
步骤1,设定最小起始时延和最大间隔;
步骤2,设定异步传输参数;
步骤3,主模块发送、从模块接收异步信号;
步骤4,从模块发送、主模块接收异步信号;
步骤5,完成异步信号传输。
2.如权利要求1所述的利用spi总线传输异步信号的方法,其特征在于,所述步骤1中,最小起始时延即当主模块发送异步信号时从cs#信号下降沿开始到起始位跳边沿开始的最小时延,该时延应大于在进行spi总线通信时由cs#信号下降沿开始到sclk第一个跳边沿的最大时延;最大间隔取最大间隔1和最大间隔2的最大值,其中最大间隔1为由主模块发送异步数据帧结束到从模块发送数据帧开始的最大间隔,最大间隔2为cs#信号同一次低电平期间从模块由上一个异步数据帧发送结束到下一异步数据帧发送开始的最大间隔。
3.如权利要求2所述的利用spi总线传输异步信号的方法,其特征在于,所述步骤2中,异步传输参数包括波特率、起始位逻辑、校验方式、数据位数和位序;其中波特率为单个数据位宽度的倒数;起始位逻辑即起始位为0还是1,该逻辑值应与mosi常态逻辑相反,即当mosi常态为1时,应将起始位定为0,否则应将起始位定为1;校验方式可选奇校验、偶校验和无校验,当校验方式为奇校验或偶校验时,校验位个数为1,否则校验位个数为0;数据位数即每个数据帧中包含数据位的个数,数据帧由起始位和数据位构成,数据位包含校验位,数据位中除去校验位的部分为原始数据位,当校验方式为无校验时,数据位即为原始数据位;位序即原始数据位的传输顺序,先传输最高有效位msb还是先传输最低有效位lsb,校验位在原始数据位之后传输。
4.如权利要求3所述的利用spi总线传输异步信号的方法,其特征在于,所述步骤3中,主模块按步骤2中设定的异步传输参数,利用spi总线信号线发送异步信号;具体是在保持sclk信号不变的前提下,首先将cs#信号置为低电平,然后在最小起始时延之后通过mosi信号线依次发送各数据帧,在两相邻数据帧之间和最后一个数据帧发送完成后,mosi信号均应恢复常态逻辑。
5.如权利要求4所述的利用spi总线传输异步信号的方法,其特征在于,所述步骤4中,从模块按步骤2中设定的异步传输参数,利用spi总线信号线发送异步信号。
6.如权利要求5所述的利用spi总线传输异步信号的方法,其特征在于,所述步骤4中,在cs#信号变为低电平后,在最小起始时延范围内sclk没有跳变的前提下,从模块通过miso信号线依次发送各数据帧,在两相邻数据帧之间和最后一个数据帧发送完成后,miso信号均应恢复常态逻辑。
7.如权利要求6所述的利用spi总线传输异步信号的方法,其特征在于,所述步骤5中,主模块在数据帧发送完成后,由主模块和从模块的最后一个数据帧传输完成开始,如果在步骤1中设定的最大间隔内没有收到从模块的新数据帧起始位,则将cs#信号置为高电平,完成本次异步信号传输。
8.一种利用spi总线传输异步信号的装置,其特征在于,包括主模块和从模块;
所述主模块包括主spi通讯子模块、主异步通讯子模块、多路选择子模块和主主控子模块,主spi通讯子模块用于实现与从模块的spi通信,主异步通讯子模块用于实现与从模块的异步通信,其异步传输参数由主主控子模块设定,多路选择子模块在主主控子模块的控制实现spi通讯、异步通讯选择功能,主主控子模块控制多路选择子模块选择spi通讯或异步通讯方式,并通过主spi通讯子模块或主异步通讯子模块完成相应方式的数据通信;
所述从模块包括从spi通讯子模块、从异步通讯子模块、通讯判别子模块和从主控子模块,从spi通讯子模块用于实现与主模块的spi通信,从异步通讯子模块用于实现与主模块的异步通信,其异步传输参数由从主控子模块设定,通讯判别子模块用于判断当前通信方式为spi通讯还是异步通信,并将判断结果发送给从主控子模块;从主控子模块根据通讯判别子模块判断的通信方式通过从spi通讯子模块或从异步通讯子模块完成相应方式的数据通信。
9.如权利要求8所述的利用spi总线传输异步信号的方法,其特征在于,还包括:模块间spi总线,由cs#、sclk、mosi、miso四根信号线构成。
10.如权利要求1-7中任一项所述的利用spi总线传输异步信号的方法在信号传输技术领域中的应用。
技术总结