微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > PC与FPGA通信问题

PC与FPGA通信问题

时间:10-02 整理:3721RD 点击:
我是想从PC上往板子上发送图像像素,用的百兆以太网传输数据。PC端用的winpcap库,可以直接在链路层上发送自定义帧,代码用C++写的,单步调试过,帧数据肯定没错误,
但是发到FPGA上,再用chipscope看波形,发现FPGA接收的数据完全不对啊,有人做过类似的东西么?
FPGA端的代码应该也没问题,我用的xilinx以太网IP核自带的例子,是不是板子哪里设置的不对,板子用的xilinx的ML605

基本有同样的问题...



   解决了么?



   冒。解决了就直接告诉你了...



   冒?湖北人?

量过外面phy的信号吗?RX_DV和RX_DATA这几个


这洞察力。呆久了而已...



   怎么量?我是直接在chipscope里看这两个信号的波形,PHY_RXD不对,但是在pc端,代码单步过,而且还用wireshark这个软件抓包分析过,发送出去数据应该是没错的,但是到了FPGA上就错了

终于找到原因了
比如我PC端发送一个0x4B, 那么它对应的对应的二进制为0100_1011,
按照百兆以太网IP核用户手册的描述,应该先发送低4bit,再发送高4bit,也就说FPGA端应该先后收到B、4。功能仿真的时候,IP核也确实是这样工作的。但是下载到板子上却不是这样了,FPGA实际收到的是D、2,D的二进制是1101,正好是B(1011)的逆序,2的的二进制是0010,正好是4(0100)的逆序。
这个应该是PC端发送机制的问题吧,难道我要特意把发送的数据都按二进制反序一下吗?

可能是大小端的问题,如此真是这样,那改一下也有需要。
还比按byte反位的情况我都见过,比如你发个32位的0x1234,那你会收到0x84C2这样的。

我也遇到同样的问题了

那就是网络字节序和主机字节序的问题了,自己倒换下就好

靠,这个帖子可以结了,终于知道为什么chiscope里的信号bit序是反序的了,不是大小端的问题,是信号本身就是按反序显示的,右键单击信号,选择Reverse Bus Order,一切就OK了

晓得了,呵呵



   小编,我的三态以太网中ip核的示例程序烧写到ml405后,88e1111的灯就灭了,知晓什么情况不,我最近做这个,好纠结啊.qq714386919


我用的V6的板子,IP核的版本是2.2,没你说的这个问题,较早的IP核版本貌似有你说的这个问题,我看网上也有人问过,应该是IP核没设置好


请问小编,winpcap与winsocket有什么区别啊?哪个更容易上手呢?新人,也是想做一下FPGA与PC通信,两种方式网上都能搜到,不知道哪个更容易些。



   winpcap是在链路层上发帧,winsocket应该是在网络层上发帧,对于FPGA来说,感觉用winpcap好,这样数据帧就没有了TCP/IP协议头,FPGA处理起来简单

小编你好,我现在要做fpga和pc的通信,能大概说下流程吗,关于ip核的使用,谢了哈~

方便我看一下与上位机的代码吗?

从发送端逐级向后排查,用wireshark,示波器,在用简单的逻辑,查看接收到的数据,最后查看ip核是否接收到数据,以及数据是否正确。看看是否是线序反了。



      PC端的代码吗?



    我也用到ML605以太网和计算机通信的问题,如果您可以实现双向通信,那就太好了,我就不用再花费时间了。可否联系一下商讨一下合作?我的qq619054650。

我也用到ML605以太网和计算机通信的问题,如果您可以实现双向通信,那就太好了,我就不用再花费时间了。可否联系一下商讨一下合作?我的qq619054650。

我也用到ML605以太网和计算机通信的问题,如果您可以实现双向通信,那就太好了,我就不用再花费时间了。可否联系一下商讨一下合作?我的qq619054650。

不应该吧,我也调过百兆网。是不是管脚分配反了

大小端模式只是对word来说的,

最近我也在做电脑与FPGA通信的东西

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top