陌上花开缓缓归以
无
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
寄存器被改写问题总结
B、之后去掉平台软件,使用特殊读写测试工具(增加多进程,提高光模块轮询速度)跟正常出机gpio版本,测试半小时后出现3台设备,个别端口出现端口down跟光模块访问显示异常情况,读光模块寄存器,确实发现有发送控制寄存器跟页寄存器被改写的情况,其中第3,4通道光模块出现概率较高;挂测业务过程中,发现端口会出现接口down的过程,读光模块信息发现模块信息被改写,切页寄存器和模块端口使能寄存器被改写,光模块的访问是通过gpio 模拟iic 访问的。软件有人操作寄存器,检查代码,发现没人操作端口使能寄存器。原创 2025-06-10 23:14:31 · 216 阅读 · 0 评论 -
ds280 phy芯片调式总结
DS125/DS280芯片配置需通过I2C访问寄存器,重点包括通道选择、速率设置及复位操作。配置时需匹配硬件端口与通道映射,参考手册设置CFE/DFE/CTLE参数。若寄存器未生效,需检查写后读校验、初始化时序及延时合理性,建议在每次配置前复位芯片。测试流程通过I2C命令读写寄存器并验证数据一致性,针对速率不生效问题,可优化延时、增加校验或复位后重配置寄存器。原创 2025-06-08 08:28:40 · 159 阅读 · 1 评论 -
bcm5482 phy 场景总结
BCM5482是一款双端口10/100/1000BASE-T以太网PHY芯片,支持多种速率和双工模式。其配置主要通过MDIO接口进行,该接口用于访问PHY芯片内部的寄存器,以配置网络速率、双工模式等参数。寄存器的配置与一般寄存器相似,包括0/1/4/5/9/a/11寄存器,此外还涉及影子寄存器的使用。相关技术文档可参考CSDN博客中的YT8614phy芯片调试纪要、marvel1548phy芯片调试、光模块调试总结以及SFP-8636QSFP光模块解析学习等内容。原创 2025-05-10 23:38:32 · 182 阅读 · 0 评论 -
TM4C129NCPDT 单片机代码框架介绍
udp结构体:UINT8 port;原创 2025-04-22 08:26:29 · 182 阅读 · 0 评论 -
bcm5396数据交互过程
接口link ability状态。bcm5396到cpu接口的连接。bcm5396到phy的硬件连接。3,bcm5396芯片复位控制。cpu和bcm5396的连接。1,读取chip_id。2,设置和获取接口状态。原创 2025-04-21 10:28:15 · 269 阅读 · 0 评论 -
phy接口100M/1000M测试使用纪要
2,右击 Ethernet-001-10/100/1000 选择ping就可以了。1,仪表设置,选择protocols->protocol Interfaces。端口速率配置:将10.10.10.4改成10.10.10.3即可。4,在主控系统口上面show arp 查看是否有学习到。3,在主控端口下设置ip(10.10.10.4)仪表设置强制,100M业务通。原创 2025-04-20 00:50:41 · 111 阅读 · 0 评论 -
常用光模块收发光范围整理
传输距离:10KM 工作波长:1310nm 发送光功率:-9.5dBm~-3.0dBm 接收灵敏度:-20.0dBm~-3.0dBm。传输距离:40KM 工作波长:1550nm 发送光功率:-4.0dBm~1.0dBm 接收灵敏度:-23.0dBm~-3.0dBm。传输距离:80KM 工作波长:1550nm 发送光功率:-2.0dBm~5.0dBm 接收灵敏度:-23.0dBm~-3.0dBm。原创 2025-03-02 21:23:13 · 1149 阅读 · 0 评论 -
华大升级和启动过程解析(一)
System Init():一个标准的库函数,在system_hc32f460.c这个库文件中定义。其主要作用是配置系统时钟,这里面的时钟是需要用户自己配置的,华大芯片最高主频支持200M。_BL_HW_INIT_FN_HOOK 跳转到应用程序 MyHwInitFunc的标志。我们在用用程序中怎么升级app的呢,主要使用的中断向量表中的0x2c里面的UpdateHandler。__main:一个标准的C库函数,主要作用是初始化用户堆栈,并在函数的最后调用main函数进入C语言世界。offset为0x4.原创 2024-08-31 15:07:01 · 654 阅读 · 0 评论 -
100G光模块fec配置说明
场景:高速率模块发送数据包的(流)时候有误码,那么误码是怎么产生的,物理层看误码时一般是pcs层的fcs,那么fcs有统计怎么怎么解决这个问题呢,这个时候我们在物理层芯片测引入了fec,而fec又有可纠错fec和不可纠错fec,那么不可纠fec一般是那些原因呢。当对接标准的100GBASE-ER4(如CFP-100G-ER4、CFP2-100G-ER4)时,需要关闭FEC功能。注意:使用QSFP28-100G-LR4光模块时,根据IEEE 802.3标准协议,默认关闭FEC功能。原创 2024-08-31 15:02:43 · 523 阅读 · 0 评论 -
poe供电原理以及应用
请注意,如果端口状态(STS1)为故障状态,则字段STS2将指示故障类型,而不是检测和分类结果。基于类别的模式下的端口最大阈值功率由供电端口的标准类别级别决定:15.4w为0级,4w为1级,7W为2级,15.4w为3级,30w为4级,45W为5级,60W为6级,75w为7级,90W为8级。一个用于计算剩余功率,以决定是否允许新请求的PD通电,另一个用于比较超出的功耗。设备进行分类,并且根据分类的结果提供相应的功率,根据IEEE802.3af。因此,每个端口都有两个指标:分配的功率和当前消耗的功率。原创 2024-08-29 19:17:18 · 298 阅读 · 0 评论 -
思博伦仪表打流测试使用总结
下图红框中的checkbox为选中状态时,表示该流会携带测试仪做一些分析,包括时延和乱序等信息时需要的一些字节,当改选项选中时,如配置IPv4的TCP流,最小字节长度必须为78字节;如果需要64字节的TCP流,改选项必须不选中;原创 2024-08-22 15:17:31 · 825 阅读 · 0 评论 -
I2c总线忙问题定位过程
现象,拔插光模块多次后出现模块信息读不到的现象,添加打印发现iic总线忙的状态,分代码发现iic的确是总线忙的状态。因为之前是可以访问的,拔插光模块多次后出现总线忙,复位cpu(冷重启)后可恢复正常,大概率和硬件无关,所以可能是。:I2C总线由主设备控制,但主设备可能由于软件错误或其他原因失去控制,导致总线通信中断。:I2C通信的软件实现中可能存在错误,如错误的时序控制、错误的地址解析或错误的错误处理。:当总线上的设备无法响应或出现故障时,总线可能会挂起,导致其他设备无法通信。原创 2024-08-14 17:42:24 · 491 阅读 · 0 评论 -
SFP-8636 QSFP光模块解析学习
应将其拉向模块中的Vcc。TxDis提供了一个可选的快速模式,当LPMode/TxDis配置为LPMode时,该模块使用LPMode信号和Power_override、Power_set High_Power_Class_Enable软件控制位(SFF-8636,地址AOh,字节93位0,1,2)的组合,表现得好像TxDis=0一样,主机控制模块可以消耗多少功率。当LPMode/TxDis状态为低时,将LPMode/TxDis模式从LPMode更改为TxDis,只需更改LPMode/TxDis模式的行为。原创 2024-08-01 14:41:51 · 1143 阅读 · 0 评论 -
QSFPDD光模块文档解析
db = 100*log10(power/10000.0)或者 db = 100*(log10(power) - 4.0)int nNominalMBps;上面的静态数据,厂家sn,pn,厂家名称。模块ident号,datacode用字符串进行解析。软复位和低功耗寄存器分别处理page0 reg26 的bit3和bit6.例如:0x6658 = 26200/20 = 1310nm。波长:大小端数据转换(short)温度处理,查看温度手册。1,page0寄存器。2,page1寄存器。原创 2024-07-16 19:19:55 · 471 阅读 · 0 评论 -
电容蓄电能力测试总结
计算公式:72*8bit(1个char = 8bit) /115200bit/s = 72*8/(2*7200*8) = 1/200s = 5ms.1,在有些地方我们设备掉电需要上报一些报文信息,这个时候电容起到了决定性作用,而已知电容大小和不知电容大小我们怎么看蓄电能力呢.计算方法,串口比特率115200bit/s和串口打印数据字节数,例如打印char数据72个。(4)检测中断寄存器(有软件和硬件两种检测方法,下面用软件方法检测来举例)2,掉电触发中断,我们通过中断输出信息,通过信息查看掉电时长.原创 2024-07-16 19:18:44 · 138 阅读 · 0 评论 -
phy 业务测试场景总结
先A和B对接在1口,将A设备的1口光模块拔插光纤(换口和不换口),再对B口进行一样的操作。先A和B对接在1口,将A设备的1口光模块拔插光纤(换口和不换口),再对B口进行一样的操作。先A和B对接在1口,将A设备的1口光模块拔插光纤(换口和不换口),再对B口进行一样的操作。先A和B对接在1口,将A设备的1口光模块拔插光纤(换口和不换口),再对B口进行一样的操作。先A和B对接在1口,将A设备的1口光模块拔插光纤(换口和不换口),再对B口进行一样的操作。原创 2023-12-19 15:17:02 · 250 阅读 · 0 评论 -
端口乱序调试
其他涉及到htx/ltx/hrx/lrx的端口映射的地方也需要按照发送的端口依次更改,按照发送和接收的方向更改即可。因为最开始芯片厂家会给我们一个映射关系表,当端口乱序的时候我们首先需要确定是那个方向出问题了。当仪表和设备对接时,端口错序了怎么定位,首先是软件定位,后面硬件改动,那么怎么定位呢。查看下面的简化图,设备通过retimer芯片和模块对接,模块后面接仪表。(1)仪表和设备对接,仪表发数据流,设备收。(2)仪表和设备对接,设备发数据流,仪表收.看上面图片中的ltx->hrx这个方向。原创 2023-12-19 11:26:12 · 180 阅读 · 0 评论 -
prbs测试
PRBS检测主要应用在设备开局或维护期间,在没有合适误码仪的情况下,使能了PRBS检测功能的设备自行发送PRBS码流,PRBS码流通过被测试网络,经远端设备环回(远端设备需要配置环回),经过PRBS监视模块的处理,判断发送与接收的PRBS码流是否相同,以此来判定被测试网络链路或设备是否正常.前提条件,在对接设备中,在配置用户侧PRBS检测前,需在对端设置远端环回,在配置网络侧PRBS检测前,需在对端设置本地环回。(2) 查看retimer芯片的prbs误码(retimer hrx测误码统计)原创 2023-12-18 16:46:16 · 1739 阅读 · 0 评论 -
serdes信号调式参数了解
加重(Emphasis)分为去加重(de-emphasis)和预加重(pre-emphasis)。预加重技术的思想就是在传输线的始端增强信号的高频成分,以补偿高频分量在传输过程中的过大衰减。我们知道,信号频率的高低主要是由信号电平变化的速度决定的,所以信号的高频分量主要出现在信号的上升沿和下降沿处,预加重技术就是增强信号上升沿和下降沿处的幅度。“post”是指数据"0" -> "1"或者"1" -> "0"“pre”是指数据"0" -> "1"或者"1" -> "0",其他地方信号减弱。原创 2023-12-15 19:53:31 · 755 阅读 · 0 评论 -
sfp8472学习CDR
反之,若CDR带宽的取值比较小,这时抖动性能会变好,但是锁定时间会变长,严重的情况下会在个别系统单板上数据失锁,造成光模块不能正常使用。因为光信号传输至一定距离的时候,通常是长距离传输,其波形会出现一定程度的失真,接收端接收到的信号是一个个长短不一的脉冲信号,这个时候在接收端,我们就无法得到我们需要的数据。一般会使用到CDR的光模块,多数都是一些高速率、长距离传输的光模块,例如:10G SFP+ ER/10G SFP+ ZR一般都会用到的,使用CDR芯片的光模块会被锁定速率,不可以降频使用。原创 2023-12-08 17:04:58 · 858 阅读 · 0 评论 -
丢包问题定位(一)
先弄清楚设备的连接情况,确认是模块问题,设备问题,还是参数问题,前两种是个例,我们在换设备或者模块后可以恢复,我们这里不加讨论,我们今天来看看后面一种,就是所有的设备都会出现丢包问题,这个时候需要我们定位到底是什么导致的丢包,软件是否可以通过调参来修复。当我们发现是所有的设备都丢包的时候,这个时候我们需要将丢包的设备和仪表来对接了,我们需要查看时设备这边接收还是发送的问题了,所以当我们把设备和仪表对接后,我们需要看丢包的情况了。我们这里分两种情况:1,设备测丢包, 2 仪表测丢包。原创 2023-12-06 19:38:45 · 282 阅读 · 0 评论 -
cpld 模拟iic 访问原理实现
下降沿+器件地址(7bit)+W位(1bit) +NACK(响应1bit)+ 寄存器地址(8位)+NACK(响应1bit)+ 下降沿(start)+ 器件地址 +R(位) +NACK(响应)+ 发送数据(8bit)+NACK(响应)+上升沿。下降沿+器件地址(7bit)+ W位(1bit) +NACK(响应)+ 寄存器地址(8bit)+ NACK(响应) + 数据(8bit) +NACK(响应)+上升沿。if(data & 0x01) 判断 读写操作的应答NACK信号是否正常,正常下一步,否则直接退出。原创 2023-04-18 20:01:02 · 865 阅读 · 0 评论 -
温度芯片(TM75,LM75)
电压被数字化并转换为12位温度结果,以摄氏度为单位,分辨率为0.0625°C。因此,该温度结果相当于传感器所在的印刷电路板(PCB)的局部温度。iic读写,如果选择A0 ,iic读写有两个地址,一个器件地址寄存器,一个功能寄存器,比如说选择A0的读温度功能,第一个地址选择0x92,第二次地址选00;然后,将结果转换为12位左对齐格式的二进制代码,MSB = 0表示正号, MSB = 1表示负号。补码处理:即读出来的温度为0xfc= 0xfc - 0x100 = -4摄氏度。在计算机中,负数用补码表示。原创 2022-05-08 13:06:38 · 2659 阅读 · 0 评论 -
phy芯片学习指南
1,端口,SGMII是8bit并行同步收发接口,采用8位接口数据,工作时钟125MHz,因此传输速率可达1000Mbps。同时兼容MII所规定的10/100 Mbps工作方式。2,寄存器3,原创 2021-12-03 17:56:03 · 4051 阅读 · 0 评论 -
wireshark 过滤条件查看报文
报文长度过滤:udp.length > NUM(tcp.len > NUM)3, not 或者!原创 2023-02-24 10:22:05 · 648 阅读 · 0 评论 -
linux netstat端口使用(SO_REUSEADDR)
d, 允许完全重复的捆绑:当一个IP地址和端口绑定到某个套接口上时,还允许此IP地址和端口捆绑到另一个套接口上。a,允许启动一个监听服务器并捆绑其众所周知端口,即使以前建立的将此端口用做他们的本地端口的连接仍存在。首先tcpdump抓包,如果找到报文数据,说明通信正常,如果没有抓到报文数据,那接下来怎么去看呢。(5)在相互通信的另一端也可以查看端口信息,查看端口是否创建,端口是否被占用。1,客户端和服务器通信时,数据如果没有进行交互,我们怎么去定位问题,可以重复绑定端口,函数不会报错。原创 2023-02-07 14:44:53 · 678 阅读 · 0 评论 -
spi访问fpga
Mode0:CKP=0,CKE =0:当空闲态时,CS_N处于低电平,数据采样是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据采样是在上升沿(准备数据),(发送数据)数据发送是在下降沿。CKP可以配置为1或0。Mode2:CKP=1,CKE=0:当空闲态时,CS_N处于高电平,数据采集是在第1个边沿,也就是SCLK由高电平到低电平的跳变,所以数据采集是在下降沿,数据发送是在上升沿。顾名思义,时钟相位/边沿,也就是采集数据时是在时钟信号的具体相位或者边沿;帧,即启动一次数据传送的数据帧长度。原创 2022-12-09 18:07:44 · 670 阅读 · 0 评论 -
iic片选PCA9548A芯片
总上:我们是将iic0 的0XE0/0XE1 地址的bit0-bit7写1即是选择访问sfp0-sfp7.根据A0/A1/A2的bit设置为1来选择从地址,而这里我们的A0/A1/A2接地,可以不用设置。从上图中我们可以看到通过iic的iic0扩展出8路iic来访问slave(例如8个口的光模块)。写完之后再去访问相应的器件就可以了。那么里面的原理是什么呢,我们先来看。A0/A1/A2是访问的器件从地址。需要写入的地址,即是片选的地址。原创 2022-11-30 19:22:12 · 3084 阅读 · 0 评论 -
retimer芯片调式总结
看里面的0-3工作在Master(master Active), 4-7 工作在Master(wait master),主控0-3,备控4-7.6,lrx方向:(lrx信号和插模块有关,哪个口有模块哪个口有信号,line测到host测的fec也是一样的,和插模块有关)retimer状态:(和模块有关,lrx信息是模块这边产生的相关信号)7,hrx方向:(和主备有关,和端口个数有关)9,fec host测和line测查看。1,主备状态是否ok。原创 2022-11-28 17:31:40 · 2014 阅读 · 0 评论 -
otn 709帧结构
OPUk信号是本地时钟产生的,与客户信号无关,利用数据填充补偿业务信号和OPUK容器之间的频率差,可以容忍非常大的频率差,用于非标准信号映射及ODUflex映射。光通路数据单元:ODU0/ODU1/ODU2/ODU3/ODU4/ODU-flex,完成通道连接性能监测和子速率复用、光通路净荷单元:OPU0/OPU1/OPU2/OPU3/OPU4/flex,主要用于完成业务同步或异步映射;映射到ODUk分为高阶ODUk和低阶ODUk,低阶实现业务的映射,而高阶实现ODUk复用和线路的映射。原创 2022-11-26 18:55:26 · 2182 阅读 · 0 评论 -
ds125调式以及丢包情况查看
但我们调式某个端口时,使用相应的端口接仪表,仪表打流后,然后进行调式,按照上面的参数更改眼高/眼宽/饱和度,然后查看ctc测得眼图情况以及端口丢包情况。第一段:switch(7132)>ds125->sfp (主控1/主控2)第二段:sfp->ds125->switch(7132)眼宽:由DEM_S控制。原创 2022-11-23 20:10:37 · 323 阅读 · 0 评论 -
光模块sfp属性分析
波分复用就是一种频分复用。波长×频率=光速(固定值:3X10^8m/s),所以按波长分其实就是按频率分。而光通信里面,人们习惯按波长命名。QSFP-DD每路采用25Gbps NRZ或者50Gbps PAM4信号格式。采用PAM4,最高可以支持。调制模式和波长是彩光模块的特性,包括光模块的fec设置。QSFP-DD,成立于2016年3月,DD指的是“将QSFP的4通道增加了一排通道,变为了8通道。10/100/1000M 电模块。nrz和pw4查看编码文档.封装类型说明:(连接头)原创 2022-11-22 11:04:08 · 367 阅读 · 0 评论 -
linux IIC学习
int i2c_e2prom_read(unsigned char * usRegAddr, unsigned char *pucBuf, int len){ int iRet; struct i2c_rdwr_ioctl_data work_queue; struct i2c_msg stI2cMsg[2]; unsigned char szucTxbuf[2]; ioctl(g_stszI2cBus[1].iFd, I2C_TIMEOUT, 1);/.原创 2021-07-12 17:32:13 · 814 阅读 · 0 评论 -
交换业务测试总结(一)
(2)检查配置,检测phy的这些配置是否和switch(sdk)一致,特别时speed.两台设备对接,当业务 不通时怎么定位呢!方法1:先分别自环,查看业务是否正常。环回如果如果没问题,就查看sdk.(1)模块信息:光口收发光正常。检测还是不通后就需要采用环回了。原创 2022-11-16 19:03:58 · 326 阅读 · 0 评论 -
tcpdump和wireshark抓包分析总结
1,抓包2,数据解析原创 2021-10-21 16:58:49 · 1185 阅读 · 0 评论 -
mdio phy(bcm5482)访问
可以看到bcm5482的MDC和MDIO用的是port P 的pin4和pin5,所以基地址为GPIO_PORTP_BASE. 对应的分别是引脚4和引脚5,所以由此可以封装出基于gpio的mdio读写功能函数。PHYAD:物理层芯片的地址,5个比特,每个芯片都把自己的地址与这5个比特进行比较,若匹配则响应后面的操作,若不匹配,则忽略掉后面的操作。DATA:帧的寄存器的数据域,16比特,若为读操作,则为物理层送到MAC层的数据,若为写操作,则为MAC层送到物理层的数据。中的某个寄存器的地址。原创 2022-10-26 19:44:42 · 675 阅读 · 2 评论 -
YT8614 phy芯片调式纪要
Phy芯片: 8614文档参考1:CTC21104_PR_R1.0_20210420_en.pdf 文档参考2:裕太微电子YT8614应用说明_1.1.pdf寄存器记录说明:访问方式:主要分为内部寄存器和外部扩展寄存器。外部寄存器a000说明: 寄存器a000的值 选择那种空间(copper/fiber/sgmii/qsgmii) 0 copper 2 SGMII /fiber原创 2022-04-26 19:51:48 · 2012 阅读 · 0 评论 -
marvel 1548 phy芯片调式
主要寄存器说明:page 18 reg 20正在上传…重新上传取消1000M : mode = 2 QSGMII->1000BASE-X100M或者 10/100M: mode = 2 QSGMII->fiber10/100/1000M mode = 4 QSGMII ->SGMII(SGMII即是10/100/1000自适应)代码中hw-mode的意义说明:(见madApiDefs.h代码hwMode说明) hwMode Me...原创 2022-04-26 19:39:40 · 791 阅读 · 0 评论 -
phy层深入了解编码
PMD是由电/光收发器SFP完成的,SFP光模块是光通信的核心器件,是通过光电转换来实现设备间信息传输的接口模块,由接收部分和发射部分组成。差分曼彻斯特编码波形图1代表没有跳变(也就是说上一个波形图在高现在继续在高开始,上一波形图在低继续在低开始)开始画0代表有跳变(也就是说上一个波形图在高位现在必须改在低开始,上一波形图在高位必须改在从低开始)是我们最常见的一种编码,即正电平表示1,低电平表示0。注:第一个是0的从低到高,第一个是1的从高到低,后面的就看有没有跳变来决定了(差分曼彻斯特编码)原创 2022-11-08 20:00:10 · 942 阅读 · 0 评论 -
ping包总结
3,ping大包 ping -s size 指定ping的包长度。不能用上面的命令的话,就开多个(20个)窗口同时ping.ping -f 126.0.1.3 //极限检测。0% packet loss 说明没有丢包。1% packet loss 说明有丢包。2,持续ping包 ping -t。5,ping + 参数。原创 2022-11-08 20:01:58 · 2012 阅读 · 0 评论