皮皮网
皮皮网

【企业类网站源码】【eclipse页面跳转源码】【c 学生管理源码】gige 源码

时间:2024-12-28 08:04:13 来源:md游戏源码

1.一文读懂!源码紫外工业相机成像与应用详解
2.ZYNQ+linux网口调试笔记(3)PL-ETH

gige 源码

一文读懂!源码紫外工业相机成像与应用详解

       紫外线技术在工业检测领域发挥着重要作用,源码尤其是源码对于可见光难以识别的特征,如结构瑕疵、源码荧光标记和物质变化的源码企业类网站源码特征信号。工业中最常使用的源码紫外波长为nm和nm,广泛应用于高分辨率视频显微镜、源码电晕检测、源码半导体检测和无损检测。源码

       为解决工业视觉检测中紫外光领域的源码挑战,维视智造推出了MV-UV紫外工业相机。源码此款相机专用于~nm波段光谱,源码具备约万有效像素的源码高分辨率,以及优秀的源码UV波长高感光度和低噪点性能。采用创新的背照式全局快门传感器,适用于各类严苛环境。eclipse页面跳转源码

       MV-UV紫外工业相机在多个领域展现其广泛的应用价值,包括但不限于半导体检测、激光特征检测、材料表面检测、显微镜检查、玻璃缺陷检测、珠宝瑕疵检测、输电线电晕、c 学生管理源码半导体行业晶圆加工、材料分拣、生物荧光分析、植物监测和食品检测、电池检测、法医学检测等。

       产品亮点如下:

        更宽光谱:支持~nm宽光谱成像,实现可见光和紫外光检测的面膜刮码源码高效整合,降低系统成本。

        高清成像:采用背面照射式机构,提高感光度,降低噪点、暗电流和像素缺陷,改善暗光环境下的随机噪点问题。全局快门像素技术,适应UV波长特性,超级模块8.1源码实现高分辨率、动态拍摄高质量紫外图像,同时保持低噪点输出。超小像素尺寸(2. μm)确保了高UV灵敏度和稳定细节检测能力,适用于多种用途的高分辨率场景。

        机身轻巧:仅重g,紧凑设计,便于携带,适合融入紧凑型设计系统和机器视觉应用,适用于OEM系统设计。

        易于集成:采用标准化GigE Vision接口,易于与IO卡/PLC等设备集成,支持曝光时间控制、频闪灯控制,简化相机与软件解决方案的互连。兼容常见三方图像处理软件与操作系统,附赠例程及源代码,方便用户参考及二次开发。

       在多个行业,如半导体、科研、光电、生物、食品等,MV-UV紫外工业相机展现其高精度和高UV波长感光能力,配合全局快门功能准确捕捉高速移动的被摄体,适用于精密检测、材料分拣、监测等场景。

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:

       /wiki/spaces/A/pages//Zynq+PL+Ethernet

        Xilinx Wiki - Linux Drivers:

       /wiki/spaces/A/pages//Linux+Drivers

        Xilinx Wiki - Linux Drivers - Macb Driver:

       /wiki/spaces/A/pages//Macb+Driver

        Xilinx Wiki - Zynq Ethernet Performance:

       /wiki/spaces/A/pages//Zynq+Ethernet+Performance

        查到关于Jumbo frame MTU的定义,当前值为,可否改大一些?

        驱动源码里关于jumbo frame的说明:

        设置MTU为,发现ping包最大长度只能设为ping ..1. -s

       https://lore.kernel.org/patchwork/patch//

        【完】

更多内容请点击【娱乐】专栏