Operator ShaftEncoder

Operator Library: Signal

该算子用于分析两个旋转编码器信号轨迹。 这两条轨迹输入至算子中。 在算子的输出端,提供每个编码器脉冲以及方向信号。 利用两个轨迹信号之间的相位进行检测。

对于检测到的每个编码器脉冲,算子在其输出链接 O 处生成一个脉冲。 脉冲宽度为一个设计时钟周期。 在输出链接 Dir 处,输出检测到的编码器方向。 如果 Dir = 0 (LOW),则检测到正向。 如果 Dir = 1 (HIGH),则检测到反向。 Dir 输出端的值仅在输出 O 为 1 (HIGH)(即输出脉冲)时有效。

参数 LeadingTrace 用于定义两条轨迹中哪一条是超前轨迹,即哪一条轨迹超前 90°。

参数 Mode 用于定义检测模式。 可使用以下模式:

  • ModeX1:

    单倍速模式。 仅使用超前信号的一个边沿进行检测。 输出由以下决定:

    其中 是超前轨迹(例如 A)的上升沿和下降沿。 是从动轨迹(例如 B)。

    下图说明了 ModeX1 的行为

  • ModeX2:

    双倍速模式。 使用超前信号的两个边沿进行检测。 输出由以下决定:

    下图说明了 ModeX2 的行为

  • ModeX4:

    四倍速模式。 使用超前信号和从动信号的所有边沿进行检测。 输出由以下决定:

    下图展示了 ModeX4 的行为

可以使用额外的重置输入将算子重置为其初始状态。

此算子不包含在 VisualApplets 功能仿真中。

I/O Property

Property 值
Operator Type O
输入链路 TraceA,信号数据输入
TraceB,信号数据输入
Reset,信号数据输入
Output Links O,检测到的编码器行数的信号数据输出
Dir,检测到方向的信号数据输出

Supported Link Format

Link Parameter 输入链接 TraceA 输入链接 TraceB Input Link Reset Output Link O 输出链接 Dir
Bit Width 1 1 1 作为 TraceA 作为 TraceA
Arithmetic unsigned unsigned unsigned 作为 TraceA 作为 TraceA
Parallelism 1 1 1 作为 TraceA 作为 TraceA
Kernel Columns 1 1 1 作为 TraceA 作为 TraceA
Kernel Rows 1 1 1 作为 TraceA 作为 TraceA
Img Protocol VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL 作为 TraceA 作为 TraceA
Color Format VAF_GRAY VAF_GRAY VAF_GRAY 作为 TraceA 作为 TraceA
Color Flavor FL_NONE FL_NONE FL_NONE 作为 TraceA 作为 TraceA
Max. Img Width any any any 作为 TraceA 作为 TraceA
Max. Img Height any any any 作为 TraceA 作为 TraceA

参数

LeadingTrace
键入 静态/动态读写参数
默认 A
范围 {A, B}

此参数指定超前轨迹。 超前轨迹超前 90°。

模式
键入 静态/动态读写参数
默认 Mode1X
范围 {Mode1X, Mode2X, Mode4X}

此参数定义了轴编码器的检测模式。 请参见上面的描述。

使用示例

以下示例展示了 ShaftEncoder 算子的用法: