基于可编程逻辑器件和IPX2805实现SPI4.2接口电路的设计

时间:2025-11-01  作者:Diven  阅读:0

作者:孙世国,陈帅,陈倩,张恒威

基于可编程逻辑器件和IPX2805实现SPI4.2接口电路的设计

1.引言

SPI-4.2(System Packet Interface)是 OIF(OptICal Internetworking Forum)定义的局部高速总线标准,用于 PHY层芯片到链路层芯片的 10Gbps信号传输。主要应用有 OC-192 ATM、Packet over SONET/SDH(POS)、10Gbps以太网等。

SPI4.2接口分为数据通道和状态通道。数据通道最多分成 256个逻辑通道,16bit位宽,采用 LVDS信号电平,按照 cell格式传送数据,cell的长度为 16字节的整数倍,可随意配置,根据网上流量的分析,一般配置成 128字节。每个 cell都是以控制字开始的,控制字一共16bit,包含逻辑端口号、报文起始标志位、报文结束标志位、控制字交验等信息。状态通道传输对端反馈的逻辑通道接收 FIFO的状态,2bit位宽,LVTTL或者 LVDS信号电平,一般采用 LVTTL信号电平。状态通道的数据结构为 Calendar[0:n],n最大为256,长度一般与逻辑通道数对应,Calendar[n]表示逻辑通道 n的接收FIFO状态。数据通道根据状态通道提供的信息控制数据的发送过程。状态通道有四种状态信息,如表 1所示:

在实际的系统设计中,商用芯片不一定能够满足需要,因此需要使用 FPGA(Field Programmable Gate Array)。本设计采用 Altera的 Stratix II系列 FPGA和 RMI公司的多核处理器 XLR732,Intel公司的网络处理器 2805实现 SPI4.2接口。

2.2805简介 2805是 Intel推出的高端 NP(Network Prosser),能够处理 10Gbps线速转发的以太网、POS、ATM等数据流量,能够实现分类、NAT、ACL、多播、流量管理等功能。 2805内部集成一个32-bit、RISC内核、高性能的 XScale处理器,用于系统的配置管理和路由表项的维护,最高工作主频750MHz;16个可编程的、有 8K代码空间的微引擎,每个微引擎含有多个硬件线程,用来处理通信系统中的数据转发,最高工作主频 1.5GHz。外部集成了 PCI接口,可以工作在 64bit/66MHz模式;SPI4.2接口,工作频率为 311MHz~500MHz;3个LA-1接口,工作频率为250MHz;4个 RDRAM接口,工作频率为 800MHz~1200MHz。

3.FPGA和 2805之间的 SPI4.2接口电路设计

图 1描述了 FPGA和 2805之间的 SPI4.2接口的硬件连接框图,信号定义以 2805为参考点。其中 TX_DATA[15:0] 、TX_CTL、TX_CLK和 RX_DATA[15:0] 、RX_CTL、RX_CLK是 LVDS信号电平,工作在 350MHz;TX_SDATA[1:0] 、TX_SCLK和 RX_SDATA[15:0] 、 RX_SCLK是 LVTTL信号电平,工作在 87.5MHz,四分于数据通道时钟频率。

具体信号定义如下所示:

TX_DATA[15:0]:发送数据, 16bit位宽, burst方式传输数据, DDR工作模式(时钟上升沿和下降沿都采样);

TX_CTL:传输控制信号,高电平表示 TX_DATA[15:0]传输的是控制信息,低电平表示 TX_DATA[15:0]传输的是数据;

TX_CLK:发送时钟,随路,是发送数据的参考时钟。

接受方向的信号定义与发送方向的信号定义完全相同,但是方向相反。

4.FPGA的 SPI4.2接口模块设计

Stratix II器件具有 152个接收器和 156个发送器通道,支持源同步信号进行高达 1 Gbps的数据传送。内部含有 DPA电路,能够不断地将输入数据和采样时钟对齐,消除了时钟至通道和通道至通道偏移要求。还集成了丰富的存储器资源、先进的锁相环( PLL)技术和双数据率( DDR)I/O等特性,结合先进的差分 I/O能力,使其满足 SPI4.2规范的物理信号定义。

图 2为 FPGA的接收通道逻辑框图,上半部分是数据通道,下半部分是状态通道。由于 SPI4.2接口的数据传输是 DDR模式的,rdclk经过 FPGA内部的 PLL模块做倍频处理,然后送给 Rx_data_phy模块,该模块根据时钟采样 rdat [15:0]上的数据。Rx_data_proc模块将接收的数据按照 cell头中的逻辑端口号,分别放入不同的 Rx_fifo中。一个 Rx_fifo对应一个逻辑通道,每个 Rx_fifo都会生成一个状态信号,标示其“空”状态或者“满”状态, Rx_stat_calc模块根据各个 Rx_fifo的状态信号生成 Calendar信息,由状态通路发送出去,用来流控 2805的发送过程。Calendar也可以由软件设置,通过 Rx_stat_proc_ref下发给 Rx_stat_calc。

发送模块与接收模块不同,如图 3所示,发送模块的 Tx_fifo只有一个,即所有的逻辑通道公用一个发送缓存区。这主要是由于 FPGA内部的布线资源和 RAM资源有限,同时这种发送端共享 FIFO、接收端分通道 FIFO模式不影响使用,能够实现分端口的反压。

发送端通过 Tx_stat_phy模块接收 Calender信息,经过 Tx_stat_proc模块和Tx_stat_proc_sync模块处理,送给 Tx_sched调度模块,Tx_sched解析出各个逻辑通道的反压情况,然后将各个通道的数据发送到 Tx_fifo中,然后经过 Tx_data_proc模块和Tx_data_phy模块发送出去。

5.结果 本设计在 Altera的 Stratix II系列FPGA,EPM2S90上得到验证,与 Intel的 2805配合共同完成某通信设备的高速转发单板的设计。

6.结束语

本文介绍了 SPI4.2接口在可编程逻辑器件 FPGA上的实现方法,并通过实际电路验证FPGA与 IPX2805之间通过 SPI4.2接口互通的功能。由于商业芯片的限制,有时只有 FPGA才能满足系统设计的要求。相对于开发ASIC,使用 FPGA使整个设计电路简单、灵活、成本低、方便调试和修改, 大大缩短开发周期。

猜您喜欢

以单片机和可编程逻辑器件(FPGA)为控制核心,设计了一个程控滤波器,实现了小信号程控放大、程控调整滤波器截止频率和幅频特性测试的功能。其中放大模块由可变增益放...
2018-12-19 10:26:00

瓷片电容222k是常见的电容器。在电子设备中扮演重要配件。本文将探讨其特点、应用和选购注意事项。希望能帮助你更好了解瓷片电容。瓷片电容的基本概念瓷片电容是由陶瓷...
2025-03-21 19:30:35

贴片电阻的规格尺寸由其封装大小决定,通常用四位数字表示,例如0402、0603、0805、1206等。这四位数字代表的是电阻的长和宽,单位是英寸。将数字除以10...
2024-11-29 10:26:16

采样电阻作为电流检测和信号采集的重要元件,其性能直接影响整个系统的稳定性和精度。ROYALOHM(厚生)作为知名的电子元器件品牌,其采样电阻因高品质和稳定性广受...
2014-08-30 16:28:12

四川永星四端子电阻很好的性能和稳定的质量,成为了众多工程师信赖的选择。那么,这个在行业内享有盛誉的品牌究竟属于哪个国家呢?本文将为您揭开这一谜团,带您深入了解四...
2015-11-23 23:43:30

开口型沉头抽芯铆钉是常见的连接件,应用于机械、电子和建筑等领域。根据不同的分类标准,开口型沉头抽芯铆钉主要可以分为以下几类:按材质分类,可以分为铝合金、钢制和不...
2019-07-02 00:00:00

电流检测电阻作为电路设计中的关键元件,其性能直接影响整个系统的稳定性和准确性。作为业内知名品牌,Viking(光颉)电流检测电阻优异的品质和稳定的参数受到关注。...
2016-11-11 06:05:36

贴片电阻 01005,指的是尺寸仅为0.4mm x 0.2mm的微型贴片电阻,以其极小的体积在电子领域扮演着至关重要的角色。对于追求轻薄短小设计的电子产品,例如...
2024-11-26 11:29:33

电表笔是用于电气测试的便携式工具,主要用于测量电压、电流和电阻等电气参数。通常由一个带有测试探头的绝缘手柄和一个显示屏组成,方便用户实时读取测量结果。电表笔的工...
2025-07-04 00:00:00

电流采样电阻作为电路设计中的关键元件,其规格大小和品牌选择日益受到关注。三星(Samsung)作为全球知名的电子元器件制造商,其电流采样电阻在市场上受到推崇。本...
2012-10-25 04:59:30