1、什么是pause帧pause帧是一种报文类型。在ieee802.3协议中规定中,pause帧是一种控制帧,用于控制数据流停止发送,在mac 发送侧产生,在mac接收侧解析并执行。当此端设备输入数据量过大,无法及时处理时会在此端发送侧mac产生pause帧,发给对端,要求对端在一定时间内停止发送数据。
pause报文由ieee802.3协议规定,与标准以太帧格式相似:
da表示目的地址,地址数据固定为0x180c2000001
sa表示源地址 地址由发送方确定
type为报文类型字段,固定为0x8808
opcode为操作码,固定为0x0001
pause_timing字段为上游mac停止发送数据的时间,每单位为512bit传输时间,数值为16’d1024表示暂停时间为mac传输1024*512bit数据所需要的时间
pad:为填充字段,所有值为0
fcs: 为校验字段,通常为crc校验值
2、pause帧的流程过程
如图所示,左侧为本端芯片,右侧为对端芯片。mac0和mac1都包含发送侧tx和接收侧rx。左侧芯片内部mac上游模块a与mac0发送侧有流控信号fc_rdy。信号高表示模块a无法及时处理输入数据,需要进行流控。为了方便突出重点,图中省略了pcs以及serdes等模块。
流程处理如下:
1~2步:对端mac1发送数据给mac0接收侧,进行发送到模块a
3步:模块a无法及时处理输入的数据,需要减少数据输入,从而将fc_rdy拉高。
4步:mac0发送侧tx发现流控信号fc_rdy为高,产生pause帧,发送给mac1接收侧。只要fc_rdy为高,mac0发送侧tx每隔一段时间发送一个pause帧,间隔时间由配置寄存器控制。间隔时长计算由计数器counting计算。pause帧内停止发送数据的时间由另外一个配置寄存器控制。只要fc_rdy为高期间,mac0发送侧不发送普通数据。
5步:mac1接收侧rx接收到pause报文后,提取pause帧内包含的暂停时间,产生流控信号fc通知mac发送侧上游模块module b停止发送数据
678:mac1 tx侧在暂停时间内,停止发送数据。mac0 tx侧可能会发起多个pause帧。一旦模块a处理完之前的数据后将fc_rdy拉低,则进入第9步
9:步:第9步分2种情况。
情况1:fc_rdy拉低,并且counting在计数没有到一个间隔周期,此时发送pause帧,但是帧内暂停时间为0. mac1接收到pause帧后,控制tx控制立即开始发送数据。
情况2:fc_rdy拉低的同时,counting正好计数到一个间隔周期,此时不发送pause帧。等到上一个pause帧的暂停时间到达后,mac1发送侧tx继续发送数据。
3、pause帧处理协议强制要求1)pause的产生发送过程不能中断一个完整的数据报文。即在第4步中,fc_rdy拉高后,首先mac0 tx侧需要判断当前是否正常数据报文在传输。如果有,则需要在当前数据报文传输完成后才能发送pause帧。也就是说在发送过程中,只能在完整数据报文的间隙插入pause帧。
2)新的pause报文暂停时间会覆盖上一个暂停时间。对mac1来说,当mac1接收到新的pause帧后,暂停时间以最新时间为准。
智慧城市中的LiFi
SAMSUNG三星车规电容的耐高温PN系列怎么样
未来的超级电池:你更中意哪一款
功能全面的双向可编程直流电源信号发生器
openharmony二次开发
什么是Pause帧?以太网MAC的pause流控介绍
OPPO积极备战5G手机,有望成为全球首批发布商用5G手机的企业
1799元配高端芯片?360手机N5剑指高端旗舰市场
Ni/P电镀对具有不同n型发射极的晶体硅衬底的影响
韦尔股份是怎么从“高级倒爷”到芯片业首富的?
麻省理工学院与Ava Robotics合作开发了新型的消毒自动机器人
物流企业引入机器人工作是必然的发展趋势
6款新品8亿福利,OPPO 618年中大促开启
物联网中五个引人注目的创新
小米电视夺冠 夏普电视销量神话不在
Steam《生化危机8》正式发售 北通阿修罗3游戏手柄完美还原恐怖体验
高通向美国申请许可证,华为回应愿意使用高通芯片生产手机
中国照明设计研究分析
国产表压型压力传感器系列树立性价比新典范
iphone8什么时候上市:iPhone 8尘埃落定!侧指纹+99%屏占比