jjzjj

基于龙芯+国产FPGA 的VPX以太网交换板设计(二)

深圳信迈科技DSP+ARM+FPGA 2024-05-23 原文
3.1 板卡技术要求
3.1.1
主要性能指标
本着向下兼容的原则,以太网交换板的设计尽量保留传统信息处理平台的基本功
能和接口,重点考虑提升设备的性能和扩展性。本课题以太网交换板的主要性能指标
如下:
1 ) 具有大容量无阻塞的交换功能;交换容量不小于 16Gbps
(2) 支持千兆光以太网接口和电以太网接口;
(3) 单节点实时业务无丢包,平均转发时延 1ms
3.1.2
主要物理接口
按照 VPX 标准要求,结合实际应用需求,以太网交换板的主要物理接口如下:
1 ) 提供 20 Serdes 接口,接口连接到背板连接器,通过背板分别为数据平
面和控制平面提供数据交换。
(2) 提供 4 1000 BASE-T 接口和 4 1000 BASE-X 接口,接口连接到背板
连接器,通过背板转接板到设备前面板,为设备提供数据接入或交换扩展。
(3) 提供一组串行点灯信号,接口连接到背板连接器,指示前面板数据接口的
状态。
(4) 提供 1 RS232 管理串口和 1 1000 BASE-T 管理网口,同时连接到本
板和背板连接器,本板端口形式为通用 RJ45 接口;背板侧通过背板到前
面板,便于整机的调试。
(5) 提供板卡 +3.3V +12V DC 电源输入接口,接口连接背板连接器。
3.2 方案设计
3.2.1
硬件系统原理框图
以太网交换板是信息处理平台的核心,主要包括中心控制和核心交换两个功能模
块。中心控制模块主要完成整机维护、控制、协议处理等功能,交换模块完成业务数
据和控制信息的交换功能。从硬件系统上,以太网交换板主要由 CPU 系统、 CTC6048
交换系统、时钟电源系统、 FPGA 处理系统等几个部分组成。硬件系统总体框图如图
3.1 所示。

盛科交换芯片提供 24 Serdes RT2 连接器,其中 4 对接光模块直接输出到前
面板,剩余 20 对通过背板输出到各业务槽位,分别作为数据平面和控制平面的交换
总线。交换芯片还提供 4 SGMII 串行总线,通过外挂千兆以太网 PHY 芯片输出 4
10/100/1000 Base-T 接口到前面板。从控制平面和数据平面接收的数据进入以太网
交换芯片 CTC6048 ,由其完成以太网帧同步、 FCS 校验、分组缓存以及关键字提取
之后,根据特定字段区分出以太网帧的类型,对于业务信息则由 CTC6048 内部专用
的网络转发处理引擎进行业务信息分类、网络交换查表、网络交换决策、分组封装、
输出调度等处理过程,对于协议和控制信息则通过控制通道发送到 CPU 系统进行处
理。
CPU 系统采用龙芯 2F 作为处理器,然后通过 PCI LocalBus 扩展出板卡需要
的管理网口、管理串口等接口,实现对整个模块的管理控制。
3.2.2
CPU 系统
CPU 系统完成以太网交换板的控制与协议处理,其原理框图如图 3.2 所示,以龙
2F 处理器为核心,同时配以 BIOS 程序存储器、 DDR2 SDRAM 存储器、南桥控制
器、复位及控制逻辑、以太网控制器等,并通过 PCI LoclBus 扩展出系统所需要的
管理串口、管理网口等其他接口用于系统调试和加载程序。时钟模块提供各个芯片正
常工作所需的各种时钟,包括系统时钟( SYSCLK )、存储器时钟( MEMCLK )、PCI
接口时钟( PCICLK )以及为南桥控制器提供 66MHz 48MHz 14.318MHz 32KHz
四种参考时钟。电源变换模块同时提供各个芯片正常工作所需的各种电源。
3.2.3
CTC6048 交换系统
3.3 CTC6048 以太网数据收发数据流向图。
1 片千兆以太网 PHY CTC6048
间通过 4 SGMII 相连,引出 4 GE 接口到背板连接器,通过背板及前面板转接
板到整机前面板; CTC6048 还直接出 28 Serdes 总线,其中 4 对到背板 P2 连接器,
通过背板到前面板转接板上的光模块,经光模块输出到整机前面板; 10 对到背板 P2
连接器、 10 对到背板 P3/P4/P5 连接器,再通过背板到各业务槽位,作为各业务板信
息交互的控制通道和数据通道;最后 4 Serdes 总线到背板 P6 连接器,作为备用总
线,当整机为了提高可靠性要求主备切换时,可以作为主备以太网交换板信息交互的
通道。
另外, CTC6048 通过 PCI-GMII 桥接模块实现与 CPU 的通信,用来作为 CPU
CTC6048 间数据报文的收发。
3.2.4
控制和管理通道
控制和管理通道的原理图如图 3.4 所示,在控制通道中,处理器通过 33MHz PCI
通道控制和管理 CTC6048 ;处理器还通过 PCI-FE 桥接芯片,扩展出一个管理网口;
通过总线桥芯片扩展出一个管理串口,然后进入 FPGA ,在 FPGA 内完成串口切换。
管理网口和串口既连接到本板 RJ45 连接器,又连接到背板连接器,通过背板输出到
前面板航插连接器,这种连接方式既可利于单板的调试,也便于用户在电路板进入密
闭机箱后对整个系统进行管理和配置。
CTC6048 对需要上报给 CPU 处理的数据以 GMII 接口送出,但龙芯处理器并不
提供 GMII 接口,无法直接对接,间接互联的办法如下: CTC6048 GMII 接口通过
Ethernet PHY 芯片扩展出一个千兆以太网口,龙芯处理器通过 PCI-FE 桥接芯片扩展
槽一个千兆以太网口,两个以太网之间直接对接,从而实现了协议数据的上报。
CTC6048 Ethernet PHY 均提供串行指示灯( Serial LED )接口,通过在 FPGA
内进行汇接,提取需要在前面板显示的端口的状态,然后封装成帧,以 Serial LED
口送到背板连接器,最后通过背板到面板指示灯模块。 FPGA 系统还用来为各芯片提
供复位、时钟、端口计数等功能, CPU 通过 Local Bus 对其内部寄存器进行访问。
以太网交换板方案实现
4.1 国产芯片的特点
上一章论述了以太网交换板的设计方案,本章首先介绍国产芯片的特点,然后对
方案的具体实现进行详细论述。
国产芯片主要有以下特点:
1 ) 接口集成度较低
龙芯处理器对外接口仅包括基本的数据地址总线、 DDR 接口、 PCI 总线,无其
他通信接口,对于常见的以太网等通信接口需要通过外围芯片进行扩展;交换芯片的
CPU MAC 接口对外提供 PCI GMII 接口,分别用于管理数据和业务数据的传输,
不仅造成 IO 数量多,而且与龙芯片处理器互连时需要单独的桥接芯片,而博通公司
的同类产品早在几年前已普及 PCIE 高速串行总线进行数据传输,且不区分管理数据
和业务数据,大大简化了 IO 数量和接口设计。
(2) 芯片面积及功耗较大
受当前生产工艺及成本等多方面的影响,本设计选用的龙芯 2F 处理器采用 90nm
工艺,单芯片典型功耗 3W ,交换芯片和 FPGA 及配套存储器采用 65nm 工艺,其中
交换芯片内核电流超过 20A FPGA 配套的可编程存储器封装 18mmx18mm ,封装尺
寸远超过 Altera 公司相同容量的存储器件。
(3) 可参考资料少
基于设计人员的开发习惯等因素,设计人员更倾向于选取成熟的国外芯片,导致
国产芯片的应用领域受限,如龙芯最主要的应用领域还集中在政府、教育等对性能要
求不高的领域,国产 FPGA 也集中应用在某些专用领域,可参考的资料比较少,对开
发过程中出现的问题无法提供技术参考。
(4) 价格稍高
国产芯片出货量少导致其成本较高,进一步导致用户数量少,形成恶性循环。随
着国家自主可控战略的实施,这些情况正在逐渐改善。
国产芯片的上述特点给本设计带来较大的开发难度。如龙芯处理器和交换芯片的
之间的数据通道需要通过桥接芯片进行转换后才能实现互连,增加了芯片数量和功
耗,加之国产化芯片的尺寸也较大,而 VPX 6U 板卡外围尺寸仅为 233.35mm*160mm
祛除加固罩、连接器等占用的空间,实际有效布局布线面积为 209mm*137mm ,给
PCB 的布局布线带来较大的困难。为了解决这一问题,设计采用板卡叠加的形式,
并统筹考虑各模块的功能与散热情况,将以太网交换板分为三个子板:即 CPU 子板、
电源子板、交换系统母板。本人承担电源子板和交换系统母板的全部硬件设计及
FPGA 设计工作。下面将简要介绍 CPU 子板,详细论述电源子板及交换系统母板的
实现。
4.2 CPU 子板
CPU 子板按照 ETX 标准进行设计,外形尺寸为 114mm*95mm ,采用 4 80 针,
针间距为 0.8mm 的高速连接器实现板间互联。 CPU 子板在标准 ETX 信号定义上进行
了部分修改,板间连接器的接口信号包括 PCI 接口信号、 USB 总线信号、 IDE 信号、
COM 信号、复位信号,以及通用处理器并行总线 LOCAL 总线信号。 CPU 通过上述
信号与交换系统母版各功能模块通信,相互协作完成系统要求的功能。
4.3 电源子板
4.3.1
芯片选型
根据上一章节系统电源方案设计可以看出,以太网交换板需要的电源种类较多,
在电源芯片选型时重点考虑以下几点:
1 ) 供应商、生命周期。
芯片的生命周期和供货周期会给生产带来较大影响。芯片一旦停产,可能需要重
新寻到替代产品,甚至需要重新设计。
(2) 输出额定电流。
根据芯片的功耗(可以查数据手册)来预估该芯片对某种电压的电流需求,然后
利用这些数据来指导电源芯片的选型,重点关注电源芯片在高温下的降额指标。
(3) 转换效率
转换效率高,可以降低芯片工作时产生的热量,提高板卡在恶劣环境下的可靠性。
(4) 封装及外围器件数量
封装小,外围器件数量尽量少,可以节省印制板空间,降低设计复杂度,提高系
统的可靠性。
(5) 芯片种类
在满足上述条件的前提下,尽量减少芯片种类,便于器件的维护和采购。
4.3.2
方案实现
各电压对电流的需求如下表所示。

有关基于龙芯+国产FPGA 的VPX以太网交换板设计(二)的更多相关文章

  1. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  2. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  3. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  4. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  5. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  6. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  7. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  8. ruby-on-rails - 设计注册确认 - 2

    我在我的项目中有一个用户和一个管理员角色。我使用Devise创建了身份验证。在我的管理员角色中,我没有任何确认。在我的用户模型中,我有以下内容:devise:database_authenticatable,:confirmable,:recoverable,:rememberable,:trackable,:validatable,:timeoutable,:registerable#Setupaccessible(orprotected)attributesforyourmodelattr_accessible:email,:username,:prename,:surname,:

  9. ruby-on-rails - 设计通过 reset_password_token 获取用户 - 2

    我正在尝试创建密码规则来设计可恢复的密码更改。我通过passwords_controller.rb做了一个父类(superclass),但我需要在应用规则之前检查用户角色,但我所拥有的只是reset_password_token。 最佳答案 假设您的模型是用户:User.with_reset_password_token(your_token_here)Source 关于ruby-on-rails-设计通过reset_password_token获取用户,我们在StackOverflow

  10. ruby-on-rails - Rails 5,公寓和设计 : sign in with subdomains are not working - 2

    我已经使用Apartment设置了一个Rails5应用程序(1.2.0)和Devise(4.2.0)。由于某些DDNS问题,应用只能在app.myapp.com下访问(请注意子域app)。myapp.com重定向到app.myapp.com。我的用例是每个注册该应用的用户(租户)都应该通过他们的子域(例如tenant.myapp.com)访问他们的特定数据。用户不应限定在其子域内。基本上应该可以从任何子域登录。重定向到租户的正确子域由ApplicationController处理。根据Devise标准,登录页面位于app.myapp.com/users/sign_in。这就是问题开始的

随机推荐