在本设计中,通过配置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. 网口速率进一步提高

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

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

基于FPGA ZC706的AD9371ADRV9009网口驱动配置相关推荐

  1. 基于FPGA的iic主从机驱动实现 Verilog实现iic slave和iic master

    基于FPGA的iic主从机驱动实现 Verilog实现iic slave和iic master 顶层模块实现master对slave自定义的寄存器读取 带仿真模块 ID:153069768739840 ...

  2. 基于FPGA的LD3320语音识别模块驱动设计

    一.设计要求 以FPGA为控制核心,接收语音控制信号和识别控制信息: 通过继电器完成对热水器.加湿器.空调等三个家用电器的控制: 二次升级要求:使用无线模块完成对热水器.加湿器.空调等三个家用电器的控 ...

  3. 基于FPGA的三线制数码管驱动设计

    目录 引言 电路结构 实现思路 数码管显示译码 74HC595驱动 源码分享 板级验证 引言 对三线制数码管的驱动设计做一个简单的总结吧. 电路结构 数码管结构图: 动态扫描原理: 主要是利用了人的视 ...

  4. USB转网口驱动信息的查看和配置

    文章目录 查看USB转网口转接头信息 USB转网口驱动配置 USB驱动信息的查看 查看USB转网口转接头信息 首先,查看一下没有插入转接头之前的网口信息 ip addr 然后插上USB转网口的转接头到 ...

  5. 基于FPGA的实时图像边缘检测系统设计(上)

    今天给大侠带来基于FPGA的实时图像边缘检测系统设计,由于篇幅较长,分三篇.今天带来第一篇,上篇,话不多说,上货. 导读 随着科学技术的高速发展,FPGA在系统结构上为数字图像处理带来了新的契机.图像 ...

  6. 基于FPGA实现SPI接口(配置或通信)

    基于FPGA实现SPI接口(配置或通信总线) 1)总线简介 串行外设接口(SPI)是微控制器(FPGA)和外围IC(如传感器.ADC.DAC.移位寄存器.SRAM等)之间使用最广泛的接口之一.主要用于 ...

  7. 基于FPGA的CAN通信,FPGA驱动SJA1000T芯片代码,实现标准帧与扩展帧的通信驱动

    基于FPGA的CAN通信,FPGA驱动SJA1000T芯片代码,实现标准帧与扩展帧的通信驱动,已上板调通 品牌型号 CAN SJA1000T 与世面上的不同,代码不是SJA1000T芯片代码,而是驱动 ...

  8. 基于FPGA的UART接口协议设计

    一.PC终端概述 PC终端,Personal Computer 智能终端,通俗的讲,就是利用电脑GUI界面控制我们的外部硬件电路. 因此设计到了PC与外部硬件电路的通信接口.对于台式电脑.个人笔记本, ...

  9. 基于fpga的电子琴

    基于fpga的电子琴 1.芯片介绍 主流产品:ALTERA公司 .FLEX公司 产品类型:CPLD:EPROM类型,掉电后程序不丢失. FPGA:SRAM类型,掉电后程序丢失,必须重新编程. 工作电压 ...

  10. 基于FPGA的深度学习算法加速

    学习总结--基于FPGA的深度学习算法加速 1.深度学习算法加速的方法 2.为什么用FPGA来加速YOLOV2 3.FPGA简介 4.PYNQ框架与HLS加速理论 5.实验结果 1.深度学习算法加速的 ...

最新文章

  1. WSFC2016 SMB多通道与网络调校
  2. 机器人视觉的九大挑战
  3. IIS 下配置无后缀的URL ReWrite
  4. 使用wireshark观察SSL/TLS握手过程--双向认证/单向认证
  5. python输出假分数_分数的表示以及计算(c++)
  6. python大于小于1023python大于小于_PythonPAT 1023 Have Fun with Numbers
  7. 互联网和大数据是什么意思_大数据和互联网的区别是什么意思
  8. 基于表的数据字典构造MySQL建表语句
  9. IE-ALB网络实验室:cisp-pte CCNA题库 GLBP网关负载均衡协议原理
  10. 二级缓存j2cache和SpringBoot整合
  11. 开机出现recovering journal解决办法
  12. PHP获取每个月的开始时间和结束时间
  13. TZC 3012-Fibnacci Numbers(矩阵快速幂+降幂公式)
  14. AtCoder Beginner Contest 190 D - Staircase Sequences
  15. 关于博客笔记大汇总,持续更新迭代
  16. 计算机专业专硕考研学校排名,计算机考研学校排名
  17. 10计算机管理员权限获得,Win10永久获取管理员权限的方法
  18. 从loss的硬截断、软化到Focal Loss
  19. form表单通过request取不到值multipart/form-data 文件上传表单中传 递参数无法获取的原因!
  20. [英语]凡是倒装都有表“强调“之意

热门文章

  1. 单场淘汰制场次计算方法_怎样用单循环制进行的比赛计算场数
  2. 程序员自我修养1:能力矩阵
  3. [Python从零到壹] 三十四.OpenCV入门详解——显示读取修改及保存图像
  4. 【机器人控制架构】控制系统架构【控制流程图、控制算法】
  5. 【工具】中国菜刀 官方原版下载 官网下载链接
  6. ssm基于WEB的房屋出租管理系统的设计与实现161620
  7. php_curl-5.4.3-VC9-x64下php_curl.dll加载出错
  8. EDIUS 3.6快捷键
  9. Termux字体大小调整
  10. 基于python的贪吃蛇游戏设计论文_《贪吃蛇游戏课程设计》报告毕业设计(论文)...