打印

以太网芯片 高手来看看这个问题撒

[复制链接]
4322|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
run411|  楼主 | 2008-3-31 21:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.    做如图所示的A、B电路板(虚线框部分),完成如图所示的通信功能。
      从图中可以看出,A、B电路板是完全相同的两块板子。
2.  由于要求是数据率是千兆(光模块可以满足千兆,所选用光模块数据率是1.25Gb/s),因此以太网控制芯片需要是支持1000M,不是10/100M的。
3.  光模块起光电、电光转换的功能,采用商用产品即可。初步计划用SFF 或SFP型的光模块,更倾向于SFF型。光模块焊接到A、B板上即可
       我认为,光模块对本课题没有影响,只需要知道光模块输入输出电平形式,设计电路板即可。光模块输入输出电平一般是PECL或LVPECL,也有的是TTL.

目前困扰我的问题是:
1.    收发数据 如何实现;
2.    生成/还原以太网信号。

生成以太网信号可以用太网控制芯片(也就是网卡芯片,只要选用千兆光网卡芯片即可),但是由于网卡芯片大多是PCI或PCI-E的(即把PCI类型的信号转化成以太网信号)。如果采用常见的PCI或PCI-E的网卡芯片,以上两个问题都可以解决。可以说,做出A、B板子可以说就是光网卡。
网卡芯片完成生成/还原以太网信号;
光网卡插入电脑的PCI或PCI-E插槽,用电脑收发数据即可。
即把两个光网卡分别插入不同电脑上主板的PCI或PCI-E插槽,即可来试验如图所示的通信过程。

问题是,课题不希望使用PCI或PCI-E,这样就引出两个难题(对我来说是难题)
1.怎样收发数据(因为不用电脑了);
2.网卡芯片完成的是PCI或PCI-E信号到以太网信号的转换,现在不用PCI 、PCI-E了,如何把数据源发出的数据转成以太网信号呢???



另外:说一下我自己的感觉
我感觉 千兆以太网芯片都是PCI 或者PCI-E的,似乎不可避免要用PCI或PCI-E的。
导师意思是尽量找找非PCI的,或者即使用PCI或PCI-E的网卡芯片,能不能不走PCI或PCI-E形式的信号,而用其他形式的信号呢

相关帖子

沙发
armecos| | 2008-3-31 21:59 | 只看该作者

选择HDMP-1636A/1646A

    1000M以太网传输速率是1000M,但是由于开销、碰撞等,实际有效数据速率可能只有100M。PCI是共享的,实际带宽达不到千兆。
    HDMP-1636/1646与IEEE802.3z千兆比特以太网兼容,支持1250MBd千兆比特以太网。
    
    《Agilent光纤通信及高速数据接口产品手册》里有HDMP-1636/1646千兆比特串行/解串行芯片说明。
    HF**-53D5 1000/1250Mb/s 双工SC接口光收发模块。
    HF**-5912 1000/1250Mb/s MT-RJ接口小封装光收发模块。
    
    www.armecos.com

使用特权

评论回复
板凳
菜人菜语| | 2008-4-1 11:15 | 只看该作者

千兆是全双工,没有碰撞

从物理层看,大的流量是可以接近双向千兆的。瓶颈在于处理器的能力,这个对处理能力要求太高了。一般的结构是 CPU + MAC + PHY,楼主所说的PCI位于CPU和MAC之间,面向PC的芯片当然要做成这样了。不过还有不少其它选择,有的芯片是CPU+MAC,比如MPC系列有内置千兆MAC,可以选用,再配合一片千兆PHY即可。如果还觉得不够快,可以用FPGA实现MAC和一部分数据处理功能,可以用软核CPU或者独立的CPU。支持-x的PHY芯片还是有一些的。

使用特权

评论回复
地板
run411|  楼主 | 2008-4-1 20:52 | 只看该作者

我怎么忘记了放上框图呢

使用特权

评论回复
5
run411|  楼主 | 2008-4-1 20:57 | 只看该作者

谢谢2楼 3楼的 回答 ,很专业啊

搞这个我不专业啊,只是做硕士课题。
2楼 3楼 所说的方法 是不是都要用到电脑呢?
也就是说,把这个东西做成类似PCI或PCI-E插口的网卡,然后插到电脑主板上就可以了,用电脑的CPU,是这样吗??

我上面说了,导师的意思是 不用电脑,也就是不用PCI口的,这样可行吗??
如果不可行的话,我就必须得做成PCI的了——虽然我目前不会

请高手出招~~~~~~~~~~~~~~~~~·

使用特权

评论回复
6
ruraliter| | 2008-4-3 09:35 | 只看该作者

用ARM加上一个pci转换器,就可以了

使用特权

评论回复
7
wenming| | 2008-4-3 10:54 | 只看该作者

不同意2楼的看法

千兆网络在实际使用中是,可以满速度工作的.看过一个MPC85xx系列的测试报告.可以达到 900多兆.

使用特权

评论回复
8
drentsi| | 2008-4-3 16:29 | 只看该作者

千兆网

在FPGA里面测试的,不使用硬件加速,TCP传输速度300Mbps左右
使用硬件加速,TCP传输速度可达到700多Mbps,
实际上这个时候电脑有一个核会100%利用率(测试电脑,E6400+2GB)
如不跑TCP,发原始数据报的话,可达900多Mbps

使用特权

评论回复
9
run411|  楼主 | 2008-4-3 21:44 | 只看该作者

速度是如何测试的呢

我更新一下框图,这个看的会更明白

使用特权

评论回复
10
armecos| | 2008-4-3 22:06 | 只看该作者

CPU性能才是瓶颈,

    3楼说得对,CPU性能是瓶颈。
    
    下面是百兆网络,64字节包,VxWorks操作系统下用smartbit测试仪得到的网络评测数据,有些CPU不能达到线速。
    
    -------------------------------------
          型号      |      网络测评
    -------------------------------------
         MPC860     |        <10%
    -------------------------------------
        MPC8245     |        15%
    -------------------------------------
         PPC750     |        55%
    -------------------------------------
            970     |        100%
    -------------------------------------
             NP     |        100%
    -------------------------------------
    
    不用工控板,性能很烂。Windows用什么CPU都不可能达到百兆线速,HARD HAT Linux性能比VxWorks低10%-20%。
    
    千兆网络速率有好几种:理论速率、空载测试速率、实际传输速率等等。如果在CPU上跑了任务,那么实际传输速率就不到千兆了。
    
    影响TCP速率的关键因素不是硬件速率,而是重传延时,光纤属于高带宽低误码率介质,当非常小概率误码发生后,TCP拥塞算法启动,延迟是百毫秒量级,导致传输速率急剧下降,所以在这类介质上的TCP协议栈需要重写才能达到高速率。

使用特权

评论回复
11
and| | 2008-4-4 10:25 | 只看该作者

楼上讲的有道理

64字节包,满百兆的话,每秒钟的包数是14万次多一点。对任何处理这样事务的 CPU + OS,中断处理的开销已经超过包本身的处理开销,试想WINDOWS或LINUX,每秒钟中断14万次,就要进行14万次切换,是什么概念?这还只是单向。如果CPU主频不高,就必须调整OS的调度策略,才能达到希望的性能。

关于TCP重写,TCP是个端到端的协议,如果两端之间是纯粹的千兆光纤,那么重写的意义就非常明显,不过目前的网络实际环境,千兆往往只是网络中的某一个网段,整个路径的带宽远远无法达到千兆,在这样的情况下,重写的意义就不明显了。

使用特权

评论回复
12
high| | 2008-4-8 15:51 | 只看该作者

很感兴趣,外行请教.

网卡有没有buffer?比如8019的16kSRAM是不是指buffer,是不是可以配置响应16k满再中断?

如果上面是对的话,中断就不以单个包触发.频率就减少256倍.于是140000/256=550.这样就落在毫秒级别了.

使用特权

评论回复
13
菜人菜语| | 2008-4-9 09:09 | 只看该作者

8019好象没有这个功能

使用特权

评论回复
14
drentsi| | 2008-4-9 09:33 | 只看该作者

11楼的

去年我做了个项目,就是把16个100M光纤以太网的数据打包后通过千兆以太网发出去。每个光纤网口每秒发送12K个240字节的数据包,总的数据量为46MB/S
,数据包为192K个,以太网的MAC使用FPGA来做的,MAC是双缓冲的。CPU是Powrpc405-300MHz。开始是用中断方式来搞,每秒可以处理120K个中断,但是额外引起的数据对齐的开销就非常大,以至于CPU不够用,后来改成查询方式,数据包一个没丢。目前也没什么问题。

Powrpc405处理中断的能力非常强大,在另外一个设备中,中断方式,每秒处理96K的中断没问题。

使用特权

评论回复
15
and| | 2008-4-9 17:58 | 只看该作者

你是用V-4了吧

羡慕一下,比较昂贵。用查询方式,连中断开销都省了,当然最快啦。
不过,你这个需求,有没有可能用纯FPGA完成,而不用CPU呢?
没做过,胡乱问一下,呵呵。

使用特权

评论回复
16
drentsi| | 2008-4-10 12:36 | 只看该作者

全部用FPGA应该没问题

速度应该更快一些,

我看了一下xilinx的100G以太网的方案,CPU倒只是摆设

使用特权

评论回复
17
flanker| | 2008-4-13 11:18 | 只看该作者

PPC750,百兆不能到线速?

是裸转发还是加了安全/NAT/ALG等麻烦的业务处理?
再就是转发流程存在内存拷贝吧。

使用特权

评论回复
18
run411|  楼主 | 2008-6-16 21:04 | 只看该作者

怎么没高人指导了啊

使用特权

评论回复
19
后学| | 2008-6-17 13:40 | 只看该作者

re

LZ把思路从PC和ARM上移走,这些只会给你带来干扰,

接CPU的主要目的是做三层交换,看起来你不需要,
其实导师让你做的,就是一个简单的千兆光纤收发器,
你去google “光纤收发器”

一个光模块,一个主芯片,一个千兆网口,
你要做的,就是找到(或自己做出来)这个主芯片,

IP113F是最常用的10/100M光纤收发器芯片方案,
http://www.cyberwin.com.cn/cyber_chanpin.asp?typeid=2&classid=16

使用特权

评论回复
20
run411|  楼主 | 2008-6-26 21:55 | 只看该作者

楼上的楼上

我需要的是千兆的啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

32

帖子

0

粉丝