【国产高性能运动控制MCU 先楫HPM5361】PLB概览-如何配置in/out信号到芯片引脚?
[复制链接]
本帖最后由 qinyunti 于 2024-1-8 22:49 编辑
功能
1 个可编程逻辑单元 PLB。PLB 支持组合逻辑运算和计数运算。
PLB 的各个信号支持通过电机控制单元内互联管理器灵活地分配,可以连接到 TRGM 的各个 IO(如何配置???),
也可以连接到片上的其他外设。
● 触发输入,来自电机控制单元内的互联管理器
● 触发输出,连接到电机控制单元内的互联管理器
互联管理器
PLB的输入输出由互联管理器配置,32.8章节
互联管理器的输入 P414
互联器的输出 P418
输出配置
相关的寄存器TRGOCFG[PLB_IN_xx] P453
该寄存器即选择对应的互联管理器的输出信号PLB_IN_xx来自于TRGM 的哪个输入。
并设置输出时滤波极性控制等。
比如TRGOCFG[PLB_IN_00]即配置互联输出信号PLB_IN_00 的输入。
寄存器描述如下 P457
PLB结构
PLB由两种结构
● TYPE_A 可实现组合逻辑 + 时序逻辑编程
● TYPE_B 可实现计数、位移、滤波等复杂操作
PLB 的输入输出均连接在 TRIG_MUX 中。
输入输出各32个信号,对应前面的PLB_IN_00~PLB_IN_31,PLB_OUT_00~PLB_OUT_31
A类型结构如下
B类型结构如下
4 个 TYPE A 通道,每个 TYPE A 通道有 4 个 trig_in 输入和 4 个 trig_out 输出。每个 trig_out 输 出对应一个查找表单元。 4 个查找表均采用 4bit trig_in 做为索引,查找表的内容可以视为 4bit trig_in 的真值表。 4 个查找表使用 同样的 trig_in,不同 TYPE A 模块的 trig_in 顺序增加,比如 TYPE A 0 使用 trig_in[3:0], TYPE A 1 使用 trig_in[7:4]。
查找表的输出会用寄存器输出到 trig_out 上。
软件可以配置 TYPE_A[SW_INJECT] 直接注入到 trig_out 上,该注入值会保持一个系统时钟周期,之后将继 续由 trig_in 和查找表决定 trig_out 的值。
类型B更复杂,后面再看。
PLB寄存器
A类型相关寄存器如下,4个通道类似。
每个通道有4个查找表,即LOOKUP_TABLE为0~3,
所以实际只有两个寄存器查找表寄存器和SW_INJECT寄存器
查找表16位值即4bit输入的真值表。
4位输入有16种情况,一种情况对应一个bit。
比如
输入 输出
0 0 0 0 1
则bit0=1
比如输入
输入 输出
0 0 0 1 0
则bit1=0
Bitx的x即4位输入对应的二进制编码,其对应的bit即对应的输出。
软件注入,即强制trig out输出某个状态一个周期。
4个bit即对应4个trig out输出,一个bit对应一个trig out信号,总共4个信号。
该信号只保持一个时钟周期。
问题
互联管理好像都是内部信号?PLB的输入输出是否能映射到具体的IO?
如何将下图中的trig_inx和trig_outx映射到芯片的具体某个引脚?
手册中描述不清楚,看了好几遍手册都没有搞懂,手册相关介绍不是很详细。
|