增强型SPI控制器、增强型SPI的通讯系统及传送数据方法技术方案

技术编号:7526148 阅读:213 留言:0更新日期:2012-07-12 06:45
本发明专利技术公开一种增强型SPI控制器、增强型SPI的通讯系统及传送数据方法,主要是针对现有SPI总线无法真正做到全双工的问题而设计。本发明专利技术在现有SPI控制器上添加一通过发出写信号来单独控制所述增强型SPI控制器数据发送的发送控制状态机,以及一通过读信号来单独控制所述增强型SPI控制器数据接收的接收控制状态机;或在现有SPI接口方法的基础上,增加两个控制信号,即读信号RD#和写信号WR#,通过这两个信号来触发对SPI接口的SDI信号的采样和对SDO信号的采样,相当于两套独立的状态机控制读和写。本发明专利技术支持真正的全双工通信,支持高速的数据访问,且控制软件实现比较简单,便于移植,尤其适合于高速MODEM和AP之间的数据通信。

【技术实现步骤摘要】

本专利技术涉及串行通讯技术,尤其涉及一种SPI接口(总线)技术。
技术介绍
随着无线通信技术突飞猛进的发展,特别是3G技术的成熟,以及即将到来的LTE 宽带无线通信技术,使得无线数据的上下行传输速率迅速提高,下行传输速度达到了几M 甚至IOOMbps的水平,上行传输速度也达到了几M到几十Mbps的水平。2G时代的利用标准 RS232即UART接口在MODEM和AP之间进行数据传输的通信技术在速率上已经无法满足现阶段无线数据传输速率的要求。目前大多数3G MODEM和AP之间都采用了 USB接口技术或者UART接口技术作为3G高速MODEM和AP之间的通信接口,但这两种技术的缺陷都非常明MoUSB接口技术,虽然在PC上获得了广泛的应用,但对于手机终端而言,由于其软件移植的复杂性,以及工作量巨大,AP和MODEM基带芯片往往由于软件问题使得产品上市计划延期,USB技术的软件复杂性已经成为其作为未来高速MODEM和AP之间的通讯接口的巨大障碍。UART接口技术,基于其异步传输异步采样的基本原理,为保证UART数据传输的稳定性,其内部采样速率一般都要求达到接口能够支持的波特率的14倍左右,而芯片内部控制器的时钟采样率一般最高也只能够做到100M 200M左右,这样就导致UART接口速率最多只能做到不到20Mbps的波特率。这种速率对于现有的3G技术,还基本够用,但到了 LTE, 当MODEM和AP之间的通信速率要求达到50Mbps甚至更高时,UART传输技术将会无能为力。而SPI接口技术具有高速的,全双工且同步的特点,现在越来越多的芯片集成了这种通信接口。SPI控制器能够支持全双工模式,即在主设备发送数据给从设备时,也同时在接收从设备发送给主设备的数据,收发是同时进行的。但它也存在一些弊端,当从设备没有数据需要发送给主设备时,主设备依然接收从设备发送的数据导致其接收的数据都是一些废弃的数据,而主设备又无法判别这些收到的数据到底是不是无效数据。因此在实际使用中,SPI控制器基本无法做到真正的有效数据收发同时进行,即无法实现真正的全双工。目前在实际系统使用中要么将SPI配置成半双工传输模式用,要么需要两个SPI接口, 一个作为收、一个作为发来实现真正的全双工传输。一般而言,传统的SPI控制器有三种传输模式收发模式,仅发模式和仅收模式, 其接口一般只有四根信号线,如图1所示传统的SPI接口框图。从图中可以看出,MASTER 和SLAVE之间虽然输出数据线和输入数据线分开独立,即有单独的SDO和SDI信号线。但由于没有控制数据有效的信号,当控制器配置为收发模式时,MASTER端或者SLAVE端对SDI 进行读取采样的同时,也通过接口时钟输出可能有效也可能无效的SD0。同理,当MASTER端或者SLAVE端在通过SCLK时钟输出SDO数据时,也对SDI上的可能是无效的也可能是有效的数据进行了采样,这就导致无法清楚区分SDI和SDO上的有效数据和无效数据,因此无法将一个SPI接口应用到需要全双工通信的MODEM和AP之间进行数据通信的场合。具体来讲,传统的SPI接口标准,当MASTER端需要对SLAVE端进行写访问时, MASTER端将会在从设备使能信号CS#有效后的第一个时钟信号SLCK的上升沿将数据输出到SDO线上,而SLAVE端则在第一个时钟信号SLCK的下降沿开始采样输入数据。但由于在输出的同时,MASTER端也同时对其侧的SDI数据线进行采样,如果SDI数据线上确实是 SLAVE侧要发送给MASTER的,那也就能够实现对SLAVE进行写的同时,也对SLAVE进行读。 但往往MASTER对SLAVE端的写和读的触发不是同时触发的,即在的TO时刻(如图2所示), MASTER端发起了对SLAVE端的写访问,但在Tl时刻,MASTER端才有对SLAVE端进行读访问的请求。这样就导致了 MASTER端无法判别哪些数据是Tl时间段后发出的有效数据,哪些数据是TO和Tl时刻之间采样到的无效数据。同理,当MASTER对于SLAVE进行读访问的同时,也同时将发送FIFO缓冲器中的无效数据一起输到了 SDO数据线上,导致SLAVE侧也无法区分其SDI数据线上的数据到底是有效数据还是无效数据,总之,在这种通信模式下, SDO数据线和SDI数据线上的有效和无效数据无法正确区分,因此就无法实现真正的全双工数据传输。
技术实现思路
针对上述问题,本专利技术提供一种支持真正全双工的增强型SPI控制器、基于增强型SPI的通讯系统及主设备以及从设备之间传送数据的方法。为达到上述目的,本专利技术增强型SPI的通讯系统,包括主设备和至少一个从设备, 所述的主设备与所述的从设备通过SPI总线进行通讯,所述的主设备还向从设备输出读控制信号和写控制信号;其中,当读控制信号有效时,主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;当写控制信号有效时,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;当读控制信号和写控制信号同时有效时,主设备和从设备之间则相互同时发送和接收数据。为达到上述目的,本专利技术传送数据的方法,所述的主设备与所述的从设备通过SPI 总线进行通讯,其特征在于所述方法包括主设备依据通讯需求向从设备输出读和/或写信号,主设备依据该信号接收从从设备发出的数据和/或向从设备发送数据,从设备则依据该信号向主设备发送数据和/或接收从主设备发出的数据。特别是,所述方法具体为如果主设备试图仅从从设备中接收数据,则主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;如果主设备试图仅向从设备中发送数据,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;如果主设备试图向从设备中发送数据和从从设备中接收数据,则主设备和从设备之间则相互同时发送和接收数据。特别是,所述方法具体为如果主设备试图仅从从设备中接收数据,则主设备仅使接收缓存有效,从设备仅使发送缓存有效,主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;如果主设备试图仅向从设备中发送数据,则主设备仅使发送缓存有效,从设备仅使接收缓存有效,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;如果主设备试图向从设备中发送数据和从从设备中接收数据,则主设备和从设备同时使其发送缓存和接收缓存同时有效,则主设备和从设备之间则相互同时发送和接收数据。为达到上述目的,本专利技术增强型SPI控制器,所述增强型SPI控制器至少包括总线接口模块,发送移位寄存器,接收移位寄存器,发送FIFO缓冲器,接收FIFO缓冲器,发送控制状态机和接收控制状态机;其中,总线接口模块,接收设备经总线输入的读和/或写控制指令,并依据该指令控制所述接收控制状态机和/或发送控制状态机发出读和/或写信号;发送控制状态机,接收所述总线接口模块输出的控制指令,并依据该控制指令发出或不发出写信号;接收控制状态机,接收所述总线接口模块输出的控制指令,并依据该控制指令发出或不发出读信号;发送移位寄存器,接收所述发送FIFO缓冲器输入的数据,并在所述发送控制状态机发出写信号后在所述时钟分频器输出的串行时钟信号的控制下,将数据对外输出;所述接收移位寄存器,在所述接收控制状态机发出读信号后在所述时钟分频器输出的串行时钟信号的控制下接收外本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:史公正
申请(专利权)人:联芯科技有限公司
类型:发明
国别省市:

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

1
相关领域技术