- 发送 clk为e_rxc 125M
复制代码- 写入 clk为50M
复制代码
我使用了使用xilinx spartan6 的板子来进行高速数据采集和传输。
问题是:
1.我一开始使用控制信号的方式,实现了“每当完成一次采集(200K),就进行一次ip发送(即对数据进行udp包装,发送到phy端口,并进行网线传输)。”这个实现了,问题是数据达不到200K传输,只有177K。而且,我每发一个数据,在前面添加编号,256一个循环,发现,前面接收的都没问题,后面开始丢包严重,用正弦波测试,前面波形非常平滑,后面就变得不行了,本来一个波形应该有n个点,后面的只有n/2个点。
为什么后面会丢包?即使降到50k,问题一样,只是要晚一些。
2.由于1的问题,认为是时钟问题,于是,按原来教程的方法,用ram每200K(50M时钟——板子)写入,并且每200k(125M的e-rxc)读出,使用chipscope发现输出的帧没问题(txd),但是网络调试助手抓不到包,用wireshark抓包,发现接收的板子mac地址错误,其他的IP地址也错了。,后面又改为100K和50K试了一下,mac依然错,并且抓到的包长度也错了。后面改了一下代码又试了下,发现200K的又可以了,但出现问题1.中的情况。又原封不动的改为50K,抓包又失败,mac地址这些的又错了。改回去,又可以了。然后用chipscope看了下,数据帧在到phy之前都没问题啊。我是真的没办法了。
写入和发送的代码附上,还望各位帮我解个疑。不胜感激。
-
代码截图
一周热门 更多>