简介
基于simulink提供的组件,构建常用的逻辑功能模块。
往期
1. 按键模拟
功能:按键按下(视为输入一段短暂有效的高电平)时,输出高电平1,再次按下按键,输出低电平0。
外部通过一个上升沿触发子系统控制,按键按下使能,进入子系统。
子系统在上升沿有效时执行一个步长并保持输出,即输出1。当下一个上升沿有效时保持输出0。以此往复构成按键使能模块。
2. IF-else 选择子系统
功能:根据输入条件选择性地选择执行的模块。类似于可变子系统模块。
通过一个IF模块将需要执行的子系统连接起来,在子系统中添加Action Port模块,以从 If 模块链接到信号。
3. 可变子系统
功能:根据输入端口的值选择需要执行的子系统,在模块参数中设置控制项表达式,通过逻辑表达式或值进行判断,且内部不需连接,通过表达式判断选择执行。
模块外部与内部如图所示,模块参数如下:
输入为1时执行Subsystem,为0时执行Subsystem1.
4. 计数模块Counter
功能:以恒定时间间隔计数或触发事件计数。
模块说明:在指定的数字范围内向上或向下计数。如果将“Count event”参数设置为“Free running”,则该块以恒定的时间间隔进行计数。否则,每次在Inc/Dec输入端口发生触发事件时,块增加或减少计数器。
如图展示该计数模块的触发计数功能,使用一个方波信号发生器构造上升沿,Signal构造复位使能,计数模块内部参数设置如下:
加计数,上升沿触发有效,最大计数值255,初始值0,展示复位端口。
触发计数连接Inc端口,上升沿触发时模块计数加一,Rst复位有效时计数归零,示波器结果如下:
上升沿计数加一,8S时Rst有效计数置0.
5. 状态机计时
功能:输入控制计时起止,计时过程中输出有效电平。
初始进入状态A,输出outp为0,计数cnt置为0。p1有效时进入状态B,输出变为1,进入后在状态B中累加,cnt每一个步长自加1,当p2有效或cnt大于300(步长为0.01时为3s)输出变为0。