CN1954304A - Pvdm(分组语音数据模块)通用总线协议 - Google Patents
Pvdm(分组语音数据模块)通用总线协议 Download PDFInfo
- Publication number
- CN1954304A CN1954304A CNA200580007248XA CN200580007248A CN1954304A CN 1954304 A CN1954304 A CN 1954304A CN A200580007248X A CNA200580007248X A CN A200580007248XA CN 200580007248 A CN200580007248 A CN 200580007248A CN 1954304 A CN1954304 A CN 1954304A
- Authority
- CN
- China
- Prior art keywords
- slave
- message
- data
- register
- dma engine
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
通用并行n比特宽数据路径通信总线允许了多个主要从属设备(例如DSP、微处理器、ASIC、FPGA等)与PVDM和其他设备一起使用。较高级别的协议允许了DMA引擎通过DMA引擎使多个主设备与多个从属模块直接接口。
Description
背景技术
路由选择平台包括具有主机处理器的主板,以及各种从属设备,例如数字信号处理器(DSP)、微处理器、专用集成电路(ASIC)和现场可编程门阵列(FPGA)。此外,许多主板包括用于支持分组语音数据模块(PVDM)的插槽。
主机处理器和从属设备之间的通信一般是利用每个设备的专有的专门接口来实现的。例如,某些设备具有专有接口,其他设备具有同步或非同步接口。此外,尚不能在没有主机处理器干预的情况下进行从属设备之间的直接通信。
另一个问题是帮助主机处理器对从属设备所控制的大型存储器进行的传送。主机处理器映射这些从属空间中的每一个是不实际的。
因此,需要一种提供主机处理器和从属模块之间的高效通信、高效的存储器利用和从属设备间通信的通用总线系统。
发明内容
在本发明的第一实施例中,一种新的协议和接口规范允许与现有和未来的从属设备进行事务。该协议和接口规范允许了与诸如调制解调器、CPU、微控制器之类的复杂从属设备交互。
在本发明的另一实施例中,DMA引擎向主设备提供了用直接访问方法或间接访问方法访问从属设备的能力。
在本发明的另一实施例中,利用PVDM通用总线协议在DMA引擎和从属设备上的邮箱寄存器之间传送所有数据。
在本发明的另一实施例中,DMA引擎向主设备提供了对从属设备的可寻址区域执行单字访问的能力。
在本发明的另一实施例中,通过该接口实现了从属设备之间的直接通信。
在本发明的另一实施例中,在启动期间DMA引擎与从属设备协商以确定所需的通信操作模式,其中包括总线宽度和异步/同步模式操作。
在阅读下面的详细描述和附图之后,本发明的其他特征和优点将会显而易见。
附图说明
图1是利用作为本发明一个实施例的接口耦合到PVDM的DMA的框图;
图2是示出耦合到PGBP的多个从属设备的框图;
图3是示出在执行间接写事务时本发明的实施例采用的步骤的流程图;
图4是示出在执行间接读事务时本发明的实施例采用的步骤的流程图;
图5示出在标准同步模式中耦合的系统;以及
图6示出在源同步模式中耦合的系统。
具体实施方式
现将详细描述本发明的各种实施例。这些实施例的示例在附图中示出。虽然将结合这些实施例描述本发明,但是应当理解,并不希望将本发明限制到任何实施例。相反,希望覆盖可以包括在由所附权利要求所限定的本发明的精神和范围之内的备选、修改和等同物。在下面的描述中,阐述了许多具体细节以提供对各种实施例的透彻理解。但是,没有这些具体细节中的某些或全部也能实现本发明。在其他情况下,没有详细描述公知的过程操作,以避免不必要地模糊本发明的主题。
在本发明的一个实施例中,定义了通用并行n比特宽数据路径通信总线,以允许多个主要从属设备(DSP、微处理器、专用IC/FPGA)用于与通用PVDM模块接口,在下文中将该实施例称为PVDM n接口,其定义了通用总线协议(PGBP)。总线本身没有奇偶性或CRC硬件数据完整性校验。但我们允许在消息中提供CRC/奇偶性扩展。更高级别的协议允许DMA引擎接口多个主设备(主机处理器等),以通过DMA(直接存储器访问)引擎与多个PVDM模块直接接口。
所描述的实施例提供了以下特征:
·超高速源同步、高速同步和低速异步模式。同步速度将会依赖于共享总线的模块的负载而变化。总线在异步模式中启动,其中启用了总线模式发现。
·n比特双向并行数据总线,具有总线宽度可发现模式
·消息/帧传递接口
·MSI(消息信号中断)
·通过消息传送接口支持多个主设备
·对于每个设备,可扩展到支持32个或更多个从属寄存器
下面将详细描述这些特征中的每一个。
PVDM-n接口向主机处理器(主设备)提供了向PVDM模块上的从属设备发送数据以及从其接收数据的方法。在主机看来,该接口是一个连续的存储器块,所有的地址转换和主设备选择都由DMA引擎来处理。在下文中,从DMA到从属设备的传送被称为外出传送,从从属设备到DMA的传送被称为进入传送。
图1是示出本实施例中的PGBP接口的框图。在图1中,DMA引擎10通过PGPB接口耦合到从属设备(PVDM II)12。多个主设备14通过主接口总线16耦合到DMA引擎10。正如本领域中已知的,主接口总线可以是PCI总线、超传输总线、PCI-X总线或数字系统中的其他总线。在图1中,只示出了一个PVDM插槽耦合到PGPB接口。但是,如图2所示,多个PVDM插槽和从属设备可以耦合到该接口。图2还示出了主设备14的可寻址存储器区域20和第二从属设备S2的可寻址存储器区域22。
下表描述了PGBP接口的引脚功能:
名称 | 引脚数目 | 方向 | 描述 |
MAST_DATA[n:O] | n(16/32/ | I/O/Z | n比特并行数据总线。协议允许此总线 |
等等) | 被用作复用的地址/数据总线,以提供对从属设备内的更大的存储器分配的访问。在DMA引擎或主板上推荐上拉电阻器。 | ||
MAST_ADDR[m:O] | m | I | m比特地址总线。此地址总线提供对从属设备接口寄存器的访问。大多数寄存器用作邮箱/FIFO,以在主设备和从属设备之间传送消息。如果MAST_DATA[n:O]被用于复用模式中,则这些地址总线不需要存在。 |
MAST_RDWR | l | I | 主读写信号。高-读从属设备低-写从属设备 |
MAST_DATA_STROBE | l | O | 同步模式中的同步数据有效使能。异步模式中的数据有效锁存使能。DMA引擎保证数据选通脉冲的下降缘上的MAST_DATA上的有效数据。DMA引擎预期在数据选通脉冲的上升缘上的MAST_DATA上采样到有效数据。 |
SLAVE_WAIT | l | O | 从属设备向主设备指示它尚未准备好接收数据。只要该信号被从属设备断言(assert),主设备就必须一直等到该信号被解除断言为止才能继续读/写事务。 |
SLAVE_SELECTn | n | I | 从DMA引擎到从属设备的指示从属设备选择的从属设备选择信号。 |
CLKOn | n | O | CLKO信号。时钟输出信号定义将会依 |
赖于所协商的接口配置能力。CLK信号在异步模式中不是必需的,在同步模式中是可选的,如果外部系统向每个模块提供时钟的话。对于源同步操作CLK信号是必需的。 | |||
CLKIn | n | I | CLKI信号。时钟输入信号定义将会依赖于所协商的接口配置能力。CLKI信号在异步或同步模式中都不是必需的。对于源同步操作CLKI信号是必需的。 |
RESET | l | I | 复位信号 |
如图2所示,可以通过单个PVDM模块访问多个从属设备。在2003年12月2日递交的题为“METHOD AND APPARATUS TO COMBINEHETEROGENEOUS HARDWARE INTERFACES FOR NEXTGENERATION PACKET VOICE MODULE DEVICES”的共同未决、共同转让的专利申请A/N 10/725,691中公开了用于通过单个PVDM访问多个从属设备的接口,该PVDM在本说明书中被称为PVDM-II模块,这里通过引用将该专利申请结合进来用于所有目的。
从而,对于具有两个从属设备的PVDM接口,需要2条SLAVE_SELECT线路来选择S1A或S1B。其他从属设备可以用单条SLAVE_SELECTn线路来选择。
每个从属设备通过一组邮箱寄存器接口到PGBP,所述寄存器包括从属设备RX/TX状态寄存器、从属设备外出MSI(消息信号中断)寄存器、从属设备外出邮箱寄存器、从属设备进入邮箱寄存器以及从属设备间接访问地址寄存器。下文将更详细描述这些寄存器中的每一个。
主设备可以用32个邮箱寄存器(依赖于地址比特可用性而可扩展)与从属设备通信。这些寄存器提供了进入从属设备的存储器空间中的快速事务的能力,还允许了通过地址邮箱寄存器读/写更大的从属设备存储器空间。为了允许支持当前只提供4比特地址支持的模块,从MAST_RDWR信号获得第五地址比特。这向从属设备提供了16个只写寄存器和16个只读寄存器的能力。任何需要被读/写的寄存器在从属设备内都会被内部掩蔽。
消息/帧被DMA引擎用邮箱方案传送到/传送自从属设备。
以下是对从属设备为了与本实施例的PGBP接口而需要的寄存器的详细描述及其存储器映射:
地址 名称 描述 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0x00 | RSVD | 预留 | 预留 | |||||||||||
0x01 | EMR | 外出MSI | 预留 | IRI | IWI | EFW | 预留 | EMID | ||||||
0x02 | XSR | Rx/Tx状态 | IMID | 预留 | IWR | IRR | ERR | ES1 | ES2 | IRC | IWC | IMA | ||
0x03 | IMS | 进入消息大小 | 进入消息大小寄存器 | |||||||||||
0x04 | MM3 | 消息邮箱3 | 进入/外出消息邮箱寄存器3比特[63∶48]MSB | |||||||||||
0x05 | MM2 | 消息邮箱2 | 进入/外出消息邮箱寄存器2比特[47∶32] | |||||||||||
0x06 | MM1 | 消息邮箱1 | 进入/外出消息邮箱寄存器1比特[31∶16] | |||||||||||
0x07 | MM0 | 消息邮箱0 | 进入/外出消息邮箱寄存器0比特[15∶0]LSB | |||||||||||
0x08 | RSVD | 预留 | 预留 | |||||||||||
0x09 | RSVD | 预留 | 预留 | |||||||||||
0x0A | RSVD | 预留 | 预留 | |||||||||||
0x0B | RSVD | 预留 | 预留 | |||||||||||
0x0C | 1A0 | 间接访问地址0 | 间接访问地址寄存器0比特[15∶0]LSB | |||||||||||
0x0D | IA1 | 间接访问地址1 | 间接访问地址寄存器1比特[31:16] | |||||||||||
0x0E | IA2 | 间接访问地址2 | 间接访问地址寄存器2比特[47∶32] | |||||||||||
0x0F | IA3 | 间接访问地址3 | 间接访问地址寄存器3比特[63∶48]MSB |
从属设备外出MSI寄存器(EMR)被主设备用来中断从属设备并基于断言的字段执行适当的动作。
字段 | 掩码 | 读/写 | 描述 |
EMID:外出主设备ID | 0x0007 | 写 | 发起外出消息的主设备的ID |
RSVD:预留 | 0x0078 | 写 | 为个体设备实现预留。 |
EFW:外出帧已写 | 0x0080 | 写 | 外出帧已被写到从属设备(中断)1-(由主机断言)外出帧已写0-(由从属设备解除断言)外出帧已提供 |
IWI:间接写中断 | 0x0100 | 写 | 完成对外出消息邮箱和从属设备间接访问地址寄存器的写。发起从属设备内的写操作。 |
IRI:间接读中断 | 0x0200 | 写 | 完成对从属设备间接访问地址寄存器的写。发起从属设备内的读操作。 |
RSVD:预留 | 0xFC00 | 写 | 为个体设备实现预留。 |
从属设备RX/TX状态寄存器(XSR)告知从属设备内的各种条件的状态。它是从DMA引擎/主设备读取的只读寄存器。
字段 | 掩码 | 读/写 | 描述 |
IMA:进入消息可用 | 0x0001 | R | 该比特告知DMA引擎/主设备:从属设备在内部队列中有消息可用。1(断言)-进入数据可用0(解除断言)-从属设备中没有进入数据 |
IWC:间接写完成 | 0x0002 | R | 间接写完成 |
IRC:间接读完成 | 0x0004 | R | 间接读完成 |
ES2:外出空间x2可用 | 0x0008 | R | 从属设备上有用于两个最大消息(一般1500字节)的外出空间可用 |
ES1:外出空间x1可 | 0x0010 | R | 从属设备上有用于一个最大消息(一般 |
用 | 1500字节)的外出空间可用 | ||
ERR:从属设备错误 | 0x0020 | R | PGBP从属设备上发生了错误。 |
IRR:间接读准备就绪 | 0x0040 | R | 告知DMA引擎/主设备:主设备可以发起或完成间接读操作。1(断言)-从属设备空闲并且准备好读或已经完成从内部存储器读数据0(解除断言)-从属设备正忙于读数据 |
IWR:间接写准备就绪 | 0x0080 | R | 告知DMA引擎/主设备:主设备可以执行间接写操作或已完成最近的写。1(断言)-从属设备空闲并且准备就绪0(解除断言)-从属设备正忙于完成写 |
RSVD:预留 | 0x1F00 | R | 为个体设备实现预留 |
IMID:进入主设备ID | 0xE000 | R | 进入消息期望的PGBP主设备的ID |
在本实施例中不需要从属设备进入消息大小寄存器(IMS)。但是如果DMA引擎/从属设备要求实现该寄存器,那么它们也可被定义。
字段 | 掩码 | 读/写 | 描述 |
进入消息大小 | 0xFFFF | 读 | 进入消息大小,以字节为单位 |
从属设备进入/外出消息邮箱寄存器(MM0-3)允许从属设备进行高达64比特的操作。如果从属设备被确定用于32比特操作,则寄存器2和3中的数据被忽略。
从属设备进入/外出消息邮箱寄存器0
字段 | 掩码 | 读/写 | 描述 |
数据[15∶0] | 0xFFFF | 写 | 到从属设备的进入/外出数据比特15∶0 |
从属设备进入/外出消息邮箱寄存器1
字段 | 掩码 | 读/写 | 描述 |
数据[31∶16] | 0xFFFF | 写 | 到从属设备的进入/外出数据比特31∶16 |
从属设备进入/外出消息邮箱寄存器2
字段 | 掩码 | 读/写 | 描述 |
数据[47∶32] | 0xFFFF | 写 | 到从属设备的进入/外出数据比特47∶32 |
从属设备进入/外出消息邮箱寄存器3
字段 | 掩码 | 读/写 | 描述 |
数据[63∶48] | 0xFFFF | 写 | 到从属设备的进入/外出数据比特63∶48 |
从属设备间接访问地址寄存器(IA 0-3)允许从属设备进行高达64比特寻址的操作。如果从属设备被确定用于32比特地址操作,则寄存器2和3中的地址被忽略。
从属设备间接访问地址寄存器0
字段 | 掩码 | 读/写 | 描述 |
地址[15∶0] | 0xFFFF | 写 | 到从属设备的地址比特15∶0 |
从属设备间接访问地址寄存器1
字段 | 掩码 | 读/写 | 描述 |
地址[31∶16] | 0xFFFF | 写 | 到从属设备的地址比特31∶16 |
从属设备间接访问地址寄存器2
字段 | 掩码 | 读/写 | 描述 |
地址[47∶32] | 0xFFFF | 写 | 到从属设备的地址比特47∶32 |
从属设备间接访问地址寄存器3
字段 | 掩码 | 读/写 | 描述 |
地址[63∶48] | 0xFFFF | 写 | 到从属设备的地址比特63∶48 |
DMA引擎向主设备提供了用两种方法访问从属设备的能力-直接方法(也称为DMA访问)和/或间接方法。直接方法要求DMA引擎帮助将去往/来自主设备的可寻址存储器区域的全部分组数据移动到/移动自从属设备上的消息传递接口/可寻址存储器区域。间接方法要求主设备用DMA引擎来执行从属设备中的可寻址区域的单字访问(读/写)。
首先将描述用于执行直接外出和进入访问的技术。在外出直接访问中,DMA引擎代表主设备执行其中数据从主设备移动到从属设备的事务。而在进入直接访问中,DMA引擎代表主设备执行其中数据从从属设备移动到主设备的事务。类似地,对于间接事务,用单字消息来取代消息。
外出消息传送-主设备请求DMA引擎或对DMA引擎进行编程以将消息传送到从属设备。DMA引擎查询从属设备RX/TX状态寄存器(外出空间可用比特)并确定从属设备是否准备好接受任何新消息。在此实施例中,消息大小是根据应用而定的,并且一般设置为1500字节。如果有足够的空间并且从属设备准备就绪,DMA引擎就将消息从主设备的可寻址存储器区域移动到从属设备的邮箱寄存器。该传送是用下文详细定义的物理接口操作来执行的。
消息净荷移动是对一组两到四个(可编程)16比特邮箱寄存器完成的,这些寄存器被称为外出消息邮箱寄存器[0..3]。DMA引擎按循环顺序[0,1,2,3,0,1,2,3,....]或[0,1,0,1,0,1,....]以0到1/3(依赖于编程值)的顺序向这些邮箱寄存器写数据。在从主设备到从属设备的数据移动期间,如果从属设备未准备好接收更多数据,则它可以断言SLAVE_WAIT信号以向DMA引擎指示在继续数据传送之前等待。
在完成净荷移动之后,DMA引擎更新外出MSI寄存器的帧已写比特,以告知从属设备消息传送完成。此外,DMA引擎更新将消息移动到了从属设备的主设备的ID并断言外出MSI寄存器中的外出中断比特。这是为了请求从属设备对刚才传送的消息执行内部动作。
进入消息传送-主设备对DMA引擎进行编程以便只要从属设备有消息要发送就从从属设备传送消息。DMA引擎不断查询从属设备RX/TX状态寄存器中的进入消息可用比特。如果该比特被置位,则它告知DMA引擎将消息移动到由进入主设备ID比特(在从属设备RX/TX状态寄存器中)所指示的主设备。DMA引擎现在用下文定义的物理接口操作发起从从属设备到主设备的消息传送。
净荷移动是从一组两到四个(可编程)16比特邮箱寄存器完成的,这些寄存器被称为进入消息邮箱寄存器[0..3]。DMA引擎按循环顺序[0,1,2,3,0,1,2,3,....]或[0,1,0,1,0,1,....]以0到1/3(依赖于编程值)的顺序从这些邮箱寄存器读数据。在整个消息移动期间,如果从属设备未准备好传送更多数据,则它可以断言SLAVE_WAIT信号以向DMA引擎指示在继续数据传送之前等待。旦DMA引擎发起了消息传送就需要始终接受数据。
在此实施例中,来自从属设备的净荷中的第一短字可以指示要从从属设备传送的消息的大小。但是,这并不是协议工作所必需的,并且ING_MESSAGE_SIZE_REG可被从属设备用来指示事务大小。
如图2所示,从属设备S2可以访问它自己的存储器空间S2存储器。由于此存储器空间未被直接存储器映射在主设备的存储器空间内,因此主设备必须用间接访问来将数据传送到/传送自从属设备存储器区域(S2存储器)。
间接从属设备存储器写-在间接从属设备存储器写操作期间,主设备读取保存在从属设备RX/TX状态寄存器中的间接写准备就绪比特。该比特告知主设备它可以执行间接从属设备存储器写操作(利用DMA引擎)。如果从属设备准备好传送,则主设备将64比特/32比特地址写在间接访问地址寄存器中,将64比特/32比特数据写到外出消息邮箱寄存器[0..3]。在完成对邮箱寄存器的写之后,主设备随后向外出MSI寄存器写入间接写中断比特,以请求从属设备发起对其存储器区域内的被请求地址的间接写。在发起对外出MSI寄存器的写之后,从属设备将会清除间接写准备就绪比特,以指示从属设备正在执行写。一旦写完成,从属设备将会重新断言从属设备RX/TX状态寄存器中的间接写准备就绪比特。
间接从属设备存储器读-在间接从属设备存储器读操作期间,主设备读取保存在从属设备RX/TX状态寄存器中的间接读准备就绪比特。该比特告知主设备它可以执行间接从属设备存储器读操作。如果从属设备准备好传送,则主设备将64比特/32比特地址写在间接访问地址寄存器中。在完成对地址寄存器的写之后,主设备随后向外出MSI寄存器写入间接读中断比特,以请求从属设备发起对其存储器区域内的被请求地址的间接读。在对外出MSI寄存器写之后,从属设备将会清除间接读准备就绪比特,以指示从属设备正在执行从其内部存储器映射读的操作并且正将值加载在进入消息邮箱寄存器[0..3]中。一旦读完成,从属设备将会重新断言从属设备RX/TX状态寄存器中的间接读准备就绪比特。主设备将会查询该比特以查明它是否被重新断言,一旦它准备就绪,主设备就可以完成对进入消息邮箱寄存器[0..3]的读。
从而,如图1所示,间接访问特征允许了主设备在主存储器区域(A)与所需从属设备存储器的区域(S2存储器的区域(B))之间传送数据,而不要求主设备在其存储器空间中包括从属设备存储器。
本实施例提供了在没有主机处理器介入的情况下的从属设备间的直接通信。例如,在图2中,第二从属设备S2可以通过将DMA引擎编程为用直接或间接方法访问S4,从而直接与第四从属设备S4通信。第二从属设备S2利用主总线接口(未示出)来对DMA引擎编程。
DMA引擎提供对PGBP总线的同步操作和/或PGBP总线的异步操作的支持。同步操作是经由源同步时钟操作或传统的同步操作来支持的。PGBP接口通过多负载PVDM-II模块允许支持很高的吞吐量。同步/源同步操作允许高达100MHz/100MHz DDR(双倍数据速率)总线操作(依赖于系统体系结构),从而提供了1200/TBDMbs的最大原始吞吐量。异步操作允许与不能适应同步模式的最小偏移要求的模块接口。异步操作支持较低的300Mbps的原始吞吐量(实际吞吐量大约是理论数字的75%)。
在引导(bootstrapping)阶段期间,DMA引擎在异步模式中工作,以允许与不能在同步模式中通信的低性能从属设备握手。这允许了DMA引擎/主机和从属设备协商所需的操作模式-源同步、同步和/或异步。此外,DMA引擎将会协商总线接口宽度。初始总线宽度为8/16(这是DMA引擎中硬配置的),但是通过与从属设备协商可以动态增加。
该协商向PGBP提供了巨大的灵活性和可扩展性,并且允许了就数据传送速度、系统时钟类型和总线宽度而言具有不同能力的从属设备被耦合到此实施例的PGBP。
现将参考图5和6描述用于实现同步和源同步接口的硬件接口的示例。
图5示出了传统的同步模式。在此模式中,外部系统时钟设备可被用于将时钟分发到每个端点。设计变成了标准的多分支(multi-drop)同步接口,其中端点定时经由匹配长度时钟分发技术控制。
图6示出了源同步模式。在此模式中,DMA块接口被配置为对于每个PVDM接口具有单个时钟输出和单个时钟输入。DMA块基于公共的共享主时钟向每个PVDM提供数据。源自PVDM的数据基于个体接收时钟输入(CLKIn)被接收。MAST_DATA总线以菊链型总线或星型拓扑的形式布置到PVDM模块。每个CLKOn信号以确保写数据和CLKOn信号边缘之间的固定定时关系所需的长度被单独发送到每个PVDM模块。PVDM提供CLKIn时钟,DMA块接收来自每个PVDM的单独的时钟,这些时钟随后被用于将数据接收到个体读FIFO中。注意,对于星型拓扑,接收时钟相位关系是相同的,从而产生单个读FIFO实现。该机制允许了完全确定性的源同步行为,而无需时钟选通。
本发明可以实现为硬件和/或存储在计算机可读介质上的由数字计算机执行的程序代码。计算机可读介质可以包括磁介质、光介质、编码了数字信息的电磁场等等。
现已参考优选实施例描述了本发明。现在,备选和替换方案对于本领域的技术人员来说显而易见。例如,总线线路的特定数目将会根据系统要求而变。此外,中断比特的查询可以由主动中断DMA引擎所取代。因此,除了所附权利要求书所规定的以外,不希望限制本发明。
Claims (10)
1.一种处于主设备和一个或多个从属模块之间的接口,包括:
主设备;
具有一组可寻址寄存器的从属设备,所述寄存器包括外出邮箱寄存器、进入邮箱寄存器和间接访问地址寄存器;
通过第一总线耦合到所述主设备并且通过第二总线耦合到所述从属设备的直接存储器访问(DMA)引擎,所述第二总线包括:
一组双向数据线路,用于在所述从属设备和所述DMA引擎之间传输数据;
一组主地址线路,用于将地址数据从所述DMA引擎传输到所述从属设备;
主数据选通脉冲,用于选通数据;
主读/写信号,用于指示数据是将被从所述从属设备读取还是将被写到所述从属设备;
一组从属设备选择信号,用于选择连接到所述第二总线的多个从属设备之一;
从属设备等待信号,由从属设备断言以延迟数据传送;
从属设备复位信号,
时钟输出信号,以及
时钟输入信号;
其中,所述DMA引擎通过向所述从属设备断言从属设备选择信号并经由所述双向数据线路组将数据传送到所述从属设备外出或进入数据寄存器来执行对所述从属设备的直接数据传送,并且通过经由所述双向数据线路组将地址数据写到所述从属设备的间接地址寄存器来执行对从属设备存储器的间接数据传送,其中所述从属设备利用其自己的存储器映射和所述地址数据来在由所述地址数据指示的位置和所述DMA引擎之间传送数据。
2.如权利要求1所述的接口,其中所述DMA引擎与从属设备协商以实现异步、同步或源同步数据传送。
3.如权利要求1所述的接口,其中所述DMA引擎在复位期间与所有从属设备协商以确定可用于传送数据的最大总线宽度。
4.如权利要求1所述的接口,其中:
所述从属设备包括状态寄存器和消息信号中断(MSI)寄存器;并且
其中所述从属设备断言所述状态寄存器中的比特以指示它准备好进行事务,并且所述DMA引擎断言所述MSI寄存器中的比特以指示事务何时完成。
5.一种用于允许DMA引擎向多个主设备提供对多个从属设备的访问的方法,协议由所述DMA引擎、所述主设备和所述从属设备上的硬件和软件实现,所述方法包括以下步骤:
为实现对从属设备的直接消息传送:
访问从属设备状态寄存器以读取直接消息准备就绪状态比特,该比特在所述从属设备准备好传送数据时被置位;
如果所述直接消息准备就绪状态比特被置位,则用所述DMA引擎和从属设备邮箱寄存器传送消息数据;
设置所述从属设备处的消息传送完成状态中断以指示所述消息传送何时完成;以及
为实现对从属设备的存储器空间的间接数据传送:
访问从属设备状态寄存器以读取间接消息准备就绪状态比特,该比特在所述从属设备准备好传送数据时被置位;
如果所述间接消息准备就绪状态比特被置位,则用所述DMA引擎和从属设备间接地址邮箱寄存器传送地址数据;
设置所述从属设备处的间接传送消息中断比特以发起所述间接传送;
如果所述间接消息准备就绪状态比特被置位则在所述DMA引擎和从属设备邮箱寄存器之间传送消息数据,其中所述从属设备利用其自己的存储器映射和所述地址数据来在由所述地址数据所指示的位置和所述DMA引擎之间传送数据;以及
设置所述从属设备处的消息传送完成状态中断以指示所述消息传送何时完成。
6.如权利要求5所述的方法,还包括以下步骤:
与所有从属设备协商以实现异步、同步或源同步数据传送。
7.如权利要求5所述的方法,还包括以下步骤:
在复位后以固定总线宽度启动所述总线,然后与所有从属设备协商以实现可接受的总线比特宽度。
8.一种用于允许DMA引擎向多个主设备提供对多个从属设备的访问的系统,协议由所述DMA引擎、所述主设备和所述从属设备上的硬件和软件实现,所述系统包括:
用于实现对从属设备的直接消息传送的装置,其包括:
用于访问从属设备状态寄存器以读取直接消息准备就绪状态比特的装置,该比特在所述从属设备准备好传送数据时被置位;
用于在所述直接消息准备就绪状态比特被置位的情况下用所述DMA引擎和从属设备邮箱寄存器传送消息数据的装置;
用于设置所述从属设备处的消息传送完成状态中断以指示所述消息传送何时完成的装置;以及
用于实现对从属设备的存储器空间的间接数据传送的装置,其包括:
用于访问从属设备状态寄存器以读取间接消息准备就绪状态比特的装置,该比特在所述从属设备准备好传送数据时被置位;
用于在所述间接消息准备就绪状态比特被置位的情况下用所述DMA引擎和从属设备间接地址邮箱寄存器传送地址数据的装置;
用于设置所述从属设备处的间接传送消息中断比特以发起所述间接传送的装置;
用于在所述间接消息准备就绪状态比特被置位的情况下在所述DMA引擎和从属设备邮箱寄存器之间传送消息数据的装置,其中所述从属设备利用其自己的存储器映射和所述地址数据来在由所述地址数据所指示的位置和所述DMA引擎之间传送数据;以及
用于设置所述从属设备处的消息传送完成状态中断以指示所述消息传送何时完成的装置。
9.如权利要求8所述的系统,还包括:
用于与所有从属设备协商以实现异步、同步或源同步数据传送的装置。
10.如权利要求8所述的系统,还包括:
用于在复位后以固定总线宽度启动所述总线,然后与所有从属设备协商以实现可接受的总线比特宽度的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/798,514 | 2004-03-10 | ||
US10/798,514 US7200692B2 (en) | 2004-03-10 | 2004-03-10 | PVDM (packet voice data module) generic bus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1954304A true CN1954304A (zh) | 2007-04-25 |
CN100483373C CN100483373C (zh) | 2009-04-29 |
Family
ID=34991471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200580007248XA Expired - Fee Related CN100483373C (zh) | 2004-03-10 | 2005-02-11 | Pvdm(分组语音数据模块)通用总线协议 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7200692B2 (zh) |
EP (1) | EP1730643B1 (zh) |
CN (1) | CN100483373C (zh) |
CA (1) | CA2558360A1 (zh) |
WO (1) | WO2005091812A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231142A (zh) * | 2011-07-21 | 2011-11-02 | 浙江大学 | 一种带有仲裁器的多通道dma控制器 |
CN107220024A (zh) * | 2017-05-19 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种基于fpga的数据处理方法、装置及系统 |
CN113392058A (zh) * | 2021-06-11 | 2021-09-14 | 上海商米科技集团股份有限公司 | 一种安卓系统与低速模块的数据同步交互方法和装置 |
CN113778328A (zh) * | 2020-06-09 | 2021-12-10 | 慧与发展有限责任合伙企业 | 在半导体封装之间引导控制数据 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040131072A1 (en) | 2002-08-13 | 2004-07-08 | Starent Networks Corporation | Communicating in voice and data communications systems |
JP2006526854A (ja) * | 2003-06-03 | 2006-11-24 | スターレント ネットワークス コーポレイション | バスを介する通信のシステムおよび方法 |
US7948448B2 (en) | 2004-04-01 | 2011-05-24 | Polyvision Corporation | Portable presentation system and methods for use therewith |
US8411695B1 (en) * | 2005-05-23 | 2013-04-02 | Juniper Networks, Inc. | Multi-interface compatible bus over a common physical connection |
US7716395B2 (en) * | 2006-12-29 | 2010-05-11 | Intel Corporation | Low latency mechanism for data transfers between a media controller and a communication device |
DE102007029833B4 (de) * | 2007-06-28 | 2019-03-28 | Texas Instruments Deutschland Gmbh | Mikrocontroller mit Datenmodifikationsmodul und System umfassend ein Datenmodifikationsmodul |
US8938590B2 (en) * | 2008-10-18 | 2015-01-20 | Micron Technology, Inc. | Indirect register access method and system |
JP4740356B2 (ja) * | 2009-06-30 | 2011-08-03 | 富士通株式会社 | メディア配信切替え方法、受信装置、送信装置 |
US9043585B2 (en) | 2010-03-31 | 2015-05-26 | Cisco Technology, Inc. | Dynamic energy savings for digital signal processor modules using plural energy savings states |
US8667193B2 (en) * | 2011-04-29 | 2014-03-04 | Qualcomm Incorporated | Non-ported generic device (software managed generic device) |
US9043634B2 (en) | 2011-04-29 | 2015-05-26 | Qualcomm Incorporated | Methods, systems, apparatuses, and computer-readable media for waking a SLIMbus without toggle signal |
US9065674B2 (en) | 2011-04-29 | 2015-06-23 | Qualcomm Incorporated | Multiple slimbus controllers for slimbus components |
US10834820B2 (en) | 2013-08-06 | 2020-11-10 | Bedrock Automation Platforms Inc. | Industrial control system cable |
US12061685B2 (en) | 2011-12-30 | 2024-08-13 | Analog Devices, Inc. | Image capture devices for a secure industrial control system |
US8862802B2 (en) | 2011-12-30 | 2014-10-14 | Bedrock Automation Platforms Inc. | Switch fabric having a serial communications interface and a parallel communications interface |
US9727511B2 (en) | 2011-12-30 | 2017-08-08 | Bedrock Automation Platforms Inc. | Input/output module with multi-channel switching capability |
US8971072B2 (en) | 2011-12-30 | 2015-03-03 | Bedrock Automation Platforms Inc. | Electromagnetic connector for an industrial control system |
US10834094B2 (en) | 2013-08-06 | 2020-11-10 | Bedrock Automation Platforms Inc. | Operator action authentication in an industrial control system |
US11144630B2 (en) | 2011-12-30 | 2021-10-12 | Bedrock Automation Platforms Inc. | Image capture devices for a secure industrial control system |
US9191203B2 (en) | 2013-08-06 | 2015-11-17 | Bedrock Automation Platforms Inc. | Secure industrial control system |
US9467297B2 (en) | 2013-08-06 | 2016-10-11 | Bedrock Automation Platforms Inc. | Industrial control system redundant communications/control modules authentication |
US9437967B2 (en) | 2011-12-30 | 2016-09-06 | Bedrock Automation Platforms, Inc. | Electromagnetic connector for an industrial control system |
US11967839B2 (en) | 2011-12-30 | 2024-04-23 | Analog Devices, Inc. | Electromagnetic connector for an industrial control system |
US9600434B1 (en) | 2011-12-30 | 2017-03-21 | Bedrock Automation Platforms, Inc. | Switch fabric having a serial communications interface and a parallel communications interface |
US11314854B2 (en) | 2011-12-30 | 2022-04-26 | Bedrock Automation Platforms Inc. | Image capture devices for a secure industrial control system |
US8868813B2 (en) | 2011-12-30 | 2014-10-21 | Bedrock Automation Platforms Inc. | Communications control system with a serial communications interface and a parallel communications interface |
US10613567B2 (en) | 2013-08-06 | 2020-04-07 | Bedrock Automation Platforms Inc. | Secure power supply for an industrial control system |
CN111293495B (zh) | 2014-07-07 | 2022-05-24 | 基岩自动化平台公司 | 工业控制系统电缆 |
US10264213B1 (en) | 2016-12-15 | 2019-04-16 | Steelcase Inc. | Content amplification system and method |
CN111831330B (zh) * | 2020-07-10 | 2022-02-01 | 深圳致星科技有限公司 | 用于联邦学习的异构计算系统设备交互方案 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5257374A (en) * | 1987-11-18 | 1993-10-26 | International Business Machines Corporation | Bus flow control mechanism |
US5016160A (en) * | 1988-12-15 | 1991-05-14 | International Business Machines Corporation | Computer system having efficient data transfer operations |
US5598568A (en) * | 1993-05-06 | 1997-01-28 | Mercury Computer Systems, Inc. | Multicomputer memory access architecture |
WO1996008773A2 (en) * | 1994-09-16 | 1996-03-21 | Cirrus Logic, Inc. | Pcmcia dma data bus mastering |
US6351780B1 (en) * | 1994-11-21 | 2002-02-26 | Cirrus Logic, Inc. | Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated |
US6401142B1 (en) * | 1999-05-24 | 2002-06-04 | Advanced Micro Devices, Inc. | Apparatus and method for selective bus transfer using master and slave modes |
US6947931B1 (en) * | 2000-04-06 | 2005-09-20 | International Business Machines Corporation | Longest prefix match (LPM) algorithm implementation for a network processor |
US7333514B2 (en) * | 2001-08-09 | 2008-02-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Flexible frame scheduler for simultaneous circuit-and packet-switched communication |
US6910087B2 (en) * | 2002-06-10 | 2005-06-21 | Lsi Logic Corporation | Dynamic command buffer for a slave device on a data bus |
US6956862B2 (en) * | 2003-12-02 | 2005-10-18 | Cisco Technology, Inc. | Method and apparatus to combine heterogeneous hardware interfaces for next generation packet voice module devices |
US7411957B2 (en) * | 2004-03-26 | 2008-08-12 | Cisco Technology, Inc. | Hardware filtering support for denial-of-service attacks |
-
2004
- 2004-03-10 US US10/798,514 patent/US7200692B2/en not_active Expired - Fee Related
-
2005
- 2005-02-11 CA CA002558360A patent/CA2558360A1/en not_active Abandoned
- 2005-02-11 CN CNB200580007248XA patent/CN100483373C/zh not_active Expired - Fee Related
- 2005-02-11 EP EP05723075.7A patent/EP1730643B1/en not_active Not-in-force
- 2005-02-11 WO PCT/US2005/004716 patent/WO2005091812A2/en active Application Filing
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231142A (zh) * | 2011-07-21 | 2011-11-02 | 浙江大学 | 一种带有仲裁器的多通道dma控制器 |
CN102231142B (zh) * | 2011-07-21 | 2013-12-11 | 浙江大学 | 一种带有仲裁器的多通道dma控制器 |
CN107220024A (zh) * | 2017-05-19 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种基于fpga的数据处理方法、装置及系统 |
CN113778328A (zh) * | 2020-06-09 | 2021-12-10 | 慧与发展有限责任合伙企业 | 在半导体封装之间引导控制数据 |
CN113392058A (zh) * | 2021-06-11 | 2021-09-14 | 上海商米科技集团股份有限公司 | 一种安卓系统与低速模块的数据同步交互方法和装置 |
CN113392058B (zh) * | 2021-06-11 | 2023-09-05 | 上海商米科技集团股份有限公司 | 一种安卓系统与低速模块的数据同步交互方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US7200692B2 (en) | 2007-04-03 |
EP1730643A2 (en) | 2006-12-13 |
EP1730643A4 (en) | 2008-04-09 |
EP1730643B1 (en) | 2018-10-03 |
CA2558360A1 (en) | 2005-10-06 |
WO2005091812A3 (en) | 2006-09-28 |
CN100483373C (zh) | 2009-04-29 |
WO2005091812A2 (en) | 2005-10-06 |
US20050216609A1 (en) | 2005-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100483373C (zh) | Pvdm(分组语音数据模块)通用总线协议 | |
EP1422626B1 (en) | Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process | |
JP4083987B2 (ja) | 多重レベル接続識別を備えた通信システム | |
KR101861312B1 (ko) | 다중슬롯 링크 계층 플릿에서의 제어 메시징 | |
US7822908B2 (en) | Discovery of a bridge device in a SAS communication system | |
US6594713B1 (en) | Hub interface unit and application unit interfaces for expanded direct memory access processor | |
US7363396B2 (en) | Supercharge message exchanger | |
US20090307408A1 (en) | Peer-to-Peer Embedded System Communication Method and Apparatus | |
EP3062232B1 (en) | Method and device for automatically exchanging signals between embedded multi-cpu boards | |
JPS62221057A (ja) | ポインタアドレスを発生するための装置および方法 | |
JP4562107B2 (ja) | 複数の仮想ダイレクトメモリアクセスチャネルをサポートするためのダイレクトメモリアクセスエンジン | |
JP2002196974A (ja) | ディジタル信号処理システム | |
EP3716084A1 (en) | Apparatus and method for sharing a flash device among multiple masters of a computing platform | |
CN103246628B (zh) | Smi接口管理方法及可编程逻辑器件 | |
JP2002222163A (ja) | グローバルdmaアクセス用の結合サブシステムメモリバスを有するマルチコアdspデバイス | |
US6742058B2 (en) | Memory controller having a multiplexer selecting either second set of input signals or converted signals from first set of input signals by a bus mode input | |
CN100401279C (zh) | 支持包处理的可配置的多端口多协议网络接口 | |
US7133958B1 (en) | Multiple personality I/O bus | |
JP3693013B2 (ja) | データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体 | |
US6701387B1 (en) | Adaptive data fetch prediction algorithm | |
US20050198422A1 (en) | Data communication mechanism | |
CN102622319B (zh) | 基于mpmc的高速存储器接口ip核的数据交换系统 | |
US6219761B1 (en) | Load/store assist engine | |
CN109558076A (zh) | 一种可配置的虚拟spi-flash | |
CN116132383B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090429 Termination date: 20220211 |