本文档概述了 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.