Intel SoC 架构的灵活扩展性: 多路网口实现

【时间:2017 年 10 月 11 日, 来源:本站原创, 作者:Jack Chen】

信息化时代以来,各行各业资源正趋向于整合,并购,抱团来取得更大的竞争力,芯片架构上亦是如此:单“芯“方案(System on Chip)带来的低功耗,低成本,低布线面积以及高整合,高性能,高带宽(内部互联)的优势正成为一种潮流。

顺应时代的需求下,Intel FPGA部门推出了一系列整合MCU更具有FPGA功能的产品——Intel SoC 系列芯片。自此ARMFPGA的优势共存一体,ARM的顺序控制、丰富外设,FPGA的高速灵活、并行定制的特性交错相融,双方之间的通信呑吐率更是高达125Gbps。面对如此优异的综合武器,如何发挥出它最大的潜能,期待和小生一样的广大工程师们一起开心的探索,玩出花样:)

 

   下面带来的Demo体现了Intel SoC架构基础优势之一:灵活扩展性。

                                           ------------ARM端使用的多路网口设计

 

如上文所说,ARM核集成了全面的常用外设,但是在一些特定场合,如需求几十个串口,十多路以太网的等应用就有点力不从心了。但是整合后的Intel SoC 系列产品,完全可以通过FPGA端定制多个串口和网口挂在内部总线上供ARM端当外设使用(并且不用自己写Linux驱动哦)。有了类似这种操作后,,,,我们就可以任性的定制多种多个IP外设给ARM核了。

比如客户需要一个8路以太网设计,我们就可以在ARM端使用两个本身自带的硬核EMAC控制器,再加上FPGA端构建6AlteraIntel TSE 软核IP挂在内部总线上即可。下面介绍的就是如何新增一个TSE模块供ARM端使用的案例,如需扩展多个,按照文中方法多加几个就可以了。

 

 

一、逻辑篇

Quartus版本: Quartus standard15.0

FPGA型号:     Intel SoC (5CSEMA5F31C8)

PHY型号:     KSZ903188E1111

1 Quartus软件使用Qsys工具构建AlteraTSE模组(把对应的线连好就行:)

1AlteraTSE IP核支持10M /100M/1000MMII/GMII/ RGMII接口,如下图所示

 

2)构建带DMATSE模块。数据流走向如下图所示。

3)把带DMATSE模块挂在SoC的内部总线FPGA TO HPS上,数据流走向如下图所示。

 

 

 

2 根据不同的PHY芯片完成相应的引脚信号分配及设计

(1)    根据PHY芯片的手册设计复位信号

(2)    根据相应PHY的手册确定MDIO信号是高有效还是低有效。

(3)    根据不同的PHY约束相应管脚的时序。

二、软件篇

Linux Kernel Linux13.10

SoC EDS 16.0

Intel 提供的Linux Kernel源码如13.10版本就已经支持AlteraTse模块的驱动,我们只需根据在QSYS中对应的地址和分配的中断号完成DTS的编写以及对TSE设备进行描述。并在内核配置中开启支持Altera_Tse即可。

1 编写DTS

(1)SOC EDS 15.0及以后版本的描述方式如下

(2)SOC EDS15.0 以前版本的描述方式如下

2 配置内核以支持Altera TSE

三、Test

把制作好的一系列文件烧写到开发板上,可以看到Linux启动信息上已成功挂载设备。

 

使用ifconfig –a 命令,可发现共有三个以太网口,其中eth0Altera TSE

 

如欲了解更多关于该方案的信息,请联系骏龙科技各地的办事处,或发邮件至stonemao@macnica.com

 

 骏龙科技微信公众号:

 

骏龙Altera FPGA微信公众号: