【super touch 源码】【古韵云源码】【crmphp源码修改】gige 驱动源码_gip驱动原理介绍

来源:软件外包源码管理

1.ZYNQ+linux网口调试笔记(3)PL-ETH
2.机器视觉—常见的驱动p驱2D工业相机数据接口介绍
3.USB2.0工业相机和1394相机的相对比而言,各自的源码优势在哪里?
4.工业相机的丢帧的问题是由什么原因引起的?
5.LabVIEW使用视觉采集软件从GigE视觉相机进行采集 1

gige 驱动源码_gip驱动原理介绍

ZYNQ+linux网口调试笔记(3)PL-ETH

       åœ¨ZYNQ上使用gigE Vision协议的网络接口相机。

        第一步:调通PS侧网口GEM0(Xilinx BSP默认配好)。

        第二步:调通PS侧网口GEM1(见前一篇文档:开发笔记(1))。

        第三步:调通PL侧网口(本文阐述)。

        第四步:在PL侧网口上验证Jumbo Frame特性,并在应用层适配gigE Vision协议。

        根据《xapp》可知,PL侧的PHY支持Base-X和SGMII两种配置,这两种配置对应两种不同的PHY引脚接口(连接到MAC)。而我们的hdf文件使用的是Base-X的配置。

        关于网口的Linux驱动,我们在官网找到一份资料: Xilinx Wiki - Zynq PL Ethernet 。资料很长,我们只看与我们相关的2.4.1 PL Ethernet BSP installation for Base-X”这一章节就可以了。

        首先导入FPGA设计同事提供的hdf文件:

        在弹出的图形界面里,进入Subsystem AUTO Hardware Settings——Ethernet Settings——Primary Ethernet,确认可以看到PL侧网络设备axi_ethernet_0,说明hdf文件里已包含了必要的网口硬件信息:

        上图中被选中的网口将成为Linux上的设备eth0。这里我们默认选择ps7_ethernet_0,即使用GEM0作为首选网口。

        启用Xilinx AXI Ethernet驱动

        进入Device Drivers -- Network device support – 选中Xilinx AXI Ethernet(以及Xilinx Ethernet GEM,这是PS侧网口的驱动)

        进入Networking support – 选中 Random ethaddr if unset

        进入Device Drivers -- Network device support -- PHY Device support and infrastructure – 启用Drivers for xilinx PHYs

        进入~~~~Device Drivers -- DMA Engine Support -– 禁用~~~~Xilinx AXI DMAS Engine~~~ (对应的配置项名为 ~~ CONFIG_XILINX_DMA ~~~)

        注意: Xilinx Wiki里对设备树节点的引用有误(&axi_ethernet),导致编译报错,应改为&axi_ethernet_0。

        注:PL-ETH驱动所在路径:<project>/build/tmp/work-shared/plnx_arm/kernel-source/drivers/net/ethernet/xilinx/xilinx_axienet_main.c和xilinx_axienet_mdio.c。对应的内核配置项为CONFIG_NET_VENDOR_XILINX和CONFIG_XILINX_AXI_EMAC。

        启用ethtool和tcpdump(调试用,非必须):

        然后将生成的BOOT.BIN和image.ub拷贝到SD卡根目录下,将SD卡插入板子上,上电运行。

        上电后,使用ifconfig eth1查看网口信息,观察MAC地址与设置的一致,且ifconfig eth1 ..1. up没有报错。

        测试网络通路:ping PC是通的。说明网口工作正常。

        Linux下eth1(即PL-ETH)的MAC地址有误

        问题描述:

        开机打印:

        注意:

        MAC地址是错的,驱动里解析出的是GEM0的MAC地址。

        试验发现,即使在system-user.dtsi里不写local-mac-address,也照样解析出的是GEM0的MAC。

        而将system-user.dtsi里的local-mac-address改名为pl-mac-address,并将驱动里解析的字符串也对应更改为pl-mac-address,则可以正确解析出来:

        Passing MAC address to kernel via Device Tree Blob and U-Boot:

       /support/answers/.html

        U-Boot里的环境变量ethaddr会覆盖掉设备树里pl-eth的local-mac-addr字段,从而影响Linux启动后的网卡MAC地址;

        但U-Boot里的环境变量ipaddr不会对Linux启动后的配置产生任何影响。因为设备树里根本就没有关于IP地址的配置。

        phy-mode怎么会是sgmii?查了下官方的提供的BSP里,也是“sgmii”。说明这个没问题。具体原因不清楚。

        @TODO: 设备树里的中断号的顺序如何影响功能?

        为何读出来的IRQ号不对呢?这是因为这里读到的不是硬件的中断号,而是经过系统映射之后的软件IRQ number。两者不具有线性关系。

        关于中断号的疑问:

        Linux上的网口eth0、eth1的顺序,似乎是按照phy地址从小到大来排布的。

        Xilinx xapp-zynq-eth.pdf (v5.0) July ,

       /support/documentation/application_notes/xapp-zynq-eth.pdf

        Xilinx Wiki - Zynq PL Ethernet:

       ),可在线获取相关技术文件、动原工具、理介驱动及常见问答库,驱动p驱即时享受专业官方服务。源码super touch 源码您还可以通过在线沟通工具,动原直接发起对话申请,理介或提交留言,驱动p驱我们的源码客服人员将第一时间与您取得联系。

       Regem Marr 研祥金码分支机构遍布全国,动原各分机构配备多名现场专家快速响应,理介提供优质的驱动p驱古韵云源码专业服务;全国联保,小时内回应客户需求。源码

LabVIEW使用视觉采集软件从GigE视觉相机进行采集 1

       LabVIEW使用视觉采集软件从GigE视觉相机进行图像采集,动原涉及一系列的硬件和软件配置。

       首先,确保拥有兼容GigE Vision标准的硬件,比如具有千兆以太网端口的crmphp源码修改摄像机。推荐使用千兆以太网接口以获得更快的传输速度。软件方面,需要视觉采集软件8.2.1及以上版本,以及NI-IMAQdx 3.0或更高版本,用于驱动相机的图像获取。

       网络配置也很关键,Q查源码摄像机可能通过DHCP获取IP地址,或者采用LLA选择。Windows XP和中,如果摄像机直接连接到计算机,可能需要等待一段时间以避免DHCP超时。同时,雷鸣cms源码要确保网络驱动支持巨型数据包,以便高效传输图像。

       网络防火墙需要调整设置,以允许摄像机的数据包到达主机。可以通过控制面板禁用Windows防火墙,或者在某些特定网卡驱动下,高性能驱动程序可处理GigE Vision数据包,无需禁用防火墙。

       在Measurement and Automation Explorer(MAX)中,可以验证相机连接并设置图像采集参数,如视频模式、像素格式、感兴趣区域等。在LabVIEW中,NI-IMAQdx API提供统一的编程接口,允许开发者轻松地在GigE Vision和IEEE 摄像机间切换,而无需改动代码。

       在编写代码时,如示例所示,需要注意图像采集的速率和缓冲区管理,以避免图像丢失。这些教程和示例资源均可以下载,供开发者进一步学习和实践。

文章所属分类:知识频道,点击进入>>