我这边板子上4个6678通过一个cps1848连接。
我i需要跑通srio,我在pdk里面loopbackDIOIsrexampleproject上做了简单的修改,修改pll成1.25,然后就是改4X 1X。
有一个奇怪的现象:配置成4X时,mantenance操作完毕后,ERR_STAT值等于0x20202,配置成1x时,值是0x20002,也就是4X时,每次都有output-error-enc和input-error-enc,1x时,只有output-error-enc,但是实际上这个manenance操作是完成了的。
交换机那边打开output,input使能,配置路由。
现在的情况是,mantenance可以通,DSP A去读DSP的reg没有问题,但是有时候读完DSP B的寄存器再去读switch的reg也会出错。DIO完全不通,
srio_getSockOpt读出来的值等于1,DSP这边的寄存器,ERR_STAT等于0x20202,
请问一下大家有没有遇到过类似的情况,有几个问题:
1,srio配置的时候,我屏蔽了SetTLMPortBaseRoutingInfo和SetTLMPortBaseRoutingPatternMatch,这两个配置是干什么的?有什么影响么?因为我打开情况也没有什么变化。i
2, srio_getSockOpt得到的值分别代表什么意思呢?在哪儿可以查到?
3, 大家对于我遇到的这个问题有没有一个大致的建议,我现在应该怎么去定位分析这个问题?
zhihua xie zhihua xie:
Hi tao yang3 : 我最近也在调cps-1848的switch芯片,请问你这个问题解决了没?能不能发你那个源码给我参考一下?谢谢!!!
我的邮箱是:958947443@qq.com
tao yang3:
回复 zhihua xie zhihua xie:
还没有解决哦,用的代码就是在 SRIO_LoopbackDioIsrexampleproject上修改的。把loopback改成了normal模式。
现在还是维护包可以通,数据包通不了。。我这边已经交给另外的人做了,,,,你那边要是有解决方案麻烦分享一下。
zhihua xie zhihua xie:
回复 tao yang3:
我现在才刚开始…..
chen yi xue:
你好请教下你的maintaince是怎么配置的
lsu还是message?
maintainc包的TT是nwrite么
如果是LSU的话,的目标地址是怎么确定的?
Zhengdong Li:
回复 tao yang3:
你好,看到你也在用1848和6678的互联,想请教一下1848的配置问题
我使用ARM通过I2C配置1848可以成功,两片6678可以进行正常通信。但是,想用6678发送维护包给1848进行配置时,发现ARM写进去的寄存器的值都可以通过维护包读到,但是没法让6678使用维护包进行更改1848的各个寄存器的值。也就是说6678只能读1848而不能写,请问你遇到这种问题了吗,是怎么解决的?进行维护包写1848的时候,需要一些额外的操作比如说打开1848的写开关之类的吗,谢谢!
hao wang26:
回复 Zhengdong Li:
你好,我现在在用6455通过I2C配置CPS1616。我想请教一下,SRIO SWITCH芯片作为从设备时,DSP通过I2C是不是可以任意读写CPS1616芯片内的寄存器,还是说开始需要什么设置才能读取成功。我现在I2C针对1616的读写不成功。
Zhengdong Li:
回复 hao wang26:
I2C要用到地址的,你对SWITCH设置的地址跟你通过DSP访问时候用的地址是相同的吗
hao wang26:
回复 Zhengdong Li:
设备地址包括地址位数,SDA和SCL两根线的信号也量过。写看起来是没有问题的,对面也有ACK回应,但是读的时候总是读不到数据。我用的时6455的CSL库。还一个现象是每次写完成后,时钟和数据两根信号线都被拉低了。不知道是哪里的问题。I2C的时钟配置为100KHZ。不知道是CSL库的I2C函数有问题,还是我忽略了什么东西。
hao wang26:
你好,我想请教下,要用6678与CPS1848连接,要对CPS1848进行哪些配置?我看了用户手册,但是觉得上面说的有点乱啊,在官网上也没有找到相关例程。你可以给我发个DEMO程序,或者跟我说说有哪些寄存器需要进行配置吗?多谢了。我的邮箱wish_1122@163.com.
q zhao:
回复 Zhengdong Li:
请允许我 挖。。。
问下,CPS1848的dest ID 是怎么在DSP那边设置的呢?就是说,DSP发出来的数据包带DEST ID,怎么设置的??
多谢