打印

新手求教Serdes的Deterministic Latency模式 pattern信号与0xBC对不齐

[复制链接]
1108|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tramp_forever|  楼主 | 2012-7-30 17:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,本人正在使用Cyclone IV GX EP4CGX75CF23,现在在调试serdes的时候遇到了大问题,还请知道的好心朋友帮指导指导,先提前谢过了!
Serdes使用的Deterministic Latency模式做收发器,现发现接收到的rx_patterndetect信号有时候与0xBC对不齐,还有就是rx_patterndetect信号拉高时其下面对应的数据可能并非是0xBC,在pattern附近都没看到0xBC。

对于这种对不齐,但是如果0xBC还是存在的情况,我使用的是把帧头0xBC扩展成0x5A5A5A5A5A5ABC,共7个字节(当然,tx_ctrlenable只会在BC上面才拉高),到了接收端,不再利用pattern信号来做同步,直接检测7字节的数据缓存单元,当其与我发送的数据序列一致时则认为找到帧头了,只要收到以后,我会把此通道的一个标志信号flag永久拉高,除非复位请求(外部主复位或者我一直都检测不到pattern信号被拉高)

当我使用SignalTab观察数据时发现,有个时候,即便我4个通道的数据在SignalTab上显示都正确的时候,那个帧头7字节的特殊字串也是正确的,但我的flag标志却只会被拉高1,2个。每个通道的代码一样,我只是例化4次而已,时序约束都通过,使用85°模型,时序余量最小值为0.35。

求知道的大侠帮指点下,谢谢!!! 本人对收发器不是很熟悉

相关帖子

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

本版积分规则

0

主题

3

帖子

1

粉丝