问题描述:
如何设置网口相机IP?
问题分析与解答:
GigE相机是通过IP寻址,尽管相机支持自动IP方式,但是为了更快的找到相机,并且稳定使用相机,建议使用相机时配置固定IP。Flycaptrue自带了相机IP设置工具,打开方式如下:FLIR Flycapture - Utilities - GigEConfigratior。
1、网卡设置固定IP。
如下图:网络与共享中心——更改适配器——本地连接——Internet协议4。(注意,设置IP时不要设置网关,不然影响电脑上网)。
2、相机设置固定IP。
Flycaptrue自带了相机IP设置工具,打开方式如下:FLIR Flycapture - Utilities - GigEConfigratior,如下图,按照图示设置相机IP。需要保证相机和网卡在同一个网段,例如:
网卡IP:192.168.1.1 子网掩码;255.255.255.0
相机IP:192.168.1.2 子网掩码;255.255.255.0
针对多相机IP,参考IP设置如下:
网卡1IP:192.168.1.1 子网掩码;255.255.255.0
相机1IP:192.168.1.2 子网掩码;255.255.255.0
网卡2IP:192.168.2.1 子网掩码;255.255.255.0
相机2IP:192.168.2.2 子网掩码;255.255.255.0
网卡3IP:192.168.3.1 子网掩码;255.255.255.0
相机3IP:192.168.3.2 子网掩码;255.255.255.0
问题描述:
如何在Linux中设置网口相机IP?文章描述了设置合适IP地址的三种方法。
问题分析与解答:
为了在linux下识别到网口相机,相机的IP地址和连接相机的以太网适配器需要兼容。相机分配当前的IP地址使用以下三种方法:
1、 Persistent—使用自定义的IP地址,如果不合适,然后;
2、 DHCP—试图发现动态的IP地址,如果不合适,然后;
3、 LLA—使用默认的IP地址。
方法一—设置永久的IP
永久的IP意味着相机的IP保留修改的值,由用户自定义。推荐使用这种方法设置合适的IP地址。
步骤1—Disable Reverse Path Filtering(RPF)
在IP分配前,用户需要关闭RPF。
RPF能够临时(直到下次重启)或永久关闭。
临时为eth1关闭RPF,最终进入:
sudo sysctl –w net.ipv4.conf.all.rp_filter=0
sudo sysctl –w net.ipv4.conf.eth1.rp_filter=0
永久关闭RPF:
1、下面指定的注释行在/etc/sysctl.d/10-network-security。
# Turn on Source Address Verification in all interfaces to # in order to prevent some spoofing attacks.
## net.ipv4.conf.default.rp_filter=1
## net.ipv4.conf.all.rp_filter=1
2、重启电脑
步骤2—访问网口寄存器
连接相机并使用网口寄存器0x0014来设置相机永久IP。访问网口寄存器:
1、 打开Flycap2。
2、 在相机选择窗口,点击强迫IP为了识别到相机。
3、 点击选择的配置。
4、 在相机控制对话框,选择相机寄存器栏并选择GigE Vision。
5、 进入网口寄存器0x0014并点击读取寄存器。当前IP配置在网口寄存器0x0014被定义如下:
位29 激活LLA
位30 激活DHCP
位32 激活永久IP
6、 总共31位,点击写寄存器按钮激活永久IP。
步骤3—分配永久IP地址
分配永久IP地址/子网掩码,进入到相关的网口寄存器值到预设值:0x064C位[0-31]永久IP地址。
0x064C位[0-31]永久IP地址
0x065C位[0-31]永久的子网掩码
0x066C位[0-31]永久默认的网关(设置0.0.0.0)
一旦设置了永久IP/子网掩码,相机总是开始设置IP/子网掩码。
步骤4—分配IP地址给以太网适配器
确保识别到相机,以太网适配器连接到相机需要有合适的IP地址/匹配的子网掩码。设置IP的更多信息和帮助,使用IP地址计算器。
用新的IP地址/子网掩码配置连接:
1、 在Ubuntu,打开网络设置窗口,选择使用的以太网连接,点击配置。
2、 选择IPv4设置栏,更改网络的IP地址和子网掩码值,点击应用。
3、 在网络设置窗口,选择以太网连接用于调整,关闭它,用新的IP地址/子网掩码初始化连接。
方法2—动态主机配置协议(DHCP)
相机和适配器设置自动获取IP地址。这意味着相机每次的IP地址自动改变或电脑重启时。解决IP地址需要花费1分钟枚举相机。高级用户可能为相机选择设置他们自己的DHCP服务。
方法3—连接本地地址(LLA)
LLA使用地址块169.254.x.x.为了识别到相机,以太网适配器需要有合适的IP地址和匹配的子网掩码,参考方法1,步骤4—给以太网适配器分配IP地址。
方法二
用sudo GigEConfigCmd获取相机的IP地址,获取到了相机的IP后,可以修改网口接口的IP。
方法三
$ sudo GigEConfigCmd -s xxxxxx -i 192.168.0.2 -m 255.255.255.0 -g
192.168.0.255
sudo 'GigEConfigCmd -a ' 会自动配置IP.
问题描述:
本文主要以BFLY-PGE-50A2M-CS相机为例,介绍了在Flycapture软件下设置触发以及相应的触发接线。
问题分析与解答:
1、硬件组成
BFLY-PGE-50A2M-CS相机、镜头、电源、信号发生器、PC机
图1 电源
图2 信号发生器
图3 PGR相机
2 触发和电源接线
根据GPIO的PIN口可知(如图4),1和6是供电端,分别接电源的正负极,用白色线和粉色线与电源相接。2和5是触发端,分别接触发的正负极,用棕色和灰色与信号发生器的正负极相接。
图4 GPIO线序
具体接线实物图如图5所示。
图5 接线实物图
3、运行Flycapture软件
1)勾选Trigger Control;
2)选择触发模式,不同模式见相关文档;
3)选择触发源,默认的选择GPIO0,同时pin direction control下的GPIO0选择IN,以此类推;
4)选择触发极性;
5)有必要选择触发延迟。
注:触发源的信号是5-24V的TTL信号,建议使用12V。一般连接较多的是电源、传感器和编码器,要保证输出的信号有高低压差,接光耦合信号时,一般需要上拉电阻。
问题描述:
由于在接硬触发的过程中,触发信号中难免会有抖动等干扰因素,导致相机误触发。
针对误触发情况,FLIR相机里面有个Debouncer功能,可以将窄带误触发信号过滤掉,如下图所示,具体需要在寄存器里进行设置。
问题分析与解答:
1、 测试过程
1) 有些相机在低版本的固件中,可能会导致debouncer寄存器设置不进去,此
时需要对相机的固件进行升级,升级方法如下:
打开开始--程序--FLIR Research—FlyCapture2--Utilities—Updator GUI3, 打开需要更新的 firmware,点击Update即可。
注意:
1、要更新的 Firmware 文件一定要置于非中文目录下。
2、当更新失败时,建议相机断电。
3、原则上 Firmware 只支持向上更新。
注意:在相机更新固件的过程中,不要断电。如果更新完成会在Log框里有successful update提示,此时的fireware version变为已经更新的固件。
2) 打开相机,选择 ,进入参数设置,选择左列表框的Camera Register进行
寄存器设置。
3) 由于Debouncer的寄存器地址为0x111c,所以在Register输入相应的寄存器
地址,并且点击一下Read Register,如下图1所示。
图1
4) 进入读取完,进入设置寄存器,根据Debouncer寄存器的定义,如图2所示。
其中需要将6位设置为1。12-31位即为设置的Debouncer的值,其它位保持不变。
图2
5)按照寄存器的定义,先把第6位设置为1。根据需要过滤的脉宽大小,在12-31位设置相应的Debouncer的值,设置好后,点击Write Register,如图3所示。
图3
注: 16进制190 = 400 μs,以上设置可以过滤400μs内的毛刺脉宽,小于这个值触发都不响应。默认值为过滤16个像数时钟即周期为16μs,频率1.024MHz的 脉冲。
寄存器DEBOUNCER_X_CTRL: 0x111c,设置触发过滤脉宽,代码如下:(可以在相机的初始化时候进行设置)
error=m_pCamera->WriteRegister(0x111c,0x82000190)
6)写完寄存器,要查看一下寄存器有没有写成功,此时需要再点击Read Register一下。如果发现读取的不是设置的值,则需要更新固件。
7)等设置的Debouncer的值过滤掉干扰波时,再退出软件之前,此时还需要对相应的参数进行保存。保存方法如下:选择Advanced Camera Settings,选择Channel 1,点击Save即可如图4所示。
图4
2、 总结
1) 相机固件比较旧的,需要更新固件,才能将寄存器的值写进去。
2) 写完寄存器,需要读取一下进行验证,是否写进去。
3) 最后退出程序需要进行保存。
问题描述:
关于Flycap中触发和保存图像功能。
问题分析与解答:
1、 相机触发接线
首先查看相机的pin口,是8pin的还是6pin的,每根线都有一定的线序,请确认是用的哪根线,根据线的颜色,连接所要接的线,如CEI的8pin线,绿色接触发正,紫色接触发地。如果不确定用的是哪根线,则需要用万用表根据GPIO测量相应的线序。
如果需要同步触发,选择的触发源可以是信号发生器,信号发生器有输出频率正负端,分别接相机触发的正负极。
2、触发界面的设置
点击 ,选择trigger/strobe,按如下设置即可。
触发极性可选择高电平或低电平,也可以增加触发延迟。
3、实时存储
点击 ,出现如下界面,
在filename下,点击browse,选择保存的路径,多相机保存的路径可以不一样。在saving options个选项里选择保存的张数。在Images下的Image Format选择相应的图像格式。点击Start Recording。
问题描述:
如何从FLIR IEEE-1394数字相机获取图像数据
问题分析与解答:
在PC上的FLIR驱动从FLIR IEEE-1394获取图像的进程叫做缓冲区填充模式。数据流包括DMA,定时和CPU资源如下:
1) 在用户级别,缓冲区指针位于主要的寄存器中,通过FLIR驱动,然后在通知窗口
1394低水平驱动发现缓存。在FLIR FlyCapture和Digiclops SDKs的情况下,一旦相机开始,在用户级别,这些缓存自动位于API中。
2) 当图像从相机进入到电脑时,窗口1394低级驱动管理设置DMA进程,图像数据直
间从1394 OHCI主机控制器接口卡发送到用户级别缓存位于步骤1中。
3) 图像直接内存存储到没有CPU中断的用户缓存中直到整个图像传入。
4) CPU中断并执行高优先级驱动程序回调例程。
5) 驱动回调例程表示了用户级应用程序里的缓存是满的。
6) 这个过程从第三步开始重复直到用户所有的缓存已满。由于传送由OHCI PCI适配
器硬件处理,所以需要很少的CPU资源。应该关注是是图像缓存可以由用户获得,图像可能彩色处理,这将会占据重大的CPU资源。执行彩色处理取决于应用程序和相机(见http://www.ptgrey.com/support/kb/details.asp?id=89)。
当相机处于同步(自由运动)的模式,此时持续传输数据,积分(曝光)和数据传输是重叠的。采集连续图像到达主机系统的之间的事件是帧率分之一。如:在30Hz下,每一个图像到达之间的时间是1000ms/30fps=33.33ms/frame。
问题描述:
本文提供有关配置和了解GigE多相机设置内容的信息,帮助用户搭建GigE多相机系统。适用产品:PoingGrey所有GigE产品。
问题分析与解答:
3.1 准备工作
相机采集软件Flycapture:2.6.3.4及更新
相机技术文档(可通过安装FLIR相机采集软件 Flycapture 获得);
相机FirmWare(可通过FLIR 网站下载);
BFLY:1.27.3.10及以后
FL3-GE:1.27.3.0及以后
2.5.3.0及以后
相机以及采集卡/Hub等。
3.2了解GigE相关知识
3.2.1较大限度发挥千兆网络相机的潜能
帧缓冲区
所有FLIR千兆网络相机均有32 MB(16MB)的帧缓冲区,可临时存放图像。该缓冲区在以下情况可能有用:
•因数据丢失或损坏,需要重新传输图像。
•多个相机系统在所需配置下没有足够带宽去捕捉图像。
所有图像均通过帧缓冲区机构。
千兆网络链路层IP
FLIR在FPGA程序实现了自己的千兆网络链路层技术。这使FLIR摆脱了对第三方芯片供应商的依赖,有助于FLIR不断改进相机和固件,从而优化与第三方硬件的兼容性。
图像滤波器驱动
为降低CPU千兆网络数据包负载,FLIR提供图像滤波器驱动程序 (pgrGigEm.inf)。该驱动程序在相机与Microsoft内置用户数据报协议(UDP)栈之间运行,以滤出GigE Vision流协议(GVSP)包。CPU无需处理所有的数据包,因此减少CPU占用率。
3.2.2 GigE相机配置
驱动程序配置
保证使用适合相机配置的驱动程序。FlyCapture2软件开发包中的Driver Control实用程序让用户可验证当前使用的驱动程序,且在必要时,可让用户安装不同的驱动程序。
FLIR千兆网络相机通过与Microsoft用户数据报协议栈直接通信进行工作。但是,建议使用FLIR图像滤波器驱动程序,以便提高图像流性能。
注:在Linux系统下运行的千兆网络相机与Ubuntu分配相关的驱动程序直接通信(即:没有性能驱动程序)。
打开Driver Control实用程序:
开始菜单—所有程序—FLIR FlyCapture2 SDK — Utilities — DriverControlGUI
Driver Control界面
主机适配器和千兆网络相机配置
GigE Configurator是与FlyCapture2 —起安装的实用程序,让用户可控制网卡和千兆网络相机的配置。
打开 GigE Configurator:
开始菜单—所有程序—FLIR FlyCapture2 SDK—Utilities—GigE Configurator。
GigE Configurator界面
GigE Configurator列出了网卡和FLIR千兆网络设备,让用户可获取以下信息:
适配器和设备属性
管理IP地址
链路速度
MTU (较大传输单元)
相机IP地址配置选项
DHCP协议
永久IP地址
链路本地地址(LLA)
驱动程序和防火墙
启用/禁用FLIR图像滤波器驱动程序
启用/禁用Windows防火墙
同时,GigE Configurator可用于测试相机连接并检测较大数据包大小。
IP地址设置
相机和主机适配器需要各自拥有在同一子网的IP地址。可按三种方式分配IP地址:
永久地址一适配器和相机具有不会改变的固定IP地址。一般而言,该地址在 192.168.X.X封闭网络范围内。适配器和相机需要在同一子网。多相机系统中建议使用永久IP。
动态地址(DHCP) —相机和适配器设置为自动获取IP地址。这意味着,每次重启相机或电脑时,IP地址会动态更改(在一定范围内)。IP地址解析和相机列举可能需要一分钟。
链路本地地址一相机和适配器使用链路本地地址组169.254.x.x中的默认IP地址。
相机按下列顺序分配当前IP地址:
1、永久(Persistent)—使用定义的IP地址。若没有永久IP地址,则;
2、动态地址(DHCP)—尝试发现动态IP地址。若没有动态IP地址,则;
3、链路本地地址(LLA)—使用缺省IP地址。
用户可使用GigE Configurator设置适配器和相机的IP地址。链路本地地址不能作为选项取消。
在使用多台主机适配器设置多相机时,较好将主机适配器置于自身子网中,如下:
相机1 IP | 192.168.1.10 255.255.255.0 | 网卡1 | 192.168.1.11 255.255.255.0 |
相机2 IP | 192.168.2.10 255.255.255.0 | 网卡2 | 192.168.2.11 255.255.255.0 |
相机3 IP | 192.168.1.10 255.255.255.0 | 网卡3 | 192.168.3.11 255.255.255.0 |
自动强制 IP 地址(Auto Force IP)
GigE Configurator可自动强制刷新IP地址。它检测网卡IP地址,并自动设置与网卡相 关的相机IP地址。
FlyCap2演示程序可用于测试相机设置并检验运行情况。还可从相机选择窗口自动强制 刷新IP地址。
3.2.3带宽分配
GigE Vision标准采用的用户数据报协议(UDP)没有传输保证,也没有定时机制。因此,需要根据所需分辨率和帧率调整数据包大小和数据包延迟来管理带宽。
数据包大小
数据包大小影响产生的中断次数,而产生的中断又影响CPU的使用率。数据量相同时,数据包越大,中断次数越少。为较大限度地降低CPU使用率,应增加数据包大小。
数据包大小上限取决于主机适配器、以太网交换机(如使用)和相机。
选定适配器之后,在GigE Configurator中点击“Open Network Connections (打开网络 连接)”,打开“Windows Adapter Properties (Windows适配器属性)”。将主机适配器的数据包大小调整为约9000 (标准超大数据包大小)。如果适配器不支持这么大的数据包(或较大传输单元),会看到CPU使用率的增加。
选定相机后,在 GigE Configurator 中点击 “Discover Maximum Packet Size (检测较大数据包大小)”。这样就可对网络进行测试,检测可收发的较大数据包大小。将相机数据包大小设为小于或等于较大数据包大小。
数据包延迟
数据包延迟就像传输过程中数据包之间的间隔。这一延迟可使主机在下一数据包到达 之前处理当前数据包。从零开始增加数据包延迟值时,则减少分配给相机的有效带 宽,从而降低失帧可能性。
通过以太网交换机运行多台相机时,建议增加数据包延迟。
调整数据包大小和数据包延迟
通过FLIRFlyCapture2应用程序接口或FlyCap2演示程序可配置相机的数据包大小和数据包延迟。
使用FlyCap2演示程序:
开始菜单—所有程序—FLIR— FlyCapture — FlyCap2
在 “Camera Selection (相机选择)”窗口选择相机,点击 “Configure Selected
(所选配置)”。
在 “Camera Configuration (相机配置)”窗口,点击 “Custom VideoModes (自
定义视频模式)”。提供相机带宽估算值。
通过滑动条或数域可调整“GigE Packet Size (千兆网络数据包大小)”和 “Packet Delay (数据包延迟)”参数。点击“Apply (应用)”。
带宽计算
较大可用带宽为125 MB。这包括图像数据、控制数据和图像重新发送数据。发生失 帧时,会重新发送图像。各个图像和数据包均有一定数量的开销,这些开销将使用部 分带宽。因此,计算带宽需求量时,不应使用较大值125 MB。如果数据包大小和数据包延迟组合超过可用带宽,则会出现
失帧。
计算带宽需求量:
■确定所需分辨率、帧率和像素格式(每一像素所占字节数)
高x宽x帧率x每一像素所占字节数=带宽(以MB计)
例如,对于VGA、82帧/秒、Mono8的图像:
640 (高)x 480 (宽)x 82 (帧/秒)x 1 (每一像素所占字节数)=〜25 MB, FlyCap2在“Custom Video Modes (自定义视频模式)”选项卡中显示估算带宽。
计算所需带宽后,通过调整数据包大小和数据包延迟可分配每台相机所需的带宽量。分配每台相机所需的带宽量有助于避免因数据突发造成的数据包丢失。在设置多台相机过程中,或因硬件架构而使系统带宽可能受限或共享的条件下,可完成这一操作。
以下是一些可与任何影像大小、像素格式组合一同使用的数据包大小/数据包延迟组合。帧率将受到限制,这取决于总带宽。
分配25 MB约20%带宽 | 分配55 MB约45%带宽 |
数据包大小=9000 数据包延迟=5900 | 数据包大小=9000 数据包延迟=1800 |
数据包大小=1400 数据包延迟=900 | 数据包大小=1400 数据包延迟=255 |
3.3网卡设置
为了达到发挥网卡性能,需要对网卡的几个参数做做如下设置。
开启巨帧
网络连接-设置-高级,选中巨帧数据包,值为9014。
性能选项
传输缓冲区---值 2048
接收缓冲区---值 2048
中断节流率---值 极值
3.4设置GigE多相机
多台相机的设置方法有两种:
1、多相机+多网卡:单台相机直接连接到单个以太网端口
2、多相机+交换机+单网卡:多台相机通过交换机连接到单个以太网端口
3.4.1多相机+多网卡方案
该种配置中,相机PacketSize可以设置较大(9000),PacketDelay可以使用默认值。
相机1 IP | 192.168.1.10 255.255.255.0 | 网卡1 | 192.168.1.11 255.255.255.0 |
相机2 IP | 192.168.2.10 255.255.255.0 | 网卡2 | 192.168.2.11 255.255.255.0 |
相机3 IP | 192.168.1.10 255.255.255.0 | 网卡3 | 192.168.3.11 255.255.255.0 |
相机4 IP | 192.168.1.10 255.255.255.0 | 网卡4 | 192.168.4.11 255.255.255.0 |
相机5 IP | 192.168.1.10 255.255.255.0 | 网卡5 | 192.168.5.11 255.255.255.0 |
相机6 IP | 192.168.1.10 255.255.255.0 | 网卡6 | 192.168.6.11 255.255.255.0 |
3.4.2多相机+交换机+单网卡方案
有单个以太网端口时,多台相机通过交换机连接到主机适配器。该设置组合了单一电缆上每台相机的带宽。因此,所有相机使用的带宽总和不能超过125 MB。
各个相机是通过Hub连接在一个PC网口上,设置时前三段和网口IP一致,后一段所有的Hub口不一样,各个相机的IP设置如下(以PC的IP为192.168.10.100为例 ):
网卡的IP | 192.168.10.100 255.255.255.0 |
Camera 1 | 192.168.10.10 255.255.255.0 |
Camera 2 | 192.168.10.20 255.255.255.0 |
Camera 3 | 192.168.10.30 255.255.255.0 |
Camera 4 | 192.168.10.40 255.255.255.0 |
下表是一个使用4个BFLY-PGE-13E4M测试的结果,仅供参考:
Packet delay Packet size | 刚好满足4相机满帧采集的最小值Delay | 满足相机能采集到满帧的较大值Delay |
1400 | 3880 | 4080 |
1200 | 3310 | 3450 |
1000 | 2760 | 2840 |
800 | 2220 | 2220 |
600 | 1800 | 1600 |
也可参考如下示例:
例A -两台相机连接到交换机
相机型号 | 像素格式 | 分辨率 | 帧率 | 数据包大小 | 数据包延迟 | 带宽(MB/s) |
FL3-GE-03S1C-C | Raw16 | 648x488 | 62 | 1400 | 250 | 54 |
FL3-GE-03S1M-C | Mono16 | 648x488 | 62 | 1400 | 250 | 54 |
总带宽 | 108 MB/s |
示例B -三台相机连接到交换机
相机型号 | 像素格式 | 分辨率 | 帧率 | 数据包大小 | 数据包延迟 | 带宽(MB/s) |
FL3-GE-03S1C-C | Raw8 | 648x488 | 55 | 1400 | 550 | 35 |
FL3-GE-03S1C-C | Raw8 | 648x488 | 55 | 1400 | 550 | 35 |
FL3-GE-03S1M-C | Mono8 | 648x488 | 55 | 550 | 35 | |
总带宽 | 105 MB/s |