CN112860612B - 互联裸芯与mpu的接口系统及其通信方法 - Google Patents

互联裸芯与mpu的接口系统及其通信方法 Download PDF

Info

Publication number
CN112860612B
CN112860612B CN202110160514.3A CN202110160514A CN112860612B CN 112860612 B CN112860612 B CN 112860612B CN 202110160514 A CN202110160514 A CN 202110160514A CN 112860612 B CN112860612 B CN 112860612B
Authority
CN
China
Prior art keywords
interface
interrupt
data
mpu
data packet
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.)
Active
Application number
CN202110160514.3A
Other languages
English (en)
Other versions
CN112860612A (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.)
CETC 58 Research Institute
Original Assignee
CETC 58 Research Institute
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 CETC 58 Research Institute filed Critical CETC 58 Research Institute
Priority to CN202110160514.3A priority Critical patent/CN112860612B/zh
Publication of CN112860612A publication Critical patent/CN112860612A/zh
Priority to PCT/CN2021/138700 priority patent/WO2022166425A1/zh
Priority to US17/626,824 priority patent/US11971446B2/en
Application granted granted Critical
Publication of CN112860612B publication Critical patent/CN112860612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318555Control logic
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318597JTAG or boundary scan test of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q1/00Details of selecting apparatus or arrangements
    • H04Q1/02Constructional details
    • H04Q1/028Subscriber network interface devices

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)
  • Bus Control (AREA)

Abstract

本发明涉及互联裸芯与MPU的接口系统及其通信方法。互联裸芯与MPU的接口系统包括:数据接口、中断接口和调试接口;数据接口包括SPI接口、DDR数据接口和DMA控制接口,SPI接口用于MPU在启动阶段的自主启动,DMA控制接口用于DMA启动结束控制;中断接口用于接收来自网络的中断数据包并解析得到MPU需要的脉冲中断输入,同时中断接口接收到来自数据接口的中断地址操作并将其转换为中断事件发出;调试接口包括JTAG‑Core调试接口,用于接收来自网络的调试数据包并翻译为JTAG协议用于MPU调试。该系统通过中断接口、DDR数据接口、SPI接口和JTAG‑Core调试接口将互连裸芯所提供的接口与主设备MPU接口对应互连,实现高性能信息处理微系统中MPU的扩展以及MPU与互连裸芯之间的高速通信。

Description

互联裸芯与MPU的接口系统及其通信方法
技术领域
本发明涉及一种通信接口,尤其是互联裸芯与MPU的接口系统及其通信方法。
背景技术
在单片专用集成电路中,所有元件都是在一个硅片上用同一种工艺设计和制造的。随着工艺尺寸的缩小,开发这样的集成电路成本和开发周期变得极高。在此情况下,多裸芯集成是必然的选择,即将多个功能各异且已通过验证、未被封装的芯片组件互连组装起来,并封装为同一管壳中的芯片整体,从而形成封装级网络NoP(Networkon Package)。这些裸芯可以采用不同工艺、来自不同厂商,因此极大缩短和降低了开发周期和难度。而多裸芯集成的难点在于如何高效互连各个裸芯,并保证在功耗约束下实现较高的微系统性能。目前已有的面向多裸芯集成的通信协议要么是专用协议,通用性较差;要么是技术体系过于庞杂难以使用。在多裸芯互连总线协议不成熟的情况下,如何基于我国的现实情况和现阶段技术水平,定义出符合我国目前集成电路发展需求的多裸芯互连总线协议是突破新一代集成微系统的关键问题。
微系统支持通过复用现有的裸芯来实现异构集成。从系统层次划分来看,微系统是由多个微组件级联而成,微组件由互连裸芯与其他裸芯构成。互连裸芯是以裸芯级网络NoD(NetworkonDie,一个包含高速片上网络与扩展总线的裸芯)为核心,加上各种标准协议接口转换、配置单元、时钟管理等电路构成可实际使用的裸芯。而互连裸芯支持集成的裸芯包含作为主设备的MPU(嵌入式微处理器裸芯),作为从设备的外设和DDR SDRAM等存储设备,以及可以集成主设备接口、从设备接口、对等设备接口等多种接口形式的DSP和FPGA。由于具有多种接口,因此如何实现互联裸芯与MPU之间的扩展和通信是亟待解决的问题。
发明内容
为解决上述问题,本发明提供一种包括中断接口、DDR数据接口、SPI接口和JTAG-Core调试接口,通过将互连裸芯所提供的接口与MPU接口对应互连可以实现高性能信息处理微系统中主设备MPU的扩展以及主设备和互连裸芯之间的高速通信的互联裸芯与MPU的接口系统,解决了互连裸芯与MPU之间的高速通信问题,可以高效的对MPU等主设备处理器件进行快速的扩展与集成。
具体技术方案为:
互联裸芯与MPU的接口系统,包括:数据接口、中断接口和调试接口;所述数据接口包括SPI接口、DDR数据接口和DMA控制接口,所述SPI接口用于MPU在启动阶段的自主启动,所述DMA控制接口用于DMA启动结束控制;所述中断接口用于接收来自网络的中断数据包并解析得到MPU需要的脉冲中断输入,同时中断接口接收到来自数据接口的中断地址操作并将其转换为中断事件发出;所述调试接口包括JTAG-Core调试接口,用于接收来自网络的调试数据包并翻译为JTAG协议用于MPU调试。
优选的,所述SPI接口、DDR数据接口、DMA控制接口和中断接口与互联裸芯中的同一个路由器连接;所述调试接口与互联裸芯中的另一个路由器连接。
互联裸芯与MPU的通信方法,互联裸芯与MPU之间通过数据接口进行数据传输,通过中断接口进行中断传输,通过调试接口进行MPU调试;所述MPU通过DMA控制接口对从设备之间的数据访问进行控制;所述数据接口包括SPI接口、DDR数据接口和DMA控制接口;所述调试接口包括JTAG-Core调试接口。
优选的,所述MPU通过数据接口以DDR数据格式向互联裸芯发送访存请求;互联裸芯将响应数据包转换成DDR数据格式发送给MPU。
进一步的,所述MPU向互联裸芯发送请求事件时生成请求数据包,生成请求数据包时包括以下步骤:利用可配置地址映射表将来自MPU的请求事件的地址信息转换为路由信息,用于表示数据包将在网络中通过的路径;在打包模块中生成数据包的头与尾,同时将事件内容生成体微片,构成一个完整的数据包;将数据包写入请求Buffer中,同时在消息队列中记录当前数据包的信息;所述互联裸芯将响应数据包生成响应信息,生成响应信息时包括以下步骤:从响应Buffer中读取数据包,同时从消息队列中消除对应的数据包记录;由解包模块对数据包的头与尾进行验证消除,并对数据包的体微片中的内容进行整合生成主设备需要的详细信号。
优选的,还包括使用看门狗对存在消息队列中的每个记录进行计数,从记录生成开始直到记录消除,如果一个数据包在消息记录中的保持时间超过了一定的阈值,看门狗计数溢出并生成中断告知MPU这个数据包在网络中丢失,数据传输失败,由MPU进行相应的处理。
优选的,所述中断传输包括MPU与MPU之间的主-主中断传输以及MPU与从设备之间的主-从中断传输;所述主-主中断传输包括以下步骤:所述MPU通过数据接口向所述MPU的地址空间中预先设定的一段固定中断地址写中断信息,中断接口将中断信息打包成中断事件数据包发送到所述互联裸芯中,另一个MPU通过中断接口接收中断事件数据包并进行解包,将其翻译为中断信号;所述主-从中断传输时,所述从设备的中断接口将来自从设备的中断信息收集后进行编码打包为中断事件数据包发送到所述互联裸芯中,所述MPU的中断接口接收中断事件数据包并进行解包,将其翻译为中断信号。
优选的,所述MPU通过DMA控制接口对从设备之间的数据访问进行控制时通过访问MPU的地址空间中预设的一段固定的DMA地址,将访问地址空间转化为对DMA的寄存器进行配置并启动DMA完成相应的数据搬移指令。
进一步的,所述MPU通过DMA控制接口对从设备之间的数据访问进行控制包括以下步骤:第一步,MPU将数据搬运的地址信息和数据长度的配置信息通过数据接口写入DMA专属的地址空间中;第二步,DMA控制接口收到配置信息后向源从设备发送一个读请求事件,所述读请求事件中有特定的事件信息标志,所述从设备返回的数据返回到目的从设备;第三步,源从设备接收到读请求事件后,将需要读取的数据打包为写数据事件发送给目的从设备;第四步,目的从设备接收到写数据事件后返回一个写响应事件给DMA控制接口;第五步,DMA控制接口接收到写响应事件后产生中断脉冲告知MPU数据搬运完成。
与现有技术相比本发明具有以下有益效果:
本发明提供的互联裸芯与MPU的接口系统通过中断接口、DDR数据接口、SPI接口和JTAG-Core调试接口将互连裸芯所提供的接口与主设备MPU接口对应互连,实现高性能信息处理微系统中主设备MPU的扩展以及主设备和互连裸芯之间的高速通信。
1. 互联裸芯与MPU的接口系统可以满足MPU等主设备裸芯的集成与扩展。互连裸芯面向MPU主设备提供了主设备中断接口、DDR数据接口、SPI接口和JTAG-Core调试接口,通过将互连裸芯所提供的接口与主设备MPU接口对应互连可以实现高性能信息处理微系统中主设备MPU的扩展。
2. 主设备接口中SPI接口只作为启动BootRom读取不会在运行时占用带宽;DMA接口不直接参与数据搬运,因此数据量小;中断接口数据量小带宽占用小,因此将三个数据接口与中断接口通过各自的转换器仲裁与分配后接入一个路由器,可以在保证主设备接口整体性能的条件下有效降低地址映射的复杂度。
附图说明
图1是互联裸芯与MPU的接口系统的结构示意图;
图2是互联裸芯与MPU的接口系统的完整结构示意图;
图3是MPU的数据接口的的结构示意图;
图4是MPU与从设备之间的中断传输示意图;
图5是MPU0向中断地址写中断数据的示意图;
图6是MPU0中断接口打包发送中断事件数据包给MPU1;
图7是MPU1的中断接口解释数据包并产生相应的中断脉冲;
图8是DMA控制从设备-从设备的数据传输;
图9是从设备-从设备数据传输的流程图;
图10是MPU向DMA地址空间发送控制指令;
图11是DMA向源从设备发起读请求事件;
图12是源从设备向目的从设备发起写数据事件;
图13是目的从设备向DMA发起写响应事件;
图14是DMA向MPU发起中断;
图15是互联裸芯的结构示意图。
具体实施方式
现结合附图对本发明作进一步说明。
如图15所示,互联裸芯,包括:协议转换电路,协议转换电路包括多个协议转换模块,用于提供多种与外部连接的标准主流协议接口;外部互联接口,外部互联接口包括一对同步控制器,用于与其他互联裸芯进行通信;及内部裸芯级网络,内部裸芯级网络包括传输总线和路由器,同步控制器和协议转换模块均分别与内部裸芯级网络的边界节点连接,用于传输来自接口或其他互联裸芯的数据包。
功能裸芯通过标准协议总线与协议转换模块连接。
互联裸芯之间通过扩展总线(CIBP)连接。
互联裸芯主要由内部裸芯级网络(Network on Die,NoD)、协议转换电路和外部互联接口三部分组成。NoD用于数据路由和高速传输。协议转换电路提供多种与外部连接的标准主流协议接口,协议转换电路包括多个将NoD协议转换到主流协议的协议转换模块,用于与其他功能裸芯连接。外部互联接口主要由一对同步控制器组成,外部互联接口由同步控制器控制实现裸芯内外不同时钟域的数据传输。外部互联接口、协议转换电路的每个转换模块都分别与NoD中的一个边界节点连接,从而形成数据传输路径。
互联裸芯将中断请求以数据包的形式在网络中传输。
实施例一
如图1和图2所示,互联裸芯与MPU的接口系统,包括:数据接口、中断接口和调试接口;所述数据接口包括SPI接口、DDR数据接口和DMA控制接口,所述SPI接口用于MPU在启动阶段的自主启动,所述DMA控制接口用于DMA启动结束控制;所述中断接口用于接收来自网络的中断数据包并解析得到MPU需要的脉冲中断输入,同时中断接口接收到来自数据接口的中断地址操作并将其转换为中断事件发出;所述调试接口包括JTAG-Core调试接口,用于接收来自网络的调试数据包并翻译为JTAG协议用于MPU调试。
所述SPI接口、DDR数据接口、DMA控制接口和中断接口与互联裸芯中的同一个路由器连接;所述调试接口与互联裸芯中的另一个路由器连接。
多裸芯集成的高性能信息处理微系统可以满足MPU等主设备裸芯的集成与扩展。互连裸芯面向MPU主设备提供了主设备中断接口、DDR数据接口、SPI接口和JTAG-Core调试接口,如图1所示,通过将互连裸芯所提供的接口与主设备MPU接口对应互连可以实现高性能信息处理微系统中主设备MPU的扩展。
由于互连裸芯中的NoD可以将所有的访存操作转化为对应的数据包并通过裸芯内、裸芯间网络进行传输,因此对于主设备的访存请求,只需要主设备通过DDR数据接口以DDR数据格式发出访存请求给互连裸芯即可,互连裸芯的主设备DDR数据接口对其打包后将数据包发送到网络中。同时主设备的DDR数据接口也可以接收来自互连裸芯的数据响应,即互连裸芯的主设备DDR数据接口将响应数据包转换为DDR数据格式输入给主设备。
对于主设备的中断请求,主设备的地址空间中有一段固定的空间作为中断地址,主设备通过DDR数据接口向自身的中断地址中写中断信息即可完成中断请求的发送,互连裸芯的主设备中断接口在接收到中断信息后将中断请求打包为中断事件(为了处理数据传输而定义的事件,除此之外还定义了数据事件,包括读请求事件和读响应事件以及写数据事件和写响应事件)数据包发送到网络中。对于主设备的中断接收,互连裸芯的主设备中断接口根据规定的数据包格式对中断事件数据包进行解包,将其翻译为中断信号,主设备通过中断接口接收来自互连裸芯的中断信息,进而中断MPU。
主设备可以通过DMA控制接口对两个或两个以上的从设备之间的数据访问进行控制。与中断类似,主设备的地址空间中有一段固定的空间作为DMA的地址,因此主设备通过DDR数据接口对互连裸芯主设备接口中的DMA控制接口进行配置与启动,在DMA控制接口的控制下两个或两个以上的从设备之间可以进行数据传输。
主设备的SPI接口用于主设备在启动阶段的自主启动,MPU通过SPI接口发送对互连裸芯上的BootRom的读请求来读取MPU的启动代码,执行启动代码实现MPU的启动。
主设备的JTAG接口用来连接互连裸芯主设备接口中的JTAG-Core接口,MPU通过该接口接收来自互连裸芯的JTAG调试命令,实现高性能信息处理微系统中对主设备的调试。
具体的,如图2所示,完整的MPU接口分为三类:数据接口、中断接口、调试接口。互连裸芯面向MPU主设备提供了主设备中断接口、DDR数据接口、SPI接口和JTAG-Core调试接口,其中数据接口包含MPU的BootROM专有SPI接口、DDR数据接口、DMA控制接口,中断接口用于接收来自网络的中断数据包并解析得到MPU需要的脉冲中断输入,同时中断接口接收到来自DDR的中断地址操作并将其转换为中断事件发出,调试接口JTAG-CORE属于从接口类型,用于接收来自网络的调试数据包并翻译为JTAG协议用于MPU调试。
三个数据接口与中断接口通过各自的转换器仲裁与分配后接入一个路由器:这是由于这四个接口中SPI接口只作为启动BootRom读取不会在运行时占用带宽;DMA控制接口与传统DMA不同的是,这里的DMA控制接口仅仅作为DMA启动结束控制,不直接参与数据搬运,因此数据量小;中断接口数据量小带宽占用小,因此这四个接口接入同一路由器上,在保证主设备接口整体性能的条件下有效降低了地址映射的复杂度。当四个接口同时有数据包发送时,由仲裁电路仲裁后依次发出,当输入数据包到达此接口路由器接口时,分配电路会根据数据包中的事件类型与事件地址进行分发至各个接口:如果是中断事件则会分发到中断接口进行转换;如果是BootRom数据则会分发到SPI接口进行转换;如果是数据类型则会发送到数据接口或DMA控制接口。此外,MPU的调试接口独立于其余接口,作为常规的从数据接口用于接收来自网络的调试指令,这里将调试看作对MPU内部寄存器的读写。
实施例二
互联裸芯与MPU的通信方法,互联裸芯与MPU之间通过数据接口进行数据传输,通过中断接口进行中断传输,通过调试接口进行MPU调试;所述MPU通过DMA控制接口对两个或两个以上的从设备之间的数据访问进行控制;所述数据接口包括SPI接口、DDR数据接口和DMA控制接口;所述调试接口包括JTAG-Core调试接口。
所述MPU通过数据接口以DDR数据格式向互联裸芯发送访存请求;互联裸芯将响应数据包转换成DDR数据格式发送给MPU。
所述MPU向互联裸芯发送请求事件时生成请求数据包,生成请求数据包时包括以下步骤:利用可配置地址映射表将来自MPU的请求事件的地址信息转换为路由信息,用于表示数据包将在网络中通过的路径;在打包模块中生成数据包的头与尾,同时将事件内容生成体微片,构成一个完整的数据包;将数据包写入请求Buffer中,同时在消息队列中记录当前数据包的信息;所述互联裸芯将响应数据包生成响应信息,生成响应信息时包括以下步骤:从响应Buffer中读取数据包,同时从消息队列中消除对应的数据包记录;由解包模块对数据包的头与尾进行验证消除,并对数据包的体微片中的内容进行整合生成主设备需要的详细信号。
还包括使用看门狗对存在消息队列中的每个记录进行计数,从记录生成开始直到记录消除,如果一个数据包在消息记录中的保持时间超过了一定的阈值,看门狗计数溢出并生成中断告知MPU这个数据包在网络中丢失,数据传输失败,由MPU进行相应的处理。
所述中断传输包括MPU与MPU之间的主-主中断传输以及MPU与从设备之间的主-从中断传输;所述主-主中断传输包括以下步骤:所述MPU通过数据接口向所述MPU的地址空间中预先设定的一段固定中断地址写中断信息,中断接口将中断信息打包成中断事件数据包发送到所述互联裸芯中,另一个MPU通过中断接口接收中断事件数据包并进行解包,将其翻译为中断信号;所述主-从中断传输时,所述从设备的中断接口将来自从设备的中断信息收集后进行编码打包为中断事件数据包发送到所述互联裸芯中,所述MPU的中断接口接收中断事件数据包并进行解包,将其翻译为中断信号。
所述MPU通过DMA控制接口对两个或两个以上的从设备之间的数据访问进行控制时通过访问MPU的地址空间中预设的一段固定的DMA地址,将访问地址空间转化为对DMA的寄存器进行配置并启动DMA完成相应的数据搬移指令。
所述MPU通过DMA控制接口对两个或两个以上的从设备之间的数据访问进行控制包括以下步骤:第一步,MPU将数据搬运的地址信息和数据长度的配置信息通过数据接口写入DMA专属的地址空间中;第二步,DMA控制接口收到配置信息后向源从设备发送一个读请求事件,所述读请求事件中有特定的事件信息标志,所述从设备返回的数据返回到目的从设备;第三步,源从设备接收到读请求事件后,将需要读取的数据打包为写数据事件发送给目的从设备;第四步,目的从设备接收到写数据事件后返回一个写响应事件给DMA控制接口;第五步,DMA控制接口接收到写响应事件后产生中断脉冲告知MPU数据搬运完成。
主设备数据接口转换方法:
如图3所示,SPI、DDR(DMA)均作为数据类型接口,具有相同的硬件实现。
对于输入通道,其主要负责处理来自主设备的请求事件,用于生成请求数据包:首先利用可配置地址映射表将来自主设备的请求事件的地址信息转换为路由信息,用于表示数据包将在网络中通过的路径;然后在打包模块中生成数据包的头与尾,同时将事件内容生成体微片,构成一个完整的数据包;最后将数据包写入请求Buffer中,同时在消息队列中记录当前数据包的信息。
对于输出通道,其主要负责处理来自片上网络的响应数据包,用于生成主设备需要的响应信息:首先从响应Buffer中读取数据包,同时从消息队列中消除对应的数据包记录;然后由解包模块对数据包的头与尾进行验证消除,并对数据包的体微片中的内容进行整合生成主设备需要的详细信号。
另外为了避免由于事件依赖(一次事件必须严格完成后才能进行下一次事件)而造成主设备的一直等待,主设备协议转换接口处还具有看门狗模块,看门狗模块是一组计数器,在计数值满后生成一次脉冲。看门狗会对存在消息队列中的每个记录进行计数,从记录生成开始直到记录消除,如果一个数据包在消息记录中的保持时间超过了一定的阈值,看门狗计数溢出就会生成中断告知主设备这个数据包在网络中丢失,数据传输失败,需要由主设备进行相应的处理。
主设备中断接口转换方法:
中断接口不仅仅实现对中断事件进行响应,同时还要实现对中断事件的发出。主设备的地址空间中有一段固定的空间作为中断地址,主设备通过数据接口(DDR)向中断地址写中断信息后,中断控制器将此信息打包为中断事件数据包发出。
在NoD中,从设备-主设备中断的转发如图4所示,从设备接口处的中断接收接口将来自从设备的脉冲中断信息收集后进行编码打包为中断事件数据包,此数据包通过网络传递后到达主设备中断接口后,解包为相应的中断脉冲发送给主设备。
而NoD中主设备-主设备中断的传输如图5至图7所示,共分为3步:
第一步,如图5所示,MPU0向自身中断地址写中断信息数据。
第二步,如图6所示,中断接口根据中断信息产生中断数据包,并发往目的主设备MPU1。
第三步,如图7所示,MPU1的中断接口接收到中断数据包后解析并向MPU1产生中断脉冲。
主设备DMA控制接口转换方法:
现有的基本数据事件类型无法实现网络中从设备-从设备之间的数据传输,因为从设备接口无法主动发出请求事件只能被动接收请求事件,那么想要实现从设备-从设备数据传输,就需要额外的硬件来发出对应的请求事件,DMA控制接口则负责完成这个工作,如图8所示。
和中断接口类似,在MPU的地址空间中会有一段固定的地址空间划分给DMA控制接口,访问该地址空间会被转化为对DMA控制接口的寄存器进行配置并启动DMA完成相应的数据搬移指令,因此DMA控制接口作为DDR派生接口,当DDR中的数据读写地址落在DMA的地址空间中,那么这次数据读写不会通过DDR的数据接口发送至网络中而是由DMA控制接口进行解析并执行数据搬运。如图9所示,为一次MPU发起的从设备-从设备数据传输流程。
第一步,如图10所示,MPU将数据搬运的地址信息、数据长度等配置信息通过DDR接口写入DMA专属的地址空间中;
第二步,如图11所示,DMA控制接口收到配置信息后向源从设备发送一个读请求事件,这个读请求事件中有特定的事件信息标志该从设备返回的数据并非返回到MPU,而是返回到特定的目的从设备;
第三步,如图12所示,源从设备接收到读请求事件后,将需要读取的数据打包为写数据事件发送给目的从设备;
第四步,如图13所示,目的从设备接收到写数据事件后返回一个写响应事件给DMA控制接口;
第五步,如图14所示,DMA控制接口接收到写响应事件后产生中断脉冲告知MPU数据搬运完成。
采用上述方法的优点在于:
1.多裸芯集成的高性能信息处理微系统可以满足MPU等主设备裸芯的集成与扩展。互连裸芯面向MPU主设备提供了主设备中断接口、DDR数据接口、SPI接口和JTAG-Core调试接口,通过将互连裸芯所提供的接口与主设备MPU接口对应互连可以实现高性能信息处理微系统中主设备MPU的扩展。
2.主设备接口中SPI接口只作为启动BootRom读取不会在运行时占用带宽;DMA接口不直接参与数据搬运,因此数据量小;中断接口数据量小带宽占用小,因此将三个数据接口与中断接口通过各自的转换器仲裁与分配后接入一个路由器,可以在保证主设备接口整体性能的条件下有效降低地址映射的复杂度。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明权利要求的保护范围之内。

Claims (2)

1.互联裸芯与MPU的接口系统,其特征在于,包括:数据接口、中断接口和调试接口;所述数据接口包括SPI接口、DDR数据接口和DMA控制接口,所述SPI接口用于MPU在启动阶段的自主启动,所述DMA控制接口用于DMA启动结束控制;所述中断接口用于接收来自网络的中断数据包并解析得到MPU需要的脉冲中断输入,同时中断接口接收到来自数据接口的中断地址操作并将其转换为中断事件发出;所述调试接口包括JTAG-Core调试接口,用于接收来自网络的调试数据包并翻译为JTAG协议用于MPU调试;
所述SPI接口、DDR数据接口、DMA控制接口和中断接口与互联裸芯中的同一个路由器连接;所述调试接口与互联裸芯中的另一个路由器连接。
2.互联裸芯与MPU的通信方法,其特征在于,互联裸芯与MPU之间通过数据接口进行数据传输,通过中断接口进行中断传输,通过调试接口进行MPU调试;所述MPU通过DMA控制接口对从设备之间的数据访问进行控制;所述数据接口包括SPI接口、DDR数据接口和DMA控制接口;所述调试接口包括JTAG-Core调试接口;
所述MPU通过数据接口以DDR数据格式向互联裸芯发送访存请求;互联裸芯将响应数据包转换成DDR数据格式发送给MPU;
所述MPU向互联裸芯发送请求事件时生成请求数据包,生成请求数据包时包括以下步骤:利用可配置地址映射表将来自MPU的请求事件的地址信息转换为路由信息,用于表示数据包将在网络中通过的路径;在打包模块中生成数据包的头与尾,同时将事件内容生成体微片,构成一个完整的数据包;将数据包写入请求Buffer中,同时在消息队列中记录当前数据包的信息;
所述互联裸芯将响应数据包生成响应信息,生成响应信息时包括以下步骤:从响应Buffer中读取数据包,同时从消息队列中消除对应的数据包记录;由解包模块对数据包的头与尾进行验证消除,并对数据包的体微片中的内容进行整合生成主设备需要的详细信号;
还包括使用看门狗对存在消息队列中的每个记录进行计数,从记录生成开始直到记录消除,如果一个数据包在消息记录中的保持时间超过了一定的阈值,看门狗计数溢出并生成中断告知MPU这个数据包在网络中丢失,数据传输失败,由MPU进行相应的处理;
所述中断传输包括MPU与MPU之间的主-主中断传输以及MPU与从设备之间的主-从中断传输;
所述主-主中断传输包括以下步骤:所述MPU通过数据接口向所述MPU的地址空间中预先设定的一段固定中断地址写中断信息,中断接口将中断信息打包成中断事件数据包发送到所述互联裸芯中,另一个MPU通过中断接口接收中断事件数据包并进行解包,将其翻译为中断信号;
所述主-从中断传输时,所述从设备的中断接口将来自从设备的中断信息收集后进行编码打包为中断事件数据包发送到所述互联裸芯中,所述MPU的中断接口接收中断事件数据包并进行解包,将其翻译为中断信号;
所述MPU通过DMA控制接口对从设备之间的数据访问进行控制时通过访问MPU的地址空间中预设的一段固定的DMA地址,将访问地址空间转化为对DMA的寄存器进行配置并启动DMA完成相应的数据搬移指令;
所述MPU通过DMA控制接口对从设备之间的数据访问进行控制包括以下步骤:
第一步,MPU将数据搬运的地址信息和数据长度的配置信息通过数据接口写入DMA专属的地址空间中;
第二步,DMA控制接口收到配置信息后向源从设备发送一个读请求事件,所述读请求事件中有事件信息标志,所述从设备返回的数据返回到目的从设备;
第三步,源从设备接收到读请求事件后,将需要读取的数据打包为写数据事件发送给目的从设备;
第四步,目的从设备接收到写数据事件后返回一个写响应事件给DMA控制接口;
第五步,DMA控制接口接收到写响应事件后产生中断脉冲告知MPU数据搬运完成。
CN202110160514.3A 2021-02-05 2021-02-05 互联裸芯与mpu的接口系统及其通信方法 Active CN112860612B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110160514.3A CN112860612B (zh) 2021-02-05 2021-02-05 互联裸芯与mpu的接口系统及其通信方法
PCT/CN2021/138700 WO2022166425A1 (zh) 2021-02-05 2021-12-16 互联裸芯与mpu的接口系统及其通信方法
US17/626,824 US11971446B2 (en) 2021-02-05 2021-12-16 Interface system for interconnected die and MPU and communication method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110160514.3A CN112860612B (zh) 2021-02-05 2021-02-05 互联裸芯与mpu的接口系统及其通信方法

Publications (2)

Publication Number Publication Date
CN112860612A CN112860612A (zh) 2021-05-28
CN112860612B true CN112860612B (zh) 2022-09-16

Family

ID=75988047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110160514.3A Active CN112860612B (zh) 2021-02-05 2021-02-05 互联裸芯与mpu的接口系统及其通信方法

Country Status (3)

Country Link
US (1) US11971446B2 (zh)
CN (1) CN112860612B (zh)
WO (1) WO2022166425A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817908B (zh) * 2021-02-05 2023-06-20 中国电子科技集团公司第五十八研究所 裸芯间高速扩展系统及其扩展方法
CN112860612B (zh) * 2021-02-05 2022-09-16 中国电子科技集团公司第五十八研究所 互联裸芯与mpu的接口系统及其通信方法
CN114089172B (zh) * 2021-11-22 2024-04-09 中国电子科技集团公司第五十八研究所 一种pcie io扩展芯片的jtag调试方法
CN114328357A (zh) * 2022-01-17 2022-04-12 北京紫光青藤微系统有限公司 用于裸芯的互联通信方法、系统和集成合封芯片
US20230262148A1 (en) * 2022-02-15 2023-08-17 Raytheon Company Communication translation module and method
CN114679424B (zh) * 2022-03-31 2023-07-07 中科芯集成电路有限公司 一种多裸芯集成微系统dma实现方法
CN114721979A (zh) * 2022-03-31 2022-07-08 中科芯集成电路有限公司 一种面向互连裸芯与axi主设备的转换接口及通信方法
CN114756494A (zh) * 2022-03-31 2022-07-15 中国电子科技集团公司第五十八研究所 多裸芯互连的标准通信协议与片上包传输协议的转换接口
CN115794703B (zh) * 2022-11-18 2024-04-09 电子科技大学 一种基于分段确认的互连裸芯包传输方法
CN115964233B (zh) * 2022-11-18 2024-04-26 电子科技大学 一种基于自测节点的互连裸芯自测系统及方法
CN116016698B (zh) * 2022-12-01 2024-04-05 电子科技大学 一种面向RapidIO控制器与互连裸芯的对等式接口及数据交互方法
CN116684506B (zh) * 2023-08-02 2023-11-07 浪潮电子信息产业股份有限公司 数据处理方法、系统、电子设备及计算机可读存储介质
CN116955267B (zh) * 2023-09-20 2023-12-15 中国船舶集团有限公司第七〇七研究所 一种谐振陀螺惯导双处理器同步高速软件架构设计方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959288A (zh) * 2016-05-27 2016-09-21 姹や寒 一种电力电网系统中的网络协议转换及其相互通讯方法
CN107577635A (zh) * 2017-08-29 2018-01-12 西安微电子技术研究所 一种兼容ahb协议的非握手式jtag调试链路及其调试方法
CN108121672A (zh) * 2017-08-08 2018-06-05 鸿秦(北京)科技有限公司 一种基于NandFlash存储器多通道的存储阵列控制方法与装置
CN110209399A (zh) * 2018-09-29 2019-09-06 腾讯科技(深圳)有限公司 Fpga服务系统、数据处理方法及存储介质
CN111555901A (zh) * 2020-03-16 2020-08-18 中国人民解放军战略支援部队信息工程大学 灵活支持混合总线协议的芯片配置网络系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910092B2 (en) * 2001-12-10 2005-06-21 International Business Machines Corporation Chip to chip interface for interconnecting chips
US20040100900A1 (en) * 2002-11-25 2004-05-27 Fulcrum Microsystems, Inc. Message transfer system
CN101894093B (zh) * 2010-06-04 2012-05-09 哈尔滨工程大学 混合模式多cpu并行计算系统及控制方法
US11775378B2 (en) * 2019-12-16 2023-10-03 Micron Technology, Inc. Memory health status reporting
US11209483B2 (en) * 2020-02-28 2021-12-28 Micron Technology, Inc. Controller accessible test access port controls
CN112114744A (zh) * 2020-08-10 2020-12-22 西安交通大学 一种多通道全互联架构的ssd固态盘及其控制方法
CN112860612B (zh) * 2021-02-05 2022-09-16 中国电子科技集团公司第五十八研究所 互联裸芯与mpu的接口系统及其通信方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959288A (zh) * 2016-05-27 2016-09-21 姹や寒 一种电力电网系统中的网络协议转换及其相互通讯方法
CN108121672A (zh) * 2017-08-08 2018-06-05 鸿秦(北京)科技有限公司 一种基于NandFlash存储器多通道的存储阵列控制方法与装置
CN107577635A (zh) * 2017-08-29 2018-01-12 西安微电子技术研究所 一种兼容ahb协议的非握手式jtag调试链路及其调试方法
CN110209399A (zh) * 2018-09-29 2019-09-06 腾讯科技(深圳)有限公司 Fpga服务系统、数据处理方法及存储介质
CN111555901A (zh) * 2020-03-16 2020-08-18 中国人民解放军战略支援部队信息工程大学 灵活支持混合总线协议的芯片配置网络系统

Also Published As

Publication number Publication date
US11971446B2 (en) 2024-04-30
WO2022166425A1 (zh) 2022-08-11
US20220276304A1 (en) 2022-09-01
CN112860612A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
CN112860612B (zh) 互联裸芯与mpu的接口系统及其通信方法
US20220276973A1 (en) Data transmission event used for interconnected dies
US9736276B2 (en) Packetized interface for coupling agents
CN112817897B (zh) 互联裸芯与dsp/fpga的通信方法及其通信系统
EP3080708B1 (en) Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
CN108132897B (zh) 一种基于zynq平台软核的srio控制器
CN108107827B (zh) 一种基于zynq平台软核的srio控制方法
WO2022166422A1 (zh) 互联裸芯、互联微组件、互联微系统及其通信方法
CN110837486B (zh) 一种基于FPGA的FlexRay-CPCIe通信系统
CN114756493B (zh) 一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法
CN112835848B (zh) 互联裸芯的片间互联旁路系统及其通信方法
CN110635985A (zh) 一种FlexRay-CPCIe通信模块
CN114756494A (zh) 多裸芯互连的标准通信协议与片上包传输协议的转换接口
CN114721979A (zh) 一种面向互连裸芯与axi主设备的转换接口及通信方法
CN115622896A (zh) 一种axi4高速总线及多队列仿真验证方法及仿真验证装置
CN115982071A (zh) 一种面向ddr3控制器的片上网络转换接口
CN112835847B (zh) 一种用于互联裸芯的分布式中断传输方法及其系统
US20090327539A1 (en) Multiple Die System Status Communication System
KR101061187B1 (ko) 버스 시스템 및 그 제어 장치
CN112835834A (zh) 数据传输系统
CN116016698B (zh) 一种面向RapidIO控制器与互连裸芯的对等式接口及数据交互方法
Bhakthavatchalu Design and Implementation of MIPI I3C master controller SubSystems
JP2017004092A (ja) 集積回路間のシリアル通信システム
CN115543908A (zh) 基于FPGA的Aurora总线数据交互系统及方法
CN109597785A (zh) 一种基于AXI4接口的PCI Express总线适配多接口的设计方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant