精华内容
下载资源
问答
  • fpga网口通信时序。

    热门讨论 2012-11-12 11:19:10
    因为是我呕心沥血调好的程序,要了10分,然后里面包含了主要的 网口驱动程序,时序,还有我发了20000包数据,并且是8个8位拼接成的64位发,一包的数据时800bytes,...实现千兆网口通信,测试数据传输速度为700M/bits。
  • 这段时间在调试FPGA与PC的千兆网口通信,用到Virtex6 Tri Mode Ethernet IP Core,遇到诸多问题,例如: 1、我用的是xilinx的virtex6中的tri_ethnet_mac_IP CORE中自带的example程序,直接与PHY芯片链接,并用...
  • 关于ZYNQ的udp/tcp网口通信学习笔记

    千次阅读 2019-08-03 22:55:35
    最近在学习zynq的网口,记录一下学习搜的资料和感想,持续慢慢更新。。。。 这位博主写的关于lwip的学习笔记可以好好看看 https://blog.csdn.net/FPGADesigner/article/details/88662286 (FPGADesigner《学会...

    最近在学习zynq的网口,记录一下学习搜的资料和感想,持续慢慢更新。。。。

    1. 这位博主写的关于lwip的学习笔记可以好好看看
      https://blog.csdn.net/FPGADesigner/article/details/88662286 (FPGADesigner《学会Zynq》系列目录与传送门)
    2. https://blog.csdn.net/wuzhouqingcy/article/details/83387020 (xilinx zynq的lwip的官方例程解析)

    20190805周一更新记录
    https://blog.csdn.net/leon_zeng0/article/details/78210022 (Zynq 7000裸机的lwip 样例程序echo server 实验)

    1. 今天网口的lwip例子终于跑通了,原因是phy芯片88e1518的复位引脚接到了FPGA端,没有进行复位,这个问题找了一整天啊,才发现,之前约束管脚的时候只看到它有个100k的电阻上拉,没注意到还接入到了pl端。
      今天还跑了个UDP的例子,可以完美跑通:
      https://blog.csdn.net/FPGADesigner/article/details/88746532 (学会Zynq(14)UDP发送Hello World)

    20190822周四更新记录:

    1. https://blog.csdn.net/xu20151111/article/details/89561229(petalinux在zynq平台移植和双网口实现)

    20200513更新记录:

    1. LWIP裸机环境下实现TCP与UDP通讯 https://www.cnblogs.com/dengxiaojun/p/4385491.html
    展开全文
  • 在本设计中,通过配置ZC706的LWIP模块实现网口通信,网口主要用来控制9371和9009的参数及配置。在本系统中,采用ZC706+FreeRTOS的配置模式,实现高速网口通信。 1. LWIP配置过程简介 如下图所示,在Project中选择...

    在本设计中,通过配置ZC706的LWIP模块实现网口通信,网口主要用来控制9371和9009的参数及配置。在本系统中,采用ZC706+FreeRTOS的配置模式,实现高速网口通信。
    1. LWIP配置过程简介
    如下图所示,在Project中选择“LWIP Echo Server”选项进行工程建立
    在这里插入图片描述
    2. 工程建立完成后,配置LWIP的工作参数,实现高速通信
    在配置完成LWIP后,需要修改一些默认参数,使得通讯速率提高,参数有以下几个:

    //以下参数都不是在代码里面修改,需要直接在工程BSP里面修改参数
    MEM_SIZE 524288
    MEMP_NUM_PBUF 1024
    MEMP_NUM_TCP_SEG 1024
    PBUF_POOL_SIZE 8192
    N_RX_DESCRIPTORS = 512
    N_TX_DESCRIPTORS = 512
    TCP_SND_BUF 65535
    TCP_WND 65535
    TCP_IP_TX_CHECKSUM_OFFLOAD= true
    TCP_IP_RX_CHECKSUM_OFFLOAD= true
    

    改进之后传输速度达到了600Mbps以上。

    3. 配置FreeRTOS参数解决一些隐藏bug
    实现网口通信后,在多次进行网络通信的时候,长时间通信后容易报错导致网口直接宕机,然后再也驱动不起来,也无法ping通,通常我们检查串口打印的时候会发现程序进入了以下函数:
    vApplicationMallocFailedHook()

    为了解决该问题,需要修改Free RTOS系统参数,增加网口通讯的堆栈实现多次的地址分配,我们的参数如下可以参考:
    在这里插入图片描述
    4. 其他需解决的网口问题
    解决以上两个问题后,基本上网口问题可以解决,但是还有以下几个潜在问题,需要用代码解决:

    1. 网口第一次初始化时,如果没有连接网线,后面即使连接了网线,网口通信也无法正常使用
    2. 在网口初始化过程中,如果外部有ping命令过来,会导致网口丧失功能
    3. 网口速率进一步提高

    这三个问题我们已经解决,以后会陆续更新资料
    大家如果有兴趣,可以评论区留言

    以上文章为千有科技专有,未经允许,不允许转发或者用于商用,否则将追责。

    展开全文
  • W5300网口芯片的FPGA控制协议流程

    千次阅读 2017-12-25 13:54:17
    一、 系统硬件构成与设计 1.1 W5300芯片介绍 ...W5300是一款0.18um CMOS工艺的单芯片器件,内部集成10/100M以太网控制器,MAC和TCP协议栈。W5300主要应用于高性能嵌入式领域,如...W5300的数据通信存储器扩展到12
    一、 系统硬件构成与设计


    1.1 W5300芯片介绍
    W5300是一款0.18um CMOS工艺的单芯片器件,内部集成10/100M以太网控制器,MAC和TCP协议栈。W5300主要应用于高性能嵌入式领域,如多媒体数据流服务。通过一个集成有TCP/IP协议的10/100M的以太网MAC和PHY的单芯片可以非常简单快捷的实现Internet连接。W5300的数据通信存储器扩展到128K字节,与MCU的接口支持16位数据总线,用户可以使用8个独立的端口进行高速数据通信。
    每一个端口的通信数据存储器可以分配0~64K字节,可以根据端口通信数据吞吐量动态调整期分配。也可以通过配置辅助的寄存器使系统具有更高的性能。TCP/IP内核是完全基于网络协议处理技术进行硬件逻辑化。因此可以更好的通过程序进行控制。
    在TCP层实现数据传输协议,它支持TCP客户端模式和TCP服务器模式。


    1.2硬件接口设计
    W5300与控制器的接口模式有直接寻址模式和间接寻址模式,数据总线分为16位和8位总线两种方式。在本设计中采用直接寻址与8位数据总线模式。因此BIT16EN引脚拉低,物理层使用W5300内部的PHY模式,并配置为全功能自动握手运行模式,即TEST_MODE[3:0]和OP_MODE[2:0]均配置为低电平。W5300硬件接口方式如图1所

    图1 W5300硬件接口连接原理图
    由FPGA内部逻辑产生地址线、数据线、片选、读写使能信号,并指向W5300芯片。由于W5300不支持上电复位,所以在上电后由FPGA接口逻辑产生复位信号。
    1.2.1 W5300接口逻辑设计
    W5300接口逻辑由复位逻辑与时序控制逻辑组成。复位逻辑产生W5300复位信号以及时序控制逻辑的复位信号;时序控制逻辑按照W5300的读写寄存器时序完成对寄存器的读写访问。



    图2 W5300复位信号时序
    W5300的复位信号拉低至少持续2us,为了使W5300系统稳定,在复位信号拉高后至少持续10ms。本系统复位信号拉低持续3.2us,再复位后持续了11ms后,W5300开始正常工作。


    图3 写时序控制逻辑

    图4 读时序控制逻辑
    W5300读写时序如图3、4所示,片选与读写使能均为低电平有效,当写数据时,在给出写使能信号至少7ns后写入到寄存器中,片选拉低至少50ns;读数据时,在读使能信号拉低至少42ns后读数据,在本系统中,采用XILLINX Virtex5的开发板,时钟信号为100Mhz,所以读使能拉低时间为70ns,拉高30ns,在给出读使能50ns后,进行数据读取。写使能信号拉低50ns,拉高30ns,在写使能信号有效20ns后,将数据写入W5300。


    二 系统软件设计


    本系统主要采用客户端模式,整体设计流程如下图所示:


    图5 整体控制流程


    2.1 W5300寄存器介绍及初始化配置
    本系统由直接寻址模式,8位数据总线组成,W5300的寄存器由模式寄存器、通用寄存器和端口寄存器组成。按照W5300配置流程,首先进行通用寄存器、端口寄存器配置,然后进行端口的建立连接,完成初始化配置。
    W5300初始化通过3步完成:
    1. 设置主机接口模式为TCP模式,总线位宽为8bit位宽。
    2. 设置基本网络信息,主要设置MAC地址,子网掩码,网关,以及源IP地址。当连接建立成功后,设置重传时间和重复发送次数,用于数据包的发送失败和重复发送。
    3. 定义内部RX/TX存储器大小,以及每一个SOCKET的TX/RX存储器大小。W5300包括16个8K字节存储单元,这些存储单元依次映射在128K存储空间,128k存储空间分为发送存储器和接受存储器。内部发送存储器和接受存储器以8K字节为存储单元分布在128K字节空间。内部TX/RX存储器可以再0~64字节空间以1K字节为单元重新分配给每个SOCKET。
    初始化设置完成后,W5300可以响应Ping请求。
    2.2 数据通信
    完成初始化配置后,可以通过每一个套接字设置不同的通信方式,本系统采用TCP通信协议,在TCP模式,首先通过IP地址和端口号与对端建立端口连接,通过连接的端口发送和接收数据。建立端口连接有TCP服务器和TCP客户端之分,区分它们的方法是谁首先发送连接请求,本系统由W5300发送连接请求(SYN)到服务器,服务器响应W5300且同时回复已经打开,W5300在收到服务器的回复后响应服务器,完成三次握手的机制,从而开始进行数据通信。


    2.2.1 端口初始化
    为了实现TCP通信,需要对SOCKET进行初始化并打开SOCKET。通过Sn_MR寄存器和Sn_PORTR寄存器分别设置通信协议与本机端口号,然后执行打开命令(Sn_CR),通过状态寄存(Sn_SSR)判断,如果状态寄存器变为SOCK_INIT,TCP端口打开成功。打开成功后,设置目的IP地址(Sn_DIPR)与目的端口号(Sn_DPORTR),然后执行建立连接指令,如果状态寄存器变为ESTABLISHED状态,则建立连接成功。需要注意的是,在建立连接过程中,可能会出现ARP超时或者TCP超时,如果出现超时,则必须对端口进行重新配置。具体流程配置如图6所示。
    端口初始化完成,在端口进行数据通信开始后,当端口没有数据收发时,为了保证端口的稳定连接,在每隔40s发送一次心跳包,通过Sn_KPALVTR寄存器配置心跳包。

    图6 端口初始化配置流程

    2.2.2 数据接收
    在端口成功建立连接后,将进行数据的接收流程,在接收数据流程中,当检测到RX存储器中具有数据后,即接收数据长度寄存器(RX_RSR)不在为0,表示接收到数据。通过读取Sn_MR寄存器的ALIGN位,判断字节长度。当ALIGN位为0时,主机首先通过读取Sn_RX_FIFO确定所接收到字节的长度;当ALIGN位为1时,则直接读取Sn_RX_RSR确定RX缓存区字节长度。然后将数据依次通过Sn_RX_FIFO从RX缓存区读出,当数据全部读取完成后,执行RECV命令,完成数据的接收。数据接收流程如图7所示。


    图7 数据接收流程控制
    需要注意的是,当端口只进行数据接收而没有发送时,主机不能快速处理数据会导致内部RX缓存区溢出,此时W5300窗口尺寸为0。主机必须将RX缓存区数据进行发送处理后,才能继续进行数据的接收。


    2.2.3 数据发送
    数据通过Sn_TX_FIFO写入到内部TX存储器后,W5300试着将数据发送到对端。发送数据的大小不能比分配给高SOCKET的内部TX存储空间大。首先,需要查询端口TX存储器的剩余空间字节数,当TX存储器由足够的缓存区时,方可将要发送的数据通过Sn_TX_FIFO依次写入到TX存储器中,然后将数据长度写入到Sn_TX_WRSR寄存器中。
    当执行命令前,如果不是第一次发送数据,需要查询上一次SEND命令是否执行完成,通过中断寄存器IR(SENDOK)来判断,当SENDOK标志位为1时,说明发送完成,向中断寄存器写入1,进行清除中断操作。然后执行SEND命令。

    操作流程如图8所示


    图8 数据发送流程
    当数据发送完成时,会跳向下一个端口进行数据收发,当完成端口7的数据收发后,会继续从端口1重新开始进行数据的收发,采用这样轮询的方式直到数据全部收发完成停止。
    展开全文
  • FPGA调试网络的坑

    2018-12-04 16:49:35
    这里写自定义目录标题FPGA调试以太网记录调试记录 FPGA调试以太网记录 ...将camera程序与因特网程序整合在一起,嗯,效果不错,图像正常显示,且使用网口调试助手可以和FPGA进行网络通信; 在因特...

    这里写自定义目录标题

    FPGA调试以太网记录

    手头有一块spartan6的FPGA开发板,附带有摄像头和LCD显示屏。厂家给了源代码,用于驱动摄像头以及将拍摄到的图片显示到屏幕上。 编译原厂代码,可以正常运行(屏幕更新速度有点慢)。

    调试记录

    1. 将camera程序与因特网程序整合在一起,嗯,效果不错,图像正常显示,且使用网口调试助手可以和FPGA进行网络通信;
    2. 在因特网程序中,添加ARP协议的实现,这里稍微有点小坑,ARP包自身的数据量较少,不能形成一个符合最小数据量的数据包,因此在发送网ARP数据包之后,还需要发送一些填充位(使用的RTL8201,不具备自动生成FCS及自动填充的功能),然后才能实现ARP协议;
    3. 开始尝试Camera程序与因特网程序之间的交互,先来一个简单的,摄像头每采集一副图像,则发送一个VSYNC信号,FPGA检测到该信号后,则向网口发送一个特定的字符串,不难,一次通过;
    4. 统计每幅图像的像素的个数,设定pixCnt变量,每接收到一个有效的pclk,则加一,当FPGA收到VSYNC信号后,将该变量发送到上位机,同时将该变量复位;
    5. 截取原来应该发送到屏幕的内容,将其发送到上位机。一个IP数据包发送1024个字节,根据计算,需要发送255个数据包才能够完成一副图像的发送。
    6. 开始遇到问题,只能接收到一个数据包发送的1024字节,其他的收不到,查早原因,首先怀疑是不是数据量太大,那么将每一包的数据量缩减到40各字节,且每次只发送3个数据包,仍然存上述的问题,每次仅能接收40个字节。使用chipscope检查发送的内容,确实是发送了3个数据包,但是上位机收不到。然后怀疑发送的数据在计算FCS是不是有问题。通过chipscope查看每次发送的数据,并利用VC计算每一帧正确的FCS,与FPGA计算的FCS相比较。都没问题,数据内容没问题,IP头的校验码没问题,FCS没问题。
    7. 问题的症结可能并不在你所考虑的本身,就像打败方便面厂家的不是其他厂家,而是外卖。 在查看chipscope波形时,发现,每个数据包的间隔(即发送完前一个数据包的FCS到再次发送数据包的前导码之间的时间间隔)为4各时钟周期,按照25M的时钟,这个间隔为160ns。这里面会不会有什么问题。
    8. 上百度,搜索IP数据包 间距关键字,原来还有一个叫IFG(Interface Gap)的东西,是为接收设备预留一段短暂的恢复时间,从而为接收下一帧作准备,最小值为发送96个bit的时间,算一下,100M的网络至少需要960ns。 更改代码,每发送完FCS之后,预留1us的时间。 果然是这个问题。
    展开全文
  • 最近在使用带有网络通信功能的FPGA做实验,在整个实验过程中出现了一些小问题,在此记录。本片博客主要想记录我尝试去解决问题的思路。 实验环境 FPGA方面:我使用的是带有两个千兆网口的实验板,其它配置不过多赘述...
  • 针对核辐射能谱、正电子湮没符合多普勒展宽谱测量的...再由网口模块与上位机之间进行通信,采用UDP协议进行幅度、时间信息的传输,得到核信号的能谱。系统采用双通道对正电子符合多普勒展宽谱测量,得到二维符合图谱。
  • 基于FPGA的UART接口协议设计

    千次阅读 2014-05-25 14:47:37
    一、PC终端概述 PC终端,Personal Computer 智能终端,通俗的讲,就是利用...在我们电子设计中的PC终端软件的通信,应用最多的就是串口、其次是USB接口、再就是网口。(对于现在大部分笔记本没有了串口,我们可以
  • 核心板内部DSP与FPGA通过SRIO、EMIF16、I2C通信总线连接,并通过工业级高速B2B连接器引出千兆网口、PCIe、HyperLink、GTX等高速通信接口。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业...
  • 核心板简介 创龙结合TI KeyStone系列多核架构TMS320C...核心板内部DSP与FPGA通过SRIO、EMIF16、I2C通信总线连接,并通过工业级高速B2B连接器引出PCIe、HyperLink、千兆网口、GTX等高速通信接口。核心板经过专业的PC...
  • 创龙TL5728F-EVM是一款基于TI Sitara系列AM5728双核ARM Cortex-A15 +浮点双核DSPC66x +Xilinx Artix-7 FPGA处理器设计的高端异构多核评估板,由核心板与底板组成。核心板内部AM5728与Artix-7通过GPMC、I2C通信总线...
  • 核心板内部DSP与FPGA通过SRIO、EMIF16、I2C通信总线连接,并通过工业级高速B2B连接器引出千兆网口、PCIe、HyperLink、GTX等高速通信接口。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业...
  • 工业现场通信技术是智能制造业的核心技术之一,随着智能制造业的快速发展,对节点间通信的实时性、可靠性以及通信带宽提出了更高的要求。工业以太网主站可以在多种平台上运行,只需硬件提供一个标准的网口。因此,...
  • 开发板上FPGA通过以太网PHY芯片KSZ9031RNX和网口连接, 通过RGMII接口跟FPGA进行数据通信。 一、基本知识介绍 从硬件角度来看以太网是由CPU,MAC,PHY三部分组成的,如下图: 上图中DMA集成在CPU,CPU,MAC,PHY并不是...
  • 一、PC终端概述 PC终端,Personal Computer 智能终端,通俗的讲,就是...在我们电子设计中的PC终端软件的通信,应用最多的就是串口、其次是USB接口、再就是网口。(对于现在大部分笔记本没有了串口,我们可以用USB...
  • 核心板内部AM5728与Artix-7通过GPMC、I2C通信总线连接,并通过工业级高速B2B连接器引出千兆网口、PCIe、USB 3.0、SATA等接口。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。 ...
  • 1)实验平台:正点原子开拓者FPGA 开发板2)摘自《开拓者FPGA开发指南》关注官方微信号公众号,获取更多资料:正点原子3)全套实验源码+手册+视频下载地址:...在以太网通信实验中,我们通过网口调试助手成功地...
  • 1)实验平台:正点原子开拓者FPGA 开发板2)摘自《开拓者FPGA开发指南》关注官方微信号公众号,获取更多资料:正点原子3)全套实验源码+手册+视频下载地址:...在以太网通信实验中,我们通过网口调试助手成功地...
  • 本人最近在做个项目,想把FPGA高速采集到的数据传递给STM32F4,数据量庞大而且需要一定的速度,串口恐怕是行不通,所以本人第一时间想到的是网口传输,废话不多说了 首先,打开cubxmx软件,找到对应的单片机型号(我...
  • UDP协议详解

    2020-09-08 09:48:10
    这几天对FPGA实现网口通信计较有比较有兴趣,发现买的开发板自带一个UDP的loop back例程。通过ILA抓取数据,并且对数据进行解析,一一对应其在UDP协议中的位置。 2、ILA中抓取的数据 55-55-55-55-55-55-55-d5 ...
  • 基带信号处理模块

    千次阅读 2013-02-23 22:57:36
     DSP处理模块包括:载波频偏纠正、载波相偏估计、单倍符号抽取、解调(OFDM、QAM16、OQPSK、QPSK、DBPSK、GMSK等)、解交织、译码(viterbi、Turbo)、解扰、解密、校验,网口通信等。 4、上位机软件
  • zynq开发板外设配置

    2019-09-18 05:21:06
    从Z-turn Board原理图上看,目前可以配置的FPGA管脚大概有100多个,其它的管脚全部分配到A9上面,我用ISE14.6配置了几个通信接口,然后生成API接口,目前ARM端在裸机跑程序,后续上操作系统试试网口通信功能,图中...
  • 从Z-turn Board原理图上看,目前可以配置的FPGA管脚大概有100多个,其它的管脚全部分配到A9上面,我用ISE14.6配置了几个通信接口,然后生成API接口,目前ARM端在裸机跑程序,后续上操作系统试试网口通信功能,图中...
  • 核心板内部DSP与FPGA通过SRIO、EMIF16、I2C通信总线连接,并通过工业级高速B2B连接器引出千兆网口、PCIe、HyperLink、GTX等高速通信接口。 核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业...
  • 核心板内部DSP与FPGA通过SRIO、EMIF16、I2C通信总线连接,并通过工业级高速B2B连接器引出千兆网口、PCIe、HyperLink、GTX等高速通信接口。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业...
  • 以太网传输用 Ethernet UDP网口的 UDP 数据包,提取 JP FIFO 模块用于存储摄像头 OV5640数据包的长度时,触发一次 UDP 实验时AX7325开发FPGA 来实现网络摄像头的功能。这里模组,通过配置 OV5640 的寄存器实现 JP...
  • KCU105是XILINX 基于Kintex ultrascale系列的FPGA 开发板,提供丰富的扩展接口,如SFP/SFP+,网口,HDMI和4路SMA连接器的GTH端口,PMOD数据接口,FMC LPC/HPC,PCIE金手指等,且可以通过micro USB实现JTAG配置,本次...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

fpga网口通信