一种三线SPI通信系统和方法技术方案

技术编号:27803741 阅读:16 留言:0更新日期:2021-03-30 09:06
本发明专利技术涉及一种三线SPI通信系统,包括主设备和从设备;所述主设备和从设备通过三根SPI通信线连接,这三根线分别是CS片选线,SCLK时钟线,以及SDA数据线;所述主设备内设置时钟发生器,该时钟发生器的输出端口与SCLK时钟线引脚连接;所述SDA数据线分时传输数据,在按照以下两种方式择一的传输数据:在SCLK时钟线的上升沿执行主设备输出从设备输入,在SCLK时钟线的下降沿执行主设备输入从设备输出;或在时钟信号的上升沿执行主设备输入从设备输出,下降沿执行从设备输入主设备输出;本方案通讯线路减少到3条,从而使主从设备之间物理连接被大大简化。大大简化。大大简化。

【技术实现步骤摘要】
一种三线SPI通信系统和方法


[0001]本申请属于电数据处理领域,特别涉及一种数据信息传送或交换方法的改机。

技术介绍

[0002]标准的SPI通信采用4个IO口来通信,但专用芯片IO口资源太多。传统的SPI总线是四线总线,包括MISO主设备数据输入,从设备数据输出;MOSI,主设备数据输出,从设备数据输入;SCLK 时钟信号,由主设备产生;CS 从设备使能信号,由主设备控制。与从设备交换数据时主设备首先会通过CS片选信号选择一个想要与其通讯的设备,然后在SCLK时钟信号的控制下通过数据线发送和接受数据,主设备会控制整个通讯过程。如果从设备较多,主设备与从设备的连接线就会随从设备的增多而增多,这大大增加了连接的复杂度。在一些应用场合需要为总线增加长线驱动器或是隔离器以增强系统的远程通讯能力或可靠性,如果能够减少串行通讯的总线数量无疑将很有意义。

技术实现思路

[0003]为解决上述技术问题本专利技术提供一种三线SPI通信系统,其包括主设备和从设备;所述主设备和从设备通过三根SPI通信线连接,这三根线分别是CS片选线,SCLK时钟线,以及SDA数据线;所述主设备内设置时钟发生器,该时钟发生器的输出端口与SCLK时钟线引脚连接;所述SDA数据线分时传输数据,在按照以下两种方式择一的传输数据:在SCLK时钟线的上升沿执行主设备输出从设备输入,在SCLK时钟线的下降沿执行主设备输入从设备输出;或在时钟信号的上升沿执行主设备输入从设备输出,下降沿执行从设备输入主设备输出。
[0004]按照上述方案,相当于将四线SPI协议中的MOSI线和MISO线经过分时复用整合到一根数据线中,并且在上升沿执行MOSI在下降沿执行MISO即在同一时钟周期的不同时期同时执行了发送和接收动作,相对于传统的SPI协议并没有损失传输速率。
[0005]优选地,所述主设备为MCU,所述MCU包括分别与所述CS片选线,SCLK时钟线和SDA数据线连接的IO端口引脚;所述MCU通过控制所述IO端口引脚电平,模拟SDA数据线,SCLK时钟线和CS片选线的信号。
[0006]优选地,MCU通过控制所述IO端口引脚电平,模拟SDA数据线,SCLK时钟线的步骤包括:1)初始化SPI协议参数;2)将SDA引脚电平设置为待发送数据位的电平信号;3)将时钟信号设置为高电平;4)将时钟信号设置为低电平;5)将所述SDA引脚电平作为接收数据位。
[0007]优选地,MCU通过控制所述IO端口引脚电平,模拟SDA数据线,SCLK时钟线的步骤包
括:1)初始化SPI协议参数;2)将SDA引脚电平设置为待发送数据位的电平信号;3)将时钟信号设置为低电平;4)将时钟信号设置为高电平;5)将所述SDA引脚电平作为接收数据位。
[0008]优选地,所述主设备内设置主设备移位寄存器,所述从设备内设置从设备移位寄存器;所述主设备移位寄存器和从设备寄存器的输出端和输入端分别连接主设备SDA引脚和从设备SDA引脚;所述主设备和从设备为16位移位寄存器,所述16位移位寄存器每间隔一位设置为有效位。
[0009]优选地,所述主设备内设置第一开关电路连接,所述从设备内设置第二开关电路;所述主设备的移位寄存器的输入和输出端口分别与第一开关电路的第一端口和第二端口连接,第一开关电路的第三端口与SDA引脚连接;所述从设备的移位寄存器的输入和输出端口分别与第二开关电路的第一端口连接和第二端口连接,第二开关电路的第三端口与SDA引脚连接;;在MISO模式下时所述主设备输入从设备输出,所述第一开关电路和第二开关电路共同作用,将所述第二移位寄存器的输出端口与第一移位寄存器的输入端口连接;在MOSI模式下所述从设备输入主设备输出,所述第一开关电路和第二开关电路共同作用,将所述移第一位寄存器输出口与第二移位寄存器的输出端口连接。
[0010]优选地,在MISO模式下所述第一开关电路和第二开关电路的第一端口和第三端口导通;在MOSI模式下所述第一开关电路和第二开关电路第二端口与第三端口导通。
[0011]优选地,所述所述开关电路的驱动信号为时钟信号。
[0012]本专利技术还提供一种三线SPI的通信方法,包括步骤:拉低CS片选信号;在时钟信号上升沿执行主设备输入从设备输出,在时钟信号的下降沿执行从设备输入主设备输出。
[0013]本专利技术还提供另一种三线SPI的通信方法,包括步骤:拉低CS片选信号;在时钟信号的下降沿执行主设备输出从设备输入,在时钟信号的上升沿执行从设备输出主设备输入。
[0014]本专利技术将MISO主设备数据输入从设备数据输出;MOSI主设备数据输出从设备数据输入,两条线进行时分复用合并为一条,在保留SPI四线完整功能的基础上,将通讯线路减少到3条,从而使主从设备之间物理连接被大大简化。由于主从之间的通讯线路数量的减少使得主从设备之间的隔离与驱动的成本大为降低。
附图说明
[0015]图1是主从设备连接方式示意图。
[0016]图2是主从设备通过硬件实现分时传输信号的一种实现方式。
[0017]图3是通信协议时序信号说明图。
[0018]图4是图3中通信协议说明示意图。
具体实施方式
[0019]参照图1所述SPI通信系统包括主设备和从设备,所述主设备和从设备之间为三根SPI通信线连接,这三根根线分别是CS片选线,SCLK时钟线,以及SDA数据线;所述主设备MASTER内设置时钟发生器MCG,该时钟发生器的输出端口与SCLK时钟线引脚连接;所述时钟发生器可通过软件模拟,也可以是硬件时钟发生器。所述CS片选信号线为从设备SPI使能信号线,在传输数据时,主设备首先将该CS片选信号线上的电平拉低,使得相应的从设备进入数据传输状态。所述从设备的可以为一个或多个,当从设备为多个时每个从设备的CS片选信号线都要与主设备的IO端口连接,主设备控制不同的端口可控制不同从设备通信。
[0020]所述SDA数据线分时传输数据,SDA数据线按照以下两种方式择一的传输数据:在时钟总线的上升沿执行主设备输出从设备输入从设备输入,在数据总线的的下降沿执行主设备输入从设备输出;或在时钟信号的上升沿执行主设备输入从设备输出,下降沿执行从设备输入主设备输出。
[0021]所述SDA传输数据可通过软件模拟或硬件的形式实现,以下分别对这两种情况介绍。
[0022]使用软件模拟时所述主设备为MCU,所述MCU包括分别与所述CS片选线SCLK时钟线和SDA数据线连接的IO端口引脚。MCU可通过指令控制所述CS片选线、SCLK时钟线和SDA数据线的电平信号。所述MCU通过控制所述IO端口引脚电平,模拟SDA数据线,SCLK时钟线和CS片选线的信号。
[0023]当MCU按照在SCLK时钟线的上升沿执行主设备MASTER输出从设备SLAVE输入,在SCLK时钟信号的下降沿执行主设备输入从设备输出;这种方法收发数据时MCU通过控制所述IO端口引脚电平,模拟SDA数据线,SCLK时钟线的步骤包括:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种三线SPI通信系统,其包括主设备和从设备;其特征在于,所述主设备和从设备通过三根SPI通信线连接,这三根线分别是CS片选线,SCLK时钟线,以及SDA数据线;所述主设备内设置时钟发生器,该时钟发生器的输出端口与SCLK时钟线引脚连接;所述SDA数据线分时传输数据,其按照以下两种方式择一的传输数据:在SCLK时钟线的上升沿执行主设备输出从设备输入,在SCLK时钟线的下降沿执行主设备输入从设备输出;或在时钟信号的上升沿执行主设备输入从设备输出,下降沿执行从设备输入主设备输出。2.如权利要求1所述的一种三线SPI通信系统,其特征在于,所述主设备为MCU,所述MCU包括分别与所述CS片选线,SCLK时钟线和SDA数据线连接的IO端口引脚;所述MCU通过控制所述IO端口引脚电平,模拟SDA数据线,SCLK时钟线和CS片选线的信号。3.如权利要求2所述的一种三线SPI通信系统,其特征在于,MCU通过控制所述IO端口引脚电平,模拟SDA数据线,SCLK时钟线的步骤包括:1)初始化SPI协议参数;2)将SDA引脚电平设置为待发送数据位的电平信号;3)将时钟信号设置为高电平;4)将时钟信号设置为低电平;5)将所述SDA引脚电平作为接收数据位。4.如权利要求2所述的一种三线SPI通信系统,其特征在于,MCU通过控制所述IO端口引脚电平,模拟SDA数据线,SCLK时钟线的步骤包括:1)初始化SPI协议参数;2)将SDA引脚电平设置为待发送数据位的电平信号;3)将时钟信号设置为低电平;4)将时钟信号设置为高电平;5)将所述SDA引脚电平作为接收数据位。5.如权利要求1所述的一种三线SPI通信系统,其特征在于,所述主设备内设置主设备移位寄存器,所述从设备内设置从设备...

【专利技术属性】
技术研发人员:徐兴李湘春蓝龙伟范进生周晗
申请(专利权)人:苏州锐联芯半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1