(来历:微计算机信息,作者:孙世国, 陈 帅 ,陈 倩 ,张恒威 )
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使整个规划电路简略、灵敏、成本低、便利调试和修正, 大大缩短开发周期。
责任编辑:gt