CN102567261A - 增强型spi控制器、增强型spi的通讯系统及传送数据方法 - Google Patents
增强型spi控制器、增强型spi的通讯系统及传送数据方法 Download PDFInfo
- Publication number
- CN102567261A CN102567261A CN2010106200304A CN201010620030A CN102567261A CN 102567261 A CN102567261 A CN 102567261A CN 2010106200304 A CN2010106200304 A CN 2010106200304A CN 201010620030 A CN201010620030 A CN 201010620030A CN 102567261 A CN102567261 A CN 102567261A
- Authority
- CN
- China
- Prior art keywords
- data
- master device
- slave device
- signal
- slave
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000002093 peripheral effect Effects 0.000 title abstract description 8
- 239000000872 buffer Substances 0.000 claims description 34
- 238000005070 sampling Methods 0.000 abstract description 9
- 230000001960 triggered effect Effects 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000000630 rising effect Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开一种增强型SPI控制器、增强型SPI的通讯系统及传送数据方法,主要是针对现有SPI总线无法真正做到全双工的问题而设计。本发明在现有SPI控制器上添加一通过发出写信号来单独控制所述增强型SPI控制器数据发送的发送控制状态机,以及一通过读信号来单独控制所述增强型SPI控制器数据接收的接收控制状态机;或在现有SPI接口方法的基础上,增加两个控制信号,即读信号RD#和写信号WR#,通过这两个信号来触发对SPI接口的SDI信号的采样和对SDO信号的采样,相当于两套独立的状态机控制读和写。本发明支持真正的全双工通信,支持高速的数据访问,且控制软件实现比较简单,便于移植,尤其适合于高速MODEM和AP之间的数据通信。
Description
技术领域
本发明涉及串行通讯技术,尤其涉及一种SPI接口(总线)技术。
背景技术
随着无线通信技术突飞猛进的发展,特别是3G技术的成熟,以及即将到来的LTE宽带无线通信技术,使得无线数据的上下行传输速率迅速提高,下行传输速度达到了几M甚至100Mbps的水平,上行传输速度也达到了几M到几十Mbps的水平。2G时代的利用标准RS232即UART接口在MODEM和AP之间进行数据传输的通信技术在速率上已经无法满足现阶段无线数据传输速率的要求。目前大多数3G MODEM和AP之间都采用了USB接口技术或者UART接口技术作为3G高速MODEM和AP之间的通信接口,但这两种技术的缺陷都非常明显。
USB接口技术,虽然在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进行读取采样的同时,也通过接口时钟输出可能有效也可能无效的SDO。同理,当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端的写和读的触发不是同时触发的,即在的T0时刻(如图2所示),MASTER端发起了对SLAVE端的写访问,但在T1时刻,MASTER端才有对SLAVE端进行读访问的请求。这样就导致了MASTER端无法判别哪些数据是T1时间段后发出的有效数据,哪些数据是T0和T1时刻之间采样到的无效数据。同理,当MASTER对于SLAVE进行读访问的同时,也同时将发送 FIFO缓冲器中的无效数据一起输到了SDO数据线上,导致SLAVE侧也无法区分其SDI数据线上的数据到底是有效数据还是无效数据,总之,在这种通信模式下,SDO数据线和SDI数据线上的有效和无效数据无法正确区分,因此就无法实现真正的全双工数据传输。
发明内容
针对上述问题,本发明提供一种支持真正全双工的增强型SPI控制器、基于增强型SPI的通讯系统及主设备以及从设备之间传送数据的方法。
为达到上述目的,本发明增强型SPI的通讯系统,包括主设备和至少一个从设备,所述的主设备与所述的从设备通过SPI总线进行通讯,所述的主设备还向从设备输出读控制信号和写控制信号;其中,当读控制信号有效时,主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;当写控制信号有效时,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;当读控制信号和写控制信号同时有效时,主设备和从设备之间则相互同时发送和接收数据。
为达到上述目的,本发明传送数据的方法,所述的主设备与所述的从设备通过SPI总线进行通讯,其特征在于:所述方法包括:
主设备依据通讯需求向从设备输出读和/或写信号,主设备依据该信号接收从从设备发出的数据和/或向从设备发送数据,从设备则依据该信号向主设备发送数据和/或接收从主设备发出的数据。
特别是,所述方法具体为:
如果主设备试图仅从从设备中接收数据,则主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;
如果主设备试图仅向从设备中发送数据,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;
如果主设备试图向从设备中发送数据和从从设备中接收数据,则主设备和从设备之间则相互同时发送和接收数据。
特别是,所述方法具体为:
如果主设备试图仅从从设备中接收数据,则主设备仅使接收缓存有效,从设备仅使发送缓存有效,主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;
如果主设备试图仅向从设备中发送数据,则主设备仅使发送缓存有效,从设备仅使接收缓存有效,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;
如果主设备试图向从设备中发送数据和从从设备中接收数据,则主设备和从设备同时使其发送缓存和接收缓存同时有效,则主设备和从设备之间则相互同时发送和接收数据。
为达到上述目的,本发明增强型SPI控制器,所述增强型SPI控制器至少包括:总线接口模块,发送移位寄存器,接收移位寄存器,发送FIFO缓冲器,接收FIFO缓冲器,发送控制状态机和接收控制状态机;其中,
总线接口模块,接收设备经总线输入的读和/或写控制指令,并依据该指令控制所述接收控制状态机和/或发送控制状态机发出读和/或写信号;
发送控制状态机,接收所述总线接口模块输出的控制指令,并依据该控制指令发出或不发出写信号;
接收控制状态机,接收所述总线接口模块输出的控制指令,并依据该控制指令发出或不发出读信号;
发送移位寄存器,接收所述发送FIFO缓冲器输入的数据,并在所述发送控制状态机发出写信号后在所述时钟分频器输出的串行时钟信号的控制下,将数据对外输出;
所述接收移位寄存器,在所述接收控制状态机发出读信号后在所述时钟分频器输出的串行时钟信号的控制下接收外部设备发送的数据;
所述发送FIFO缓冲器,接收经所述总线接口模块输出的待发送的数据;
所述接收FIFO缓冲器,接收所述接收移位寄存器输出的数据,并将接收到的数据输入到总线接口模块中。
本发明基于现有SPI通信技术简单实用,且同步高速传输的特点,在现有 SPI接口协议的基础上,增加两个控制信号,即读信号RD#和写信号WR#;或通过在现有SPI控制器上添加一通过发出写信号来单独控制所述增强型SPI控制器数据发送的发送控制状态机以及一通过读信号来单独控制所述增强型SPI控制器数据接收的接收控制状态机;分别控制对SPI接口的SDI信号的采样和对SDO信号的采样。当SPI接口只需要读时只需要触发读信号RD#有效;当SPI接口只需要写时只需要触发写信号WR#有效;当SPI接口真正需要读写同时进行时,则同时触发读信号RD#和写信号WR#有效;进而避免了传统SPI为了实现读写同时进行而不得不在只需要读时却将无效数据输出,或在只需要写时却采样了无效的输入数据的问题。因此,本发明使得MASTER对于SLAVE的读写操作完全独立,即实现了真正意义SPI全双工通信。
另外,本发明基于现有SPI方法同步传输采样时钟的频率基本等同于传输波特率的特点,采用上述增强型SPI通讯方法规范优化现有SPI接口协议和现有SPI控制器,使得SPI接口的传输速率大大提高,至少可以达到类似SDRAM接口所能达到的130MHz工作时钟。
本发明相对于传统的SPI和USB等通信接口方法,其具有以下几点优点:
1、能够支持真正的全双工通信,从而使得本发明所述增强型SPI(以下简称ESPI)可以应用于MODEM和AP之间的通信。
2、本发明充分利用同步BURST模式的优点,能够支持高速的数据访问,最大帧长度上行下行访问带宽可以分别达到122Mbps,即总带宽最高可达到244Mbps,高于传统的SPI访问速率,甚至优于USB2.0 High Speed实际应用中所能达到的速率;
3、本发明的控制软件实现比较简单,便于移植,特别适合于AP和高速MODEM之间的数据通信。
附图说明
图1为传统的SPI接口信号框图;
图2为传统的SPI工作时序图;
图3为本发明所述增强型SPI控制器的原理框图;
图4为本发明所述增强型SPI的通讯系统的接口框图;
图5为本发明所述增强型SPI一具体实施例工作时序图;
图6为本发明所述增强型SPI的通讯系统的一实施例框图;
图7为本发明所述增强型SPI的通讯系统的一实施例的通讯流程图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式做详细描述。
本发明是基于现有SPI接口(总线)技术的改进。如图3所示,本发明所述增强型SPI(简称ESPI)控制器的原理框图。如图所述增强型SPI控制器包括:时钟分频器1,发送移位寄存器2,接收移位寄存器3,发送FIFO缓冲器4,接收FIFO缓冲器5,总线接口模块6,通过发出写信号来控制所述增强型SPI控制器的数据发送的发送控制状态机7和通过发出读信号来控制所述增强型SPI控制器的数据接收的接收控制状态机8。
其中,时钟分频器1,将经总线接口模块6输入的时钟信号转变为串行时钟信号,并对外输出;
总线接口模块6,接收设备经总线输入的读和/或写控制指令,并依据该指令控制所述接收控制状态机8和/或发送控制状态机7发出读和/或写信号;
发送控制状态机7,接收所述总线接口模块6输出的控制指令,并依据该控制指令发出或不发出写信号;
接收控制状态机8,接收所述总线接口模块6输出的控制指令,并依据该控制指令发出或不发出读信号;
发送移位寄存器2,接收所述发送FIFO缓冲器4输入的数据,并在所述发送控制状态机7发出写信号后在所述时钟分频器1输出的串行时钟信号的控制下,将数据对外输出;
所述接收移位寄存器3,在所述接收控制状态机8发出读信号后在所述时钟分频器1输出的串行时钟信号的控制下接收外部设备发送的数据;
所述发送FIFO缓冲器4,接收经所述总线接口模块6输出的待发送的数据;
所述接收FIFO缓冲器5,接收所述接收移位寄存器3输出的数据,并将接 收到的数据输入到总线接口模块6中。
与传统的SPI控制器相比,ESPI控制器有两个控制状态机,即发送控制状态机7和接收控制状态机8,实现发送和接收的独立控制。当只需要数据发送时,发送控制状态机7工作发出写信号WR#,写信号WR#有效从设备使能信号CS#即有效,此时,接收控制状态机8不工作,即读信号RD#处于无效状态。当只有数据接收时,接收控制状态机8工作发出读信号RD#,读信号RD#有效从设备使能信号CS#即有效,此时,发送控制状态机7不工作,即写信号WR#处于无效状态。
本发明基于增强型SPI的通讯系统,是在上述增强型SPI(简称ESPI)控制器基础上实现的,其包括主设备和至少一个从设备,所述的主设备与所述的从设备通过SPI总线进行通讯,所述的主设备还向从设备输出读控制信号和写控制信号;其中,当读控制信号有效时,主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;当写控制信号有效时,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;当读控制信号和写控制信号同时有效时,主设备和从设备之间则相互同时发送和接收数据。
本发明增强型SPI的通讯系统以及增强型SPI控制器的工作原理如下:
主设备(MASTER)CPU或者DMA通过外围总线APB对设置在主设备内的ESPI控制器发起对从设备(SLAVE)的写访问时,其实质就是对发送FIFO缓冲器4进行写操作,此时外围总线APB的写控制信号通过外围总线接口模块实现对控制状态机的控制,即发送控制状态机7开始工作而接收控制状态机8不工作。发送控制状态机7一旦开始工作则将检查发送FIFO缓冲器4内是否有有效数据,如果有有效数据,则通过其内部总线时钟将发送FIFO缓冲器4内的数据输到发送移位寄存器2中;然后,在写信号WR#有效后的第一个时钟信号SCLK上升沿开始控制发送移位寄存器2的数据按字节(bit)移出到SDO信号线上,其余数据依次在下一个时钟信号SCLK的上升沿1个字节1个字节的移出。SLAVE端的接收控制状态机则在其写信号WR#有效时开始工作,并在写信号WR#有效后,控制其接收控制状态机开始工作,即通过时钟信号SCLK的下 降沿对其侧的SDI(MASTER侧的SDO)数据进行采样。
类似的,如果MASTER要对SLAVE进行读操作,则MASTER的读控制信号经外围总线APB传输到外围总线接口模块控制所述接收控制状态机8开始工作,SLAVE侧的ESPI接口监测到MASTER侧的的ESPI接口的读信号RD#有效后,即将其之前准备好的发送FIFO缓冲器中的数据准备输到其侧的SDO(MASTER端的SDI)信号上,此时,MASTER端即可对此信号进行采样读取。
SLAVE侧的ESPI控制器实现机理与MASTER侧类似,只是RD#,WR#,SCLK和CS#四个信号变为输入信号,其中CS#和RD#一起协同来控制接收状态机工作,CS#和WR#信号一起协同控制发送状态机工作,而SCLK作为接收通道和发送通道的发送移位寄存器和接收移位寄存器的工作时钟。
为了提高传输效率,将所述MASTER端和SLAVE端的ESPI控制器的发送FIFO缓冲器的深度均设定为16,宽度均设定为32,数据帧宽度最大可设置为32。假定MASTER端控制每次数据发送或接收时的两个相邻的数据帧之间的时间间隔为2,时钟信号SCLK为最高的130MHz,其发送传输效率和接收传输效率都能够达到130M*32bit/34,即约为122Mbps的有效波特率,上下行总计带宽配置为244Mbps,这样的传输效率要比USB2.0High Speed的有效传输速度高出很多。
如图4所示,本发明所述增强型SPI的通讯系统的接口框图。由图可见,本发明所述增强型SPI通讯系统,包括主设备和一个或多个从设备,主设备和从设备之间需要6根线连接:
(1)SDO-数据输出;
(2)SDI-数据输入;
(3)SCLK-时钟信号,由主设备产生;
(4)CS#-从设备使能信号,WR#和RD#任意一个有效,CS#即有效;
(5)WR#-写信号,由主设备控制发出;
(6)RD#-读信号,由主设备控制发出。
与传统的SPI接口标准相比,所述的增强型SPI控制器的接口增加了2个用于区分读写操作的接口控制信号读信号RD#和写信号WR#,并允许读写同时进行,这两个信号都是由MASTER端输出,而SLAVE端则根据这两个信号是否有效来判别是否输出SDO信号或者是否采样输入SDI信号。
如图5所示,本发明所述增强型SPI一具体实施例工作时序图。读信号RD#信号或者写信号WR#任意一个有效时,从设备使能信号CS#均有效。如图所示,当WR#信号有效时,MASTER端将开始在写信号WR#信号下降沿开始之后的第一个时钟信号SCLK上升沿(图示T0)将数据输出,但并不对SDI信号进行输入采样。此时,SLAVE端则控制其接收控制状态机在写信号WR#信号下降沿开始之后的第一个时钟信号SCLK下降沿(图示T0’)对SDI信号进行采样,但并不输出SDO。
在MASTER对SLAVE进行写访问的过程中,MASTER同时又有对SLAVE进行读访问的请求,此时MASTER端的接收控制状态机发出RD#信号有效,而一旦RD#信号有效,SLAVE侧将在RD#信号有效的第一个SCLK上升沿(图示T1’)将数据输到SDO信号上,而MASTER端则将在RD#信号有效的第一个SCLK下降沿(图示T1)开始采样SDI上的输入数据。由于增加了两个控制信号读信号RD#和写信号WR#,这样就使得MASTER端和SLAVE端对于SDO信号和SDI信号的采样均为有效数据,从而软件在读写访问时,将不需要再用复杂的控制方法来辨别哪些数据是有效数据,哪些数据是无效数据,只要正常处理发送数据和接收数据即可。
综上可看出,本发明中传送数据方法是:如果主设备试图仅从从设备中接收数据,则主设备仅使接收缓存有效,从设备仅使发送缓存有效,主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;如果主设备试图仅从从设备中发送数据,则主设备仅使发送缓存有效,从设备仅使接收缓存有效,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;如果主设备试图向从设备中发送数据和从从设备中接收数据,则主设备和从设备同时使其发送缓存和接收缓存同时有效,则主设备和从设备之间则相互同时发送和接收数据。
下面结合另一具体实施例对本发明所述增强型SPI的通讯系统以及传送数据方法作进一步地说明。
本实施例是应用增强型ESPI实现应用处理器10(AP,Application Processor)和MODEM处理器9之间的高速数据通信,MODEM9为MASTER,即主设备,AP10为SLAVE,即从设备。
该增强型SPI的通讯系统包括主设备MODEM9和从设备AP10,所述从设备AP10经SPI总线与所述主设备MODEM9进行通讯,所述主设备MODEM9和所述从设备AP10均设有增强型SPI控制器。如图6所示主设备MODEM9和从设备AP10的增强型SPI接口连接示意图。
该通讯系统的通信流程如图7所示:
(1)初始化主设备MODEM9侧和从设备AP10侧的ESPI接口,并依据主设备MODEM9和从设备AP10双方预先约定的数据包头大小配置各侧的接收通道(即接收数据包头的接收DMA);
(2)主设备MODEM9依据通讯需求分别控制其侧的ESPI控制器的发送控制状态机和接收控制状态机发出写信号和读信号,从设备AP10依据该信号与主设备MODEM9进行数据通讯。
2.1当主设备MODEM9控制其侧的ESPI控制器的发送控制状态机发出写信号有效时,从设备使能信号CS#有效;
主设备MODEM9直接向从设备AP10发送数据包头;
从设备AP10解析接收到的数据包头并依据解析信息配置用于接收有效数据包的接收通道(即接收DMA),待从设备AP10配置好后,再通过GPIO_Rx_Req的上升沿中断来通知MODEM9侧可以开始发送有效数据包;
主设备MODEM9向从设备AP10发送有效数据包;
从设备AP10接收完毕后将其侧的ESPI控制器的接收通道(即接收DMA)配置为准备接收数据包头的状态,并将GPIO_Rx_Req管脚配置为低电平以准备下一次数据包的接收。
2.2当主设备MODEM9控制ESPI控制器的接收控制状态机发出读信号时, 从设备使能信号CS#有效;
从设备AP10配置要发送的数据包头以及发送数据包头的发送通道(即发送DMA),并通过GPIO_Tx_Req的上升沿中断来通知主设备MODEM9准备进行数据包头的接收;
主设备MODEM9将接收数据包头的ESPI控制器的接收通道(即接收DMA)配置好并启动后,从设备AP10开始将配置好后的数据包头以DMA或CPU写的方式发送给主设备MODEM9;
主设备MODEM9在完成数据包头信息的接收后,主设备MODEM9的ESPI控制器的接收控制状态机停止发出读信号,此时从设备使能信号CS#无效,从设备AP10发送完数据包头信息后也将GPIO_Tx_Req管脚配置为低电平以处于IDLE状态;
主设备MODEM9根据收到的包头信息解析出要接收的数据包类型以及长度后,待接收到从设备AP10发送GPIO_Tx_Req的上升沿中断后主设备MODEM9再次以DMA的方式配置接收有效数据包的接收通道(即接收DMA);
主设备MODEM9配置好后,主设备MODEM9控制接收控制状态机发出读信号有效,从设备使能信号CS#有效,从设备AP10开始向主设备MODEM9发送有效数据包;
主设备MODEM9接收完成后将其侧的ESPI控制器的接收通道配置为初始化准备接收数据包头的状态,以备下一次数据的接收,从设备AP10侧发送完后将GPIO_Tx_Req管脚配置为低电平。
主设备MODEM9可先后或同时控制ESPI控制器的接收控制状态机和发送控制状态机发出读信号和写信号,其实现步骤同上述相应的步骤2.1和步骤2.2,即步骤2.1和步骤2.2可先后进行,也可同时进行。
本发明所述增强型SPI真正实现了全双工,避免了传统SPI在全双工通讯中无法清楚区分有效数据和无效数据的问题。
以上,仅为本发明的较佳实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化 或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。
Claims (5)
1.一种增强型SPI的通讯系统,包括主设备和至少一个从设备,所述的主设备与所述的从设备通过SPI总线进行通讯,其特征在于:所述的主设备还向从设备输出读控制信号和写控制信号;其中,当读控制信号有效时,主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;当写控制信号有效时,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;当读控制信号和写控制信号同时有效时,主设备和从设备之间则相互同时发送和接收数据。
2.一种传送数据方法,所述的主设备与所述的从设备通过SPI总线进行通讯,其特征在于:所述方法包括:
主设备依据通讯需求向从设备输出读和/或写信号,主设备依据该信号接收从从设备发出的数据和/或向从设备发送数据,从设备则依据该信号向主设备发送数据和/或接收从主设备发出的数据。
3.如权利要求2所述的传送数据方法,其特征在于:所述方法具体为:
如果主设备试图仅从从设备中接收数据,则主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;
如果主设备试图仅向从设备中发送数据,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;
如果主设备试图向从设备中发送数据和从从设备中接收数据,则主设备和从设备之间则相互同时发送和接收数据。
4.如权利要求3所述的传送数据方法,其特征在于:所述方法具体为:
如果主设备试图仅从从设备中接收数据,则主设备仅使接收缓存有效,从设备仅使发送缓存有效,主设备仅从从设备中接收数据,从设备则仅向主设备发送数据;
如果主设备试图仅从从设备中发送数据,则主设备仅使发送缓存有效,从设备仅使接收缓存有效,主设备仅向从设备中发送数据,从设备则仅从主设备接收数据;
如果主设备试图向从设备中发送数据和从从设备中接收数据,则主设备和从设备同时使其发送缓存和接收缓存同时有效,则主设备和从设备之间则相互同时发送和接收数据。
5.一种增强型SPI控制器,其特征在于,所述增强型SPI控制器至少包括:总线接口模块,发送移位寄存器,接收移位寄存器,发送FIFO缓冲器,接收FIFO缓冲器,发送控制状态机和接收控制状态机;其中,
总线接口模块,接收设备经总线输入的读和/或写控制指令,并依据该指令控制所述接收控制状态机和/或发送控制状态机发出读和/或写信号;
发送控制状态机,接收所述总线接口模块输出的控制指令,并依据该控制指令发出或不发出写信号;
接收控制状态机,接收所述总线接口模块输出的控制指令,并依据该控制指令发出或不发出读信号;
发送移位寄存器,接收所述发送FIFO缓冲器输入的数据,并在所述发送控制状态机发出写信号后在所述时钟分频器输出的串行时钟信号的控制下,将数据对外输出;
所述接收移位寄存器,在所述接收控制状态机发出读信号后在所述时钟分频器输出的串行时钟信号的控制下接收外部设备发送的数据;
所述发送FIFO缓冲器,接收经所述总线接口模块输出的待发送的数据;
所述接收FIFO缓冲器,接收所述接收移位寄存器输出的数据,并将接收到的数据输入到总线接口模块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010620030.4A CN102567261B (zh) | 2010-12-31 | 2010-12-31 | 增强型spi控制器、增强型spi的通讯系统及传送数据方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010620030.4A CN102567261B (zh) | 2010-12-31 | 2010-12-31 | 增强型spi控制器、增强型spi的通讯系统及传送数据方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102567261A true CN102567261A (zh) | 2012-07-11 |
CN102567261B CN102567261B (zh) | 2015-08-12 |
Family
ID=46412711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010620030.4A Active CN102567261B (zh) | 2010-12-31 | 2010-12-31 | 增强型spi控制器、增强型spi的通讯系统及传送数据方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567261B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111902A (zh) * | 2013-04-19 | 2014-10-22 | 联芯科技有限公司 | 基于双倍速率同步动态随机存储器接口的通信系统及方法 |
CN107436857A (zh) * | 2017-07-31 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种增强型spi装置及利用该装置进行数据传输的方法 |
CN111490920A (zh) * | 2019-01-29 | 2020-08-04 | 杭州海康汽车技术有限公司 | 一种基于spi的数据传输方法、系统及装置 |
CN111522770A (zh) * | 2020-04-27 | 2020-08-11 | 成都汇蓉国科微系统技术有限公司 | 基于fpga的参数化配置的spi控制器及使用方法 |
CN111522769A (zh) * | 2020-03-26 | 2020-08-11 | 成都天箭科技股份有限公司 | 一种多线程spi通信数据传输方法 |
CN111565444A (zh) * | 2020-05-26 | 2020-08-21 | 展讯通信(上海)有限公司 | 一种通信装置 |
CN111639043A (zh) * | 2020-06-05 | 2020-09-08 | 展讯通信(上海)有限公司 | 一种通信装置 |
CN111970499A (zh) * | 2020-08-06 | 2020-11-20 | 杭州电子科技大学 | 一种基于rgif vdma的多路3g-sdi光端机数据解复用方法 |
CN112004291A (zh) * | 2020-06-05 | 2020-11-27 | 深圳市信锐网科技术有限公司 | 串行码流控制电路、方法及电子设备 |
CN112035399A (zh) * | 2020-08-26 | 2020-12-04 | 天津津航计算技术研究所 | 一种基于fpga的spi从机模块实现方法 |
CN112052213A (zh) * | 2020-10-10 | 2020-12-08 | 乐鑫信息科技(上海)股份有限公司 | 增强型spi控制器以及操作spi控制器的方法 |
CN112987690A (zh) * | 2021-02-25 | 2021-06-18 | 山东英信计算机技术有限公司 | 一种espi控制器验证系统及方法 |
CN113079073A (zh) * | 2020-01-06 | 2021-07-06 | 广州汽车集团股份有限公司 | 一种基于spi的全双工通信装置及其通信方法 |
CN114443524A (zh) * | 2022-01-28 | 2022-05-06 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、系统、存储介质及设备 |
CN114880270A (zh) * | 2022-06-02 | 2022-08-09 | 厦门紫光展锐科技有限公司 | Spi设备及其数据传输方法 |
WO2024178923A1 (zh) * | 2023-02-28 | 2024-09-06 | 比亚迪股份有限公司 | 基于spi的数据传输方法、芯片、控制器及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2750381Y (zh) * | 2004-09-15 | 2006-01-04 | 北京中星微电子有限公司 | 串行通信总线外部设备接口 |
CN1851682A (zh) * | 2006-03-28 | 2006-10-25 | 华为技术有限公司 | 一种串行外设接口的实现方法 |
-
2010
- 2010-12-31 CN CN201010620030.4A patent/CN102567261B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2750381Y (zh) * | 2004-09-15 | 2006-01-04 | 北京中星微电子有限公司 | 串行通信总线外部设备接口 |
CN1851682A (zh) * | 2006-03-28 | 2006-10-25 | 华为技术有限公司 | 一种串行外设接口的实现方法 |
Non-Patent Citations (2)
Title |
---|
包海涛: "《超低压Soc处理器C8051F9xx应用解析》", 31 May 2010, 北京航空航天大学出版社 * |
喻小虎,咸德勇,陈华明: "专用SPI设备接口电路设计", 《微处理机》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111902B (zh) * | 2013-04-19 | 2017-12-19 | 联芯科技有限公司 | 基于双倍速率同步动态随机存储器接口的通信系统及方法 |
CN104111902A (zh) * | 2013-04-19 | 2014-10-22 | 联芯科技有限公司 | 基于双倍速率同步动态随机存储器接口的通信系统及方法 |
CN107436857A (zh) * | 2017-07-31 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种增强型spi装置及利用该装置进行数据传输的方法 |
CN111490920A (zh) * | 2019-01-29 | 2020-08-04 | 杭州海康汽车技术有限公司 | 一种基于spi的数据传输方法、系统及装置 |
CN113079073A (zh) * | 2020-01-06 | 2021-07-06 | 广州汽车集团股份有限公司 | 一种基于spi的全双工通信装置及其通信方法 |
CN111522769A (zh) * | 2020-03-26 | 2020-08-11 | 成都天箭科技股份有限公司 | 一种多线程spi通信数据传输方法 |
CN111522769B (zh) * | 2020-03-26 | 2023-05-26 | 成都天箭科技股份有限公司 | 一种多线程spi通信数据传输方法 |
CN111522770A (zh) * | 2020-04-27 | 2020-08-11 | 成都汇蓉国科微系统技术有限公司 | 基于fpga的参数化配置的spi控制器及使用方法 |
CN111522770B (zh) * | 2020-04-27 | 2022-03-11 | 成都汇蓉国科微系统技术有限公司 | 基于fpga的参数化配置的spi控制器及使用方法 |
CN111565444A (zh) * | 2020-05-26 | 2020-08-21 | 展讯通信(上海)有限公司 | 一种通信装置 |
CN112004291B (zh) * | 2020-06-05 | 2022-03-25 | 深圳市信锐网科技术有限公司 | 串行码流控制电路、方法及电子设备 |
CN112004291A (zh) * | 2020-06-05 | 2020-11-27 | 深圳市信锐网科技术有限公司 | 串行码流控制电路、方法及电子设备 |
CN111639043A (zh) * | 2020-06-05 | 2020-09-08 | 展讯通信(上海)有限公司 | 一种通信装置 |
CN111970499A (zh) * | 2020-08-06 | 2020-11-20 | 杭州电子科技大学 | 一种基于rgif vdma的多路3g-sdi光端机数据解复用方法 |
CN112035399A (zh) * | 2020-08-26 | 2020-12-04 | 天津津航计算技术研究所 | 一种基于fpga的spi从机模块实现方法 |
CN112052213A (zh) * | 2020-10-10 | 2020-12-08 | 乐鑫信息科技(上海)股份有限公司 | 增强型spi控制器以及操作spi控制器的方法 |
CN112987690A (zh) * | 2021-02-25 | 2021-06-18 | 山东英信计算机技术有限公司 | 一种espi控制器验证系统及方法 |
CN112987690B (zh) * | 2021-02-25 | 2022-05-24 | 山东英信计算机技术有限公司 | 一种espi控制器验证系统及方法 |
CN114443524A (zh) * | 2022-01-28 | 2022-05-06 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、系统、存储介质及设备 |
CN114880270A (zh) * | 2022-06-02 | 2022-08-09 | 厦门紫光展锐科技有限公司 | Spi设备及其数据传输方法 |
CN114880270B (zh) * | 2022-06-02 | 2024-05-28 | 厦门紫光展锐科技有限公司 | Spi设备及其数据传输方法 |
WO2024178923A1 (zh) * | 2023-02-28 | 2024-09-06 | 比亚迪股份有限公司 | 基于spi的数据传输方法、芯片、控制器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102567261B (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567261B (zh) | 增强型spi控制器、增强型spi的通讯系统及传送数据方法 | |
CN106951388B (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
EP2867780B1 (en) | Device disconnect detection | |
US9239810B2 (en) | Low power universal serial bus | |
US8683097B2 (en) | Device connect detection | |
CN103914424B (zh) | 基于gpio接口的lpc外设扩展方法及装置 | |
WO2014075545A1 (zh) | Usb低速设备数据传输控制方法及控制器 | |
CN110971621B (zh) | 基于sdio接口的嵌入式多cpu互联电路、互联方法及驱动方法 | |
CN104111902A (zh) | 基于双倍速率同步动态随机存储器接口的通信系统及方法 | |
CN212647461U (zh) | 一种基于pci总线的同步或异步串行通讯控制电路 | |
CN116126771A (zh) | 一种两线spi的通信系统及方法 | |
US11334402B2 (en) | SDIO chip-to-chip interconnect protocol extension for slow devices and power savings | |
CN114528238A (zh) | 一种pcie转sata的多态性低延时自适应电路 | |
CN109889226A (zh) | 基于rtx的双向通信软件无线电实现装置及方法 | |
CN117234995B (zh) | 一种基于ahb总线的信号压缩传输的方法、系统及装置 | |
CN204256731U (zh) | 一种fpga高速读取usb设备数据装置 | |
CN213715913U (zh) | 一种微控制系统 | |
CN111832049B (zh) | 一种基于spi的数据传输方法及系统 | |
CN114356816B (zh) | 一种异步传输装置 | |
CN114356816A (zh) | 一种异步传输装置 | |
Cai et al. | Flexible platform design of IEEE 802.15. 3a MAC over UWB with optimized protocol accelerator | |
CN115687198A (zh) | 一种基于spi的设备通讯装置及方法 | |
CN116847007A (zh) | 多通道hdlc控制系统及其数据上传方法、数据下发方法 | |
Yao et al. | Research of data bidirectional USB transfer technology based on MicroBlaze | |
CN103530248A (zh) | 卫星通信信关站解调器中fpga与cpci信息交互的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20120711 Assignee: Shanghai Li Ke Semiconductor Technology Co., Ltd. Assignor: Leadcore Technology Co., Ltd. Contract record no.: 2018990000159 Denomination of invention: Enhanced SPI (serial peripheral interface) controller, communication system of enhanced SPI and data transmission method Granted publication date: 20150812 License type: Common License Record date: 20180615 |
|
EE01 | Entry into force of recordation of patent licensing contract |