CN103377170A - 异构处理器间spi高速双向对等数据通信系统 - Google Patents

异构处理器间spi高速双向对等数据通信系统 Download PDF

Info

Publication number
CN103377170A
CN103377170A CN2012101265195A CN201210126519A CN103377170A CN 103377170 A CN103377170 A CN 103377170A CN 2012101265195 A CN2012101265195 A CN 2012101265195A CN 201210126519 A CN201210126519 A CN 201210126519A CN 103377170 A CN103377170 A CN 103377170A
Authority
CN
China
Prior art keywords
node
fifo
data
spi
bus
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
Application number
CN2012101265195A
Other languages
English (en)
Other versions
CN103377170B (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.)
Hebei Baoxuan Data Technology Co.,Ltd.
Original Assignee
Shanghai Baosight Software Co Ltd
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 Shanghai Baosight Software Co Ltd filed Critical Shanghai Baosight Software Co Ltd
Priority to CN201210126519.5A priority Critical patent/CN103377170B/zh
Publication of CN103377170A publication Critical patent/CN103377170A/zh
Application granted granted Critical
Publication of CN103377170B publication Critical patent/CN103377170B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种异构处理器间SPI高速双向对等数据通信系统,包括SPI总线、以及通信节点,至少有两个所述通信节点的处理器之间为异构,所述通信节点的节点主占有、节点主输出从输入、节点主输入从输出、节点串行移位时钟、以及节点从选通五条信号线分别挂接于所述SPI总线的网络主占有、网络主输出从输入、网络主输入从输出、网络串行移位时钟、以及网络主占有这几条信号线。本发明实现了基于SPI总线实现异构处理器间互联,基于SPI总线构建几十兆级异构处理器网络,显著提高了多机双向对等数据传输速率。

Description

异构处理器间SPI高速双向对等数据通信系统
技术领域
本发明涉及多机控制系统的多机通信领域,特别指一种基于SPI总线的异构处理器网络高速双向对等数据通信系统。
背景技术
基于架构各异的嵌入式微处理器的多机控制系统在工业控制等现代生产的各个方面均得到了广泛的应用。尤其是系统在实时数据采集及处理时,对有关数据的传输提出了特殊的要求,多机通信便成了多机系统中的关键技术之一。
嵌入式微处理器体系结构众多,对于异构处理器间的多机通信,早期主要采用RS-232、RS-485等串行总线实现设备互联,采用主从轮询式通信机制,随着现场总线技术的逐渐成熟,由于其组网灵活、开放性等优点,如CAN、LonWorks、Profibus等被越来越多地用于实现异构处理器间的多机通信。目前,基于嵌入式微处理器集成现场总线功能存在三种方式:利用嵌入式微处理器片内集成的总线控制器、利用嵌入式微处理的外设接口或外部存储器接口扩展使用片外总线控制器、利用嵌入式微处理器的UART等通用总线接口连接片外总线桥接芯片。基于上述三种方式,能够达到几十兆级通信速率的现场总线异构处理器网络十分罕见。
同步串行外设接口(SPI)是由摩托罗拉公司开发的全双工同步串行总线,数据传输速率瓶颈在于外设器件,该总线大量用在嵌入式微处理器与EEPROM、ADC、FRAM和显示驱动器之类的慢速外设器件通信。SPI总线由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯。SPI总线由MOSI(主输出从输入),MISO(主输入从输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS决定了唯一的与主设备通信的从设备,如没有CS信号,则只能存在一个从设备。主设备通过SCK产生移位时钟来发起通信,数据由MOSI输出,MISO输入,数据在时钟的上升或下降沿由MOSI输出,在紧接着的下降或上升沿由MISO读入,这样经过8/16次时钟的改变,完成8/16位数据的传输。综上所述,数据传输速率受制于外设器件和主从通信机制是制约SPI总线使用范围的两大因素。
双口RAM是共享式多端口存储器,一个存储器配备两套独立的地址、数据和控制线,允许两个独立的处理器或控制器同时异步访问存储单元,适用于双机系统的全局存储器和大容量数据存储共享。FIFO先进先出的存储器。FIFO只给外部提供一个读和一个写信号,因此处理器用一个I/O地址便可读或写FIFO,硬件简单。FIFO只允许两端一个写,一个读,因此FIFO是一种半共享式存储器。在双机系统中,只允许一个处理器往FIFO写数据,另一个处理器从FIFO读数据。只要注意标志输出,空指示不写,满指示不读,就不会发生写入数据丢失和读出数据无效,适用于数据缓冲和突发传送数据。综上所述,FIFO的仲裁控制简单,但其容量不如双口RAM。双口RAM的仲裁逻辑比FIFO复杂,但其容量较大。
专利(申请)号为200910141461.X、名称为一种基于SPI实现数据传输的方法和系统的中国专利文献公开了一种基于SPI实现数据传输的方法和系统,属于通信领域。所述方法包括:当主设备向从设备发送数据时,主设备通过所述MREQ线向所述从设备发送MREQ信号,通过所述SRDY线接收所述从设备返回的SRDY信号后,通过主设备输出从设备输入数据线MOSI向所述从设备发送第一封装的数据包,所述封装的数包携带包头标识和长度标识;当从设备向主设备发送数据时,所述从设备通过所述SREQ线向所述主设备发送SREQ信号,通过所述MRDY线接收所述主设备返回的MRDY信号后,通过主设备输入从设备输出数据线MISO,向所述主设备发送第二封装的数据包。本发明实现基于SPI接口发送数据时的高速数据搬移,方案简单、成本低、握手机制易于实现,降低主从设备的工作量,提高了传输效率。
该专利涉及的SPI数据传输方法和系统,基于主从器件模式,有主从设备之分,除了SPI总线的基本四线外,基于MREQ、SRDY、SREQ、MRDY四条信号线构成的四线握手机制,通信速率低。
专利(申请)号为200710001170.1、名称为一种利用双口RAM进行异步数据传输的装置的中国专利文献公开了一种利用双口RAM进行异步数据传输的装置,该装置包括:一个数据更新FIFO、一个数据更新控制器和一个双口RAM;源设备将需要更新的数据的地址和数据内容写入数据更新FIFO中;如果数据更新控制器检测到目的设备没有对数据双口RAM进行读操作,就从数据更新FIFO中读出更新的数据的地址和数据内容,按照这个地址将数据内容写入数据双口RAM中;目的设备自由的读取数据双口RAM中的数据内容。本发明有效地防止了使用一般的双口RAM在写优先的情况下发生读数据的错误和在读优先的情况下发生写数据的丢失的现象,使数据内容得到有效更新。
该专利涉及一种利用双口RAM进行异步数据传输的装置,有效地防止了使用一般的双口RAM在写优先的情况下发生读数据的错误和在读优先的情况下发生写数据的丢失的现象,使数据内容得到有效更新,着重于双口RAM使用中存在问题的解决上,但其没有利用双口RAM的大容量、双口独立特点,没有实现高速数据通信。
发明内容
针对上述现有技术中的缺陷,本发明要解决的技术问题体现在以下3点:
1、实现基于SPI总线实现异构处理器间互联,基于SPI总线构建几十兆级异构处理器网络。
2、实现基于SPI总线的异构处理器网络,构建多主对等通信机制,实现多机双向对等数据传输。
3、实现基于SPI总线的异构处理器网络的通信节点,利用双口RAM构造大容量FIFO,DMA控制器和处理器分别控制FIFO两端,实现非异步流水线工作模式,支撑几十兆级数据传输速率。
根据本发明的一个方面,提供一种异构处理器间SPI高速双向对等数据通信系统,包括SPI总线、以及通信节点,至少有两个所述通信节点的处理器之间为异构,其中,所述通信节点的节点主占有信号线Node_MS、节点主输出从输入信号线Node_MOSI、节点主输入从输出信号线Node_MISO、节点串行移位时钟信号线Node_SCK、以及节点从选通信号线Node_SS分别挂接于所述SPI总线的网络主占有信号线Net_MS、网络主输出从输入信号线Net_MOSI、网络主输入从输出信号线Net_MISO、网络串行移位时钟信号线Net_SCK、以及网络主占有信号线Net_MS。
优选地,所述通信节点包括处理器、FIFO、DMA控制器、SPI控制器、以及节点内部系统总线,所述节点内部系统总线包括控制总线CB、地址总线AB、以及数据总线DB,所述DMA控制器和处理器分别控制所述FIFO两端,其中,所述处理器、FIFO、DMA控制器、以及SPI控制器依次挂接在所述节点内部系统总线上,所述SPI控制器的节点主占有信号线Node_MS、节点主输出从输入信号线Node_MOSI、节点主输入从输出信号线Node_MISO、节点串行移位时钟信号线Node_SCK、以及节点从选通信号线Node_SS分别挂接于所述SPI总线的网络主占有Net_MS信号线、网络主输出从输入信号线Net_MOSI、网络主输入从输出信号线Net_MISO、网络串行移位时钟信号线Net_SCK、以及网络主占有信号线Net_MS。
优选地,所述FIFO包括双口RAM,所述双口RAM读端的读控制线Read_CB、读地址线Read_AB、以及读数据线Read_DB分别挂接于所述节点内部系统总线的控制总线CB、地址总线AB、以及数据总线DB,所述双口RAM写端的写控制线Write_CB、写地址线Write_AB、以及写数据线Write_DB分别挂接于所述节点内部系统总线的控制总线CB、地址总线AB、以及数据总线DB。
优选地,所述处理器连接所述FIFO的读端,所述DMA控制器连接所述FIFO的写端。
优选地,所述通信节点之间采用多主对等通信机制。
优选地,所述多主对等通信机制包括如下步骤:
步骤S401:开始,通信节点n进入主器件模式,初始化所述FIFO的读指针FIFO_front=front,写指针FIFO_rear=rear;
步骤S402:检测节点从选通信号线Node_SS上是否存在负跳变沿,若节点从选通信号线Node_SS上存在负跳变沿,转至步骤S403执行;若节点从选通信号线Node_SS上不存在负跳变沿,转至步骤S410执行;
步骤S403:通信节点n进入从器件模式;
步骤S404:通信节点n接收数据包至所述FIFO;
步骤S405:通信节点n从所述FIFO中读取第一封装数据包,从第一封装数据包中解析得到目标地址Dest_Address、数据包长度L;
步骤S406.:通信节点n检查目标地址Dest_Address是否为通信节点n,若目标地址Dest_Address为通信节点n,转至步骤S407执行;若目标地址Dest_Address不为通信节点n,转至步骤S408执行;
步骤S407:通信节点n从FIFO中读取数据长度等于L的第二封装数据包,修改所述FIFO的读指针FIFO_front=FIFO_front+L;
步骤S408:修改所述FIFO的读指针FIFO_front=FIFO_front+1;
步骤S409:通信节点n退出从器件模式;
步骤S410:通信节点n检查是否有数据包要发送,若有数据包要发送,转至步骤S411执行;若没有数据包要发送,转至步骤S402执行;
步骤S411:通信节点n禁止其Node_SS信号线跳变沿检测;
步骤S412:通信节点n设置其Node_MS信号线产生负跳变沿;
步骤S413:通信节点n发送数据包;
步骤S414:通信节点n使能其Node_SS信号线跳变沿检测,转至步骤S402执行。
优选地,所述步骤S404包括如下步骤:
步骤S501:所述SPI控制器的数据单元SPIDAT接收完毕;
步骤S502:检查数据单元SPIDAT是否等于帧起始,若数据单元SPIDAT等于帧起始,转至步骤S503执行;若数据单元SPIDAT不等于帧起始,转至步骤S509执行;
步骤S503:所述SPI控制器向所述DMA控制器发送DMA传输请求;
步骤S504:所述DMA控制器获得系统总线控制权;
步骤S505:所述DMA控制器向所述FIFO发送写地址FIFO_rear;
步骤S506:所述DMA控制器向所述SPI控制器发送读就绪信号Read_SPIDAT;
步骤S507:所述SPI控制器向所述FIFO发送数据单元SPIDAT;
步骤S508:所述DMA控制器修改所述FIFO的写指针FIFO_rear=FIFO_rear+1;
步骤S509:检查数据单元SPIDAT是否等于帧结束,若数据单元SPIDAT不等于帧结束,转至步骤S505执行;若数据单元SPIDAT等于帧结束,转至步骤S510执行;
步骤S510:所述DMA控制器释放系统总线控制权;
步骤S511:结束。
优选地,在所述步骤S505和步骤S507中,通信节点n从所述FIFO中读取数据包的步骤包括如下步骤:
步骤S701:所述处理器获得系统总线控制权;
步骤S702:所述处理器向所述FIFO发送读地址FIFO_rear、读数据长度L;
步骤S703:所述处理器接收所述FIFO返回数据;
步骤S704:所述处理器检查接收数据长度是否已等于L,若接收数据长度已等于L,转至步骤S705执行;若接收数据长度不等于L,转至步骤S703执行;
步骤S705:所述处理器修改所述FIFO的读指针FIFO_front=FIFO_front+L。
由于采用了上述技术方案,本发明的有益效果是基于SPI总线的异构处理器网络,通信节点没有主从器件之分,结合多主对等通信机制,使得数据通信速率不在受制于主从模式。基于双口RAM的大容量FIFO结构,实现非异步流水线工作模式,基于SPI总线的异构处理器网络的数据通信速率能够达到几十兆级,极大地提升了现有现场总线网络的数据通信能力。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明的基于SPI总线的异构处理器网络的结构示意图;
图2示出根据本发明的基于SPI总线的异构处理器网络的通信节点的结构示意图;
图3示出根据本发明的基于双口RAM的FIFO结构的原理示意图;
图4示出根据本发明的基于SPI总线的异构处理器网络的多主对等通信机制的流程示意图;
图5示出根据本发明的通信节点n接收数据包至FIFO的流程示意图;
图6示出根据本发明的通信节点n接收数据包至FIFO的原理示意图;
图7示出根据本发明的通信节点n从FIFO中读取数据包的流程示意图;
图8示出根据本发明的通信节点n从FIFO中读取数据包的原理示意图;
图9示出根据本发明的基于双口RAM构建FIFO的原理示意图。
具体实施方式
本发明涉及多机控制系统的多机通信领域,特别指一种基于SPI总线的异构处理器网络高速双向对等数据通信机制。
基于SPI总线的异构处理器网络,如图1所示,基于同步串行外设接口SPI的四线制机制构建,其通信节点没有主从器件之分,包括网络主输出从输入信号线Net_MOSI101、网络主输入从输出信号线Net_MISO102、网络串行移位时钟信号线Net_SCK103和网络主占有信号线Net_MS104等四条信号线。基于SPI总线的异构处理器网络通信节点1-n105使用五条信号线,包括节点主输出从输入信号线Node_MOSI208、节点主输入从输出信号线Node_MISO209、节点串行移位时钟信号线Node_SCK210、节点从选通信号线Node_SS211和节点主占有信号线Node_MS212等五条信号线实现通信节点与网络上其他通信节点的互联。
基于SPI总线的异构处理器网络的通信节点,如图2所示,包括处理器201、FIFO202、DMA控制器203和SPI控制器204。通信节点的节点内部系统总线包括控制总线CB205、地址总线AB206和数据总线DB207。处理器201、FIFO202、DMA控制器203和SPI控制器204等四个部件依次挂接在节点内部系统总线上。通信节点由SPI控制器204通过节点主输出从输入信号线Node_MOSI208、节点主输入从输出信号线Node_MISO209、节点串行移位时钟信号线Node_SCK(210)、节点从选通信号线Node_SS211和节点主占有信号线Node_MS212等五条信号线挂接于基于SPI总线的异构处理器网络上,图2所示所述SPI控制器204的主输出从输入信号线Node_MOSI208、节点主输入从输出信号线Node_MISO209、节点串行移位时钟信号线Node_SCK(210)、节点从选通信号线Node_SS211和节点主占有信号线Node_MS212与图1所示通信节点的主输出从输入信号线Node_MOSI208、节点主输入从输出信号线Node_MISO209、节点串行移位时钟信号线Node_SCK210、节点从选通信号线Node_SS211和节点主占有信号线Node_MS212一致。
优选地,所述FIFO202是基于双口RAM的FIFO结构,基于软件实现FIFO结构的访问仲裁机制,如图9是基于双口RAM的FIFO结构的一个实施例。使用双口RAM芯片IDT7134作为FIFO结构的存储载体,处理器连接于FIFO的读端,DMA连接于FIFO的写端,为了操作IDT7134的数据端口和地址端口,在处理器与FIFO读端、DMA控制器与FIFO写端,增加数据缓冲器和地址译码器。
基于SPI总线的异构处理器网络的通信节点,利用双口RAM的大容量特点,构建基于双口RAM的FIFO结构,实现非异步流水线工作模式。如图3所示,保留双口RAM的两套独立的控制、地址和数据线,分别为读控制线Read_CB301、读地址线Read_AB302、读数据线Read_DB303、写控制线Write_CB304、写地址线Write_AB305、写数据线Write_DB306,读写两端的控制、地址和数据线独立挂接于如图2所示的基于SPI总线的异构处理器网络的通信节点的内部系统总线的控制总线CB205、地址总线AB206和数据总线DB207。在软件上设置双口RAM的读写指针,分别为读指针FIFO_front307和写指针FIFO_rear308。读指针FIFO_front指向存储单元front309,写指针FIFO_rear指向存储单元rear310。
在如图1所示基于SPI总线的异构处理器网络、如图2所示基于SPI总线的异构处理器网络的通信节点和如图3所示基于双口RAM的FIFO结构基础上,构建基于SPI总线的异构处理器网络的多主对等通信机制,通信节点1-n105没有主从器件之分,如图4所示,对于基于SPI总线的异构处理器网络的通信节点n,实现多主对等通信机制的步骤包括:S401.开始,通信节点n进入主器件模式,初始化如图3所示FIFO的读写指针,FIFO_front=front,FIFO_rear=rear。S402.检测Node_SS信号线上是否存在负跳变沿,若Node_SS信号线上存在负跳变沿,转至步骤S403执行;若Node_SS信号线上不存在负跳变沿,转至步骤S410执行。S403.通信节点n进入从器件模式。S404.通信节点n接收数据包至FIFO。S405.通信节点n从FIFO中读取第一封装数据包,从第一封装数据包中解析得到目标地址Dest_Address、数据包长度L。S406.通信节点n检查目标地址Dest_Address是否为通信节点n,若目标地址Dest_Address为通信节点n,转至步骤S407执行;若目标地址Dest_Address不为通信节点n,转至步骤S408执行。S407.通信节点n从FIFO中读取数据长度等于L的第二封装数据包,修改如图3所示FIFO的读指针,FIFO_front=FIFO_front+L。S408.修改如图3所示FIFO的读指针,FIFO_front=FIFO_front+1。S409.通信节点n退出从器件模式。S410.通信节点n检查是否有数据包要发送,若有数据包要发送,转至步骤S411执行;若没有数据包要发送,转至步骤S402执行。S411.通信节点n禁止其Node_SS信号线跳变沿检测。S412.通信节点n设置其Node_MS信号线产生负跳变沿。S413.通信节点n发送数据包。S414.通信节点n使能其Node_SS信号线跳变沿检测,转至步骤S402执行。
如图5所示步骤S404,通信节点n接收数据包至FIFO,如图5所示,其实现步骤包括:S501.SPI总线数据单元SPIDAT接收完毕。S502.检查SPIDAT是否等于帧起始,若SPIDAT等于帧起始,转至步骤S503执行;若SPIDAT不等于帧起始,转至步骤S509执行。S503.SPI控制器向DMA控制器发送DMA传输请求。S504.DMA控制器获得系统总线控制权。S505.DMA控制器向FIFO发送写地址FIFO_rear。S506.DMA控制器向SPI控制器发送读就绪信号Read_SPIDAT。S507.SPI控制器向FIFO发送数据单元SPIDAT。S508.DMA控制器修改如图3所示FIFO的写指针,FIFO_rear=FIFO_rear+1。S509.检查SPIDAT是否等于帧结束,若SPIDAT不等于帧结束,转至步骤S505执行;若SPIDAT等于帧结束,转至步骤S510执行。S510.DMA控制器释放系统总线控制权。S511.结束。
如图4所示S505、S507,包含通信节点n从FIFO中读取数据包的步骤,如图7所示,其实现步骤包括:S701.处理器获得系统总线控制权。S702.处理器向FIFO发送读地址FIFO_rear、读数据长度L。S703.处理器接收FIFO返回数据。S704.处理器检查接收数据长度是否已等于L,若接收数据长度已等于L,转至步骤S705执行;若接收数据长度不等于L,转至步骤S703执行。S705.处理器修改如图3所示FIFO的读指针,FIFO_front=FIFO_front+L。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (8)

1.一种异构处理器间SPI高速双向对等数据通信系统,包括SPI总线、以及通信节点,其中,至少有两个所述通信节点的处理器之间为异构,其特征在于,所述通信节点的节点主占有信号线Node_MS、节点主输出从输入信号线Node_MOSI、节点主输入从输出信号线Node_MISO、节点串行移位时钟信号线Node_SCK、以及节点从选通信号线Node_SS分别挂接于所述SPI总线的网络主占有信号线Net_MS、网络主输出从输入信号线Net_MOSI、网络主输入从输出信号线Net_MISO、网络串行移位时钟信号线Net_SCK、以及网络主占有信号线Net_MS。
2.根据权利要求1所述的异构处理器间SPI高速双向对等数据通信系统,其特征在于,所述通信节点包括处理器、FIFO、DMA控制器、SPI控制器、以及节点内部系统总线,所述节点内部系统总线包括控制总线CB、地址总线AB、以及数据总线DB,所述DMA控制器和处理器分别控制所述FIFO两端,其中,所述处理器、FIFO、DMA控制器、以及SPI控制器依次挂接在所述节点内部系统总线上,所述SPI控制器的节点主占有信号线Node_MS、节点主输出从输入信号线Node_MOSI、节点主输入从输出信号线Node_MISO、节点串行移位时钟信号线Node_SCK、以及节点从选通信号线Node_SS分别挂接于所述SPI总线的网络主占有Net_MS信号线、网络主输出从输入信号线Net_MOSI、网络主输入从输出信号线Net_MISO、网络串行移位时钟信号线Net_SCK、以及网络主占有信号线Net_MS。
3.根据权利要求2所述的异构处理器间SPI高速双向对等数据通信系统,其特征在于,所述FIFO包括双口RAM,所述双口RAM读端的读控制线Read_CB、读地址线Read_AB、以及读数据线Read_DB分别挂接于所述节点内部系统总线的控制总线CB、地址总线AB、以及数据总线DB,所述双口RAM写端的写控制线Write_CB、写地址线Write_AB、以及写数据线Write_DB分别挂接于所述节点内部系统总线的控制总线CB、地址总线AB、以及数据总线DB。
4.根据权利要求2或3所述的异构处理器间SPI高速双向对等数据通信系统,其特征在于,所述处理器连接所述FIFO的读端,所述DMA控制器连接所述FIFO的写端。
5.根据权利要求1至4中任一项所述的异构处理器间SPI高速双向对等数据通信系统,其特征在于,所述通信节点之间采用多主对等通信机制。
6.根据权利要求5所述的异构处理器间SPI高速双向对等数据通信系统,其特征在于,所述多主对等通信机制包括如下步骤:
步骤S401:开始,通信节点n进入主器件模式,初始化所述FIFO的读指针FIFO_front=front,写指针FIFO_rear=rear;
步骤S402:检测节点从选通信号线Node_SS上是否存在负跳变沿,若节点从选通信号线Node_SS上存在负跳变沿,转至步骤S403执行;若节点从选通信号线Node_SS上不存在负跳变沿,转至步骤S410执行;
步骤S403:通信节点n进入从器件模式;
步骤S404:通信节点n接收数据包至所述FIFO;
步骤S405:通信节点n从所述FIFO中读取第一封装数据包,从第一封装数据包中解析得到目标地址Dest_Address、数据包长度L;
步骤S406.:通信节点n检查目标地址Dest_Address是否为通信节点n,若目标地址Dest_Address为通信节点n,转至步骤S407执行;若目标地址Dest_Address不为通信节点n,转至步骤S408执行;
步骤S407:通信节点n从FIFO中读取数据长度等于L的第二封装数据包,修改所述FIFO的读指针FIFO_front=FIFO_front+L;
步骤S408:修改所述FIFO的读指针FIFO_front=FIFO_front+1;
步骤S409:通信节点n退出从器件模式;
步骤S410:通信节点n检查是否有数据包要发送,若有数据包要发送,转至步骤S411执行;若没有数据包要发送,转至步骤S402执行;
步骤S411:通信节点n禁止其Node_SS信号线跳变沿检测;
步骤412:通信节点n设置其Node_MS信号线产生负跳变沿;
步骤S413:通信节点n发送数据包;
步骤S414:通信节点n使能其Node_SS信号线跳变沿检测,转至步骤S402执行。
7.根据权利要求6所述的异构处理器间SPI高速双向对等数据通信系统,其特征在于,所述步骤S404包括如下步骤:
步骤S501:所述SPI控制器的数据单元SPIDAT接收完毕;
步骤S502:检查数据单元SPIDAT是否等于帧起始,若数据单元SPIDAT等于帧起始,转至步骤S503执行;若数据单元SPIDAT不等于帧起始,转至步骤S509执行;
步骤S503:所述SPI控制器向所述DMA控制器发送DMA传输请求;
步骤S504:所述DMA控制器获得系统总线控制权;
步骤S505:所述DMA控制器向所述FIFO发送写地址FIFO_rear;
步骤S506:所述DMA控制器向所述SPI控制器发送读就绪信号Read_SPIDAT;
步骤S507:所述SPI控制器向所述FIFO发送数据单元SPIDAT;
步骤S508:所述DMA控制器修改所述FIFO的写指针FIFO_rear=FIFO_rear+1;
步骤S509:检查数据单元SPIDAT是否等于帧结束,若数据单元SPIDAT不等于帧结束,转至步骤S505执行;若数据单元SPIDAT等于帧结束,转至步骤S510执行;
步骤S510:所述DMA控制器释放系统总线控制权;
步骤S511:结束。
8.根据权利要求6或7所述的异构处理器间SPI高速双向对等数据通信系统,其特征在于,在所述步骤S505和步骤S507中,通信节点n从所述FIFO中读取数据包的步骤包括如下步骤:
步骤S701:所述处理器获得系统总线控制权;
步骤S702:所述处理器向所述FIFO发送读地址FIFO_rear、读数据长度L;
步骤S703:所述处理器接收所述FIFO返回数据;
步骤S704:所述处理器检查接收数据长度是否已等于L,若接收数据长度已等于L,转至步骤S705执行;若接收数据长度不等于L,转至步骤S703执行;
步骤S705:所述处理器修改所述FIFO的读指针FIFO_front=FIFO_front+L。
CN201210126519.5A 2012-04-26 2012-04-26 异构处理器间spi高速双向对等数据通信系统 Active CN103377170B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210126519.5A CN103377170B (zh) 2012-04-26 2012-04-26 异构处理器间spi高速双向对等数据通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210126519.5A CN103377170B (zh) 2012-04-26 2012-04-26 异构处理器间spi高速双向对等数据通信系统

Publications (2)

Publication Number Publication Date
CN103377170A true CN103377170A (zh) 2013-10-30
CN103377170B CN103377170B (zh) 2015-12-02

Family

ID=49462304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210126519.5A Active CN103377170B (zh) 2012-04-26 2012-04-26 异构处理器间spi高速双向对等数据通信系统

Country Status (1)

Country Link
CN (1) CN103377170B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678202A (zh) * 2013-11-26 2014-03-26 北京时代民芯科技有限公司 一种多核处理器的dma控制器
CN106354480A (zh) * 2016-08-24 2017-01-25 长沙中部芯空微电子研究所有限公司 一种mpp型异构高速mcu系统
CN107562666A (zh) * 2017-09-26 2018-01-09 威创集团股份有限公司 基于spi总线的设备间通信的方法、系统及相关装置
CN108446243A (zh) * 2018-03-20 2018-08-24 上海奉天电子股份有限公司 一种基于串行外设接口的双向通信方法与系统
CN110515872A (zh) * 2018-05-21 2019-11-29 阿里巴巴集团控股有限公司 直接内存存取方法、装置、专用计算芯片及异构计算系统
CN111737175A (zh) * 2020-06-12 2020-10-02 明见(厦门)技术有限公司 一种高速spi主从机通信方法、终端设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303227A (en) * 1992-08-03 1994-04-12 Motorola, Inc. Method and apparatus for enhanced modes in SPI communication
US6603394B2 (en) * 2000-12-08 2003-08-05 Spx Corporation Multi-protocol wireless communication module
CN101552733A (zh) * 2009-05-15 2009-10-07 深圳华为通信技术有限公司 一种基于spi实现数据传输的方法和系统
CN101751364A (zh) * 2010-01-25 2010-06-23 成都优博创技术有限公司 一种spi总线接口的固件isp烧录器和烧录方法
CN101950280A (zh) * 2009-09-30 2011-01-19 威盛电子股份有限公司 产生多个串行总线芯片选择的方法
CN102023945A (zh) * 2009-09-22 2011-04-20 鸿富锦精密工业(深圳)有限公司 基于串行外围设备接口总线的设备及其数据传输方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303227A (en) * 1992-08-03 1994-04-12 Motorola, Inc. Method and apparatus for enhanced modes in SPI communication
US6603394B2 (en) * 2000-12-08 2003-08-05 Spx Corporation Multi-protocol wireless communication module
CN101552733A (zh) * 2009-05-15 2009-10-07 深圳华为通信技术有限公司 一种基于spi实现数据传输的方法和系统
CN102023945A (zh) * 2009-09-22 2011-04-20 鸿富锦精密工业(深圳)有限公司 基于串行外围设备接口总线的设备及其数据传输方法
CN101950280A (zh) * 2009-09-30 2011-01-19 威盛电子股份有限公司 产生多个串行总线芯片选择的方法
CN101751364A (zh) * 2010-01-25 2010-06-23 成都优博创技术有限公司 一种spi总线接口的固件isp烧录器和烧录方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
AKOS SZEKACS ET AL.: "Realising the SPI communication in a multiprocessor system", 《SISY 2007.5TH INTERNATIONAL SYMPOSIUM ON INTELLIGENT SYSTEMS AND INFORMATICS》, 24 August 2007 (2007-08-24) *
FREDERIC LEENS: "An Introduction to I2C and SPI Protocols", 《INSTRUMENTATION & MEASUREMENT MAGAZINE,IEEE》, vol. 12, no. 1, 28 February 2009 (2009-02-28), XP 011241733, DOI: doi:10.1109/MIM.2009.4762946 *
杨美刚 等: "SPI接口及其在数据交换中的应用", 《通信技术》, vol. 40, no. 11, 30 November 2007 (2007-11-30) *
杨镇首 等: "基于SPI接口的多机扩展和通信方法", 《自动化与信息工程》, no. 2, 28 February 2011 (2011-02-28) *
赵学军: "基于多机SPI协议的多机通信", 《单片机与嵌入式系统应用》, no. 7, 31 July 2006 (2006-07-31) *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678202A (zh) * 2013-11-26 2014-03-26 北京时代民芯科技有限公司 一种多核处理器的dma控制器
CN103678202B (zh) * 2013-11-26 2016-08-17 北京时代民芯科技有限公司 一种多核处理器的dma控制器
CN106354480A (zh) * 2016-08-24 2017-01-25 长沙中部芯空微电子研究所有限公司 一种mpp型异构高速mcu系统
CN106354480B (zh) * 2016-08-24 2019-01-29 长沙中部芯空微电子研究所有限公司 一种mpp型异构高速mcu系统
CN107562666A (zh) * 2017-09-26 2018-01-09 威创集团股份有限公司 基于spi总线的设备间通信的方法、系统及相关装置
CN107562666B (zh) * 2017-09-26 2020-10-23 威创集团股份有限公司 基于spi总线的设备间通信的方法、系统及相关装置
CN108446243A (zh) * 2018-03-20 2018-08-24 上海奉天电子股份有限公司 一种基于串行外设接口的双向通信方法与系统
CN108446243B (zh) * 2018-03-20 2021-11-26 上海奉天电子股份有限公司 一种基于串行外设接口的双向通信方法与系统
CN110515872A (zh) * 2018-05-21 2019-11-29 阿里巴巴集团控股有限公司 直接内存存取方法、装置、专用计算芯片及异构计算系统
CN110515872B (zh) * 2018-05-21 2020-07-31 阿里巴巴集团控股有限公司 直接内存存取方法、装置、专用计算芯片及异构计算系统
CN111737175A (zh) * 2020-06-12 2020-10-02 明见(厦门)技术有限公司 一种高速spi主从机通信方法、终端设备及存储介质
CN111737175B (zh) * 2020-06-12 2022-03-18 明见(厦门)技术有限公司 一种高速spi主从机通信方法、终端设备及存储介质

Also Published As

Publication number Publication date
CN103377170B (zh) 2015-12-02

Similar Documents

Publication Publication Date Title
CN103377170B (zh) 异构处理器间spi高速双向对等数据通信系统
CN101504633B (zh) 一种多通道dma控制器
WO2017196143A1 (en) A method and device for improved advanced microcontroller bus architecture (amba) and advanced extensible interface (axi) operations
KR101686360B1 (ko) 다중슬롯 링크 계층 플릿에서의 제어 메시징
KR101028898B1 (ko) 플렉스레이 통신 장치
JP4621604B2 (ja) バス装置、バスシステムおよび情報転送方法
US6938094B1 (en) Virtual channels and corresponding buffer allocations for deadlock-free computer system operation
US6888843B2 (en) Response virtual channel for handling all responses
CN1965285A (zh) 用于基于集线器的存储系统中直接存储器访问的设备和方法
CN103714026B (zh) 一种支持原址数据交换的存储器访问方法及装置
CN102866980B (zh) 用于多核微处理器片上互连网络的网络通信胞元
CN108400880A (zh) 片上网络、数据传输方法和第一交换节点
CN101477504A (zh) 数据传输系统及数据传输方法
CN102841869A (zh) 一种基于fpga的多通道i2c控制器
CN108536642A (zh) 大数据运算加速系统和芯片
CN203191885U (zh) 一种基于双路龙芯3b cpu的服务器主板
CN103106169A (zh) 基于aurora协议的高速总线接口的扩展架构
KR20120040535A (ko) 버스 시스템 및 그것의 동작 방법
JP2009512259A (ja) FlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェース、およびFlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェースを経由するメッセージの伝送方法
CN105281433A (zh) 一种配电终端通信系统
CN106250333A (zh) 一种基于fpga的信号处理卡系统
EP1733309B1 (en) Integrated circuit and method for transaction retraction
CN100432972C (zh) 输入/输出集线器、输入/输出系统和使用它们的计算机系统
CN112948295A (zh) 一种基于axi4总线的fpga与ddr高速数据包传输系统及方法
CN204390227U (zh) 计算设备扩展装置、以及可扩展的计算系统

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221214

Address after: Floor 5, Xuangang Company Building, No. 93, Xuanfu Street, Xuanhua District, Zhangjiakou, Hebei, 075000

Patentee after: Hebei Baoxuan Data Technology Co.,Ltd.

Address before: 201203 Shanghai Guo Shou Jing Road, Pudong New Area Zhangjiang hi tech Park No. 515

Patentee before: SHANGHAI BAOSIGHT SOFTWARE Co.,Ltd.