Flir Blackfly S USB3 工业相机:计数器和定时器的使用方法

简介: 本文档概述了 Blackfly S 相机中的计数器和定时器的使用方法。Blackfly S 采用业内先进的冰块外形传感器。具有强大功能,可以轻松生成所需的精确图像,并加速应用程序开发。包括对图像捕获和**相机预处理的自动和精确手动控制**。Blackfly S 提供GigE、USB3、套装和板级版本。 精确图像 索尼CMOS传感器中的选择包括:全局快门、偏振和高灵敏度BSI传感器。

本文档概述了 Blackfly S 相机中的计数器和定时器的使用方法。

Blackfly S 采用业内先进的冰块外形传感器。
具有强大功能,可以轻松生成所需的精确图像,并加速应用程序开发。
包括对图像捕获和相机预处理的自动和精确手动控制
Blackfly S 提供GigE、USB3、套装和板级版本。
精确图像 索尼CMOS传感器中的选择包括:全局快门、偏振和高灵敏度BSI传感器。

实物图如下:
在这里插入图片描述

概念介绍

计数器和定时器功能可以实现:

  • 创建函数发生器
  • 记录信号触发的次数

一些一般应用包括:

  • 输入到逻辑块
  • 外部信号输出用于控制外部设备
  • 跟踪相机曝光的次数
  • 跟踪外部输入信号触发的次数
  • 在预定义的时间段触发相机

注意:下面使用 SpinView 应用程序来演示计数器和定时器控制的配置和执行。

配置计数器和定时器控制

在这里插入图片描述
下面的说明就是对应上面的红框序号

  • 1.选择计数器 Counter 0或者Counter 1
  • 2.选择计数器增加触发的信号源 例如图片中是Line0
  • 3.触发事件包括低电平触发、高电平触发、下降沿触发、上升沿触发、任意沿触发
  • 4.设置计数器延时个数,来表示几个计数个数来触发计数器开启事件
  • 5.设计计数器持续个数,来表示几个计数个数后触发计时器结束事件
  • 6.选择控制计数器开启的信号源
    选择控制计数器开启的触发事件

触发事件的电平来源可以包括如下:

  • 固定频率的触发信号
  • 线的输入
  • 用户的输出
  • 计数器开启事件
  • 计数器结束事件
  • 逻辑模块输出
  • 曝光开始
  • 曝光结束
  • 帧触发等待

计数器的状态可以从nodemap中获得是激活还是空闲

产生 PWM(Pulse Width Modulation)的例程

例子的目标是实现一个50hz占空比为70%的PWM信号

第一步 设置GPIO口的连接

第一步是设置从相机中输出PWM信号的硬件。对于本例程,使用一个示波器显示这个信号。
相机的GPIO口的定义根据相机型号区别很大。

Blackfly S (BFS)的定义如下:
BFS相机有一个6引脚的GPIO口。它包括一个非隔离输出引脚和一个光隔离输出引脚
如果用这个光隔离引脚输出的话(本例程就是),相机需要一个上拉电阻来增强PWM信号。
在这里插入图片描述
配置硬件相机输出PWM需要:

  • 1 连接相机的 pin 4 引脚(白色的线,光隔离输出)到示波器的信号输入端
  • 2 连接相机的 pin 5 引脚 (蓝色的线,光隔离GND)到示波器的地信号上

配置上拉电阻来增强信号:

  • 1 连接一个10kΩ电阻的一端到相机的 pin 3 引脚(红色的线,3.3v 输出)
  • 2 连接这个电阻的另一端到相机的 pin 4 引脚(白色的线,光隔离输出)
  • 3 连接相机的 pin 6 (棕色的线,GND)到相机的 pin 5 (蓝色的线,光隔离GND)

第二部 设置上位机软件(SpinView)

下面的部分展示如何在SpinView中设置PWM

  • 1 选择一个计数器 Counter 0 或者 Counter 1
  • 2 在计数器事件中选择 MHz Tick 代表的是 1MHz的信号
  • 3 为了建立50Hz的周期信号,需要设置 Counter Duration 为20000 计算方法就是 1MHz/50Hz=20000 cycles/duration
  • 4 定义Counter Duration和Counter Delay 的值来建立70%的占空比
    计算方法是 Counter Delay = 30% x 20,000 = 6,000
    Counter Duration = 70% x 20,000 = 14,000
  • 5 在Counter Trigger Source 里面选择FrameTriggerWait,然后设置Counter Trigger Activation为 Level High

在这里插入图片描述

  • 6 禁止 Exposure Auto,设置 Exposure Time 小于1/50 s

在这里插入图片描述

  • 7 使能 Trigger Mode 选择 Trigger Source 为 Counter0 Start

在这里插入图片描述

  • 8 配置GPIO 使得Line1 为 Output。然后 Line Source 为 Counter 0 Active

在这里插入图片描述

  • 9 使能 3.3V的line (红色的线)
  • 10 开始通过示波器可以看到配置的PWM输出

在这里插入图片描述

检测丢失触发数量的例程

丢失触发数量 = 触发总数- 曝光数量

通过Counter0 计数 触发的总数
通过Counter1 计数 曝光的数量

方法如下:

  • 1 禁止Exposure Auto 并且设置一个较长的Exposure Time比如3.5s
  • 2 使能Trigger Mode 并且设置Trigger Source为line0 上升沿
  • 3 连接Line0 到相机
  • 4 配置Counter 0 计数触发的次数 :Counter Event Source选择Line 0 ,Counter Event Activation设置Rising Edge,然后Trigger Source选择Line0 ,Counter Trigger Activation 选择Rising Edge,最后Counter Duration为一个较大的数值,Counter Delay 为0

在这里插入图片描述

  • 5 配置Counter 1 来记录曝光的次数
    首先 设置Counter Event Source为ExposureStart,设置 Counter Event Activation为Rising Edge
    然后 设置Counter Trigger Source为ExposureStart,设置Counter Trigger Activation为Rising Edge
    最后 Counter Duration为一个较大的数值,Counter Delay 为0

在这里插入图片描述

  • 6 使能1Hz的触发源,相机开始拍摄照片
  • 7 在SpinView中右键,刷新,这样 Counter Value 就会显示具体数值

查看Counter0的 Counter Value
在这里插入图片描述
然后选择Counter 1 ,记下计数器的值
在这里插入图片描述

  • 8 最后计算丢失触发

就是 Counter0 Value – Counter1 Value的值 3-1 为2.

相关文章
|
6月前
STM32F103标准外设库——SysTick系统定时器(八)
STM32F103标准外设库——SysTick系统定时器(八)
476 0
STM32F103标准外设库——SysTick系统定时器(八)
|
Linux 调度
按键消抖的两种方法--中断延迟工作与定时器
按键消抖的两种方法--中断延迟工作与定时器
661 0
|
3月前
51开发板同一程序实现数码管实现时钟显示、秒表计时。通过独立按键选择模式(时钟/秒表)、时间的重定义
51开发板同一程序实现数码管实现时钟显示、秒表计时。通过独立按键选择模式(时钟/秒表)、时间的重定义
123 3
|
5月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
428 2
|
6月前
|
传感器 监控 C++
外部中断的使用方法
这篇文章介绍了中断的概念,以一个生动的故事比喻,说明中断是如何打断主程序执行并调用中断函数的。文章提到了Arduino控制器和"吃货"模型,展示了如何编写处理吃和开门的代码,并介绍了设置中断的函数`attachInterrupt`。接着,列举了不同Arduino型号的外部中断引脚,并详细解释了中断函数、中断触发模式。最后,提供了一个官方的外部中断例程和其可能的应用场景,如使用旋转编码器或构建监控装置。
|
传感器 存储 物联网
为什么定时器,串口这些东西被称之为外设
为什么定时器,串口这些东西被称之为外设
172 0
Linux驱动中断与时间篇——高精度定时器hrtimer
Linux驱动中断与时间篇——高精度定时器hrtimer
|
调度
TM4C123库函数学习(2)--- LED闪烁,滴答定时器精准延时
TM4C123库函数学习(2)--- LED闪烁,滴答定时器精准延时
361 0
|
存储 调度
51单片机--定时器与按键控制流水灯模式
51单片机--定时器与按键控制流水灯模式
460 0
|
C语言 芯片
51单片机学习--定时器--中断--串口通信
51单片机学习--定时器--中断--串口通信
308 0