STM8 刹车功能 STM8刹车功能常用于马达控制中。当使用刹车功能时,依据相应的控制位(TIM1_BKR寄存器中的MOE、OSSI和OSSR位),输出使能信号和无效电平都会被修改。 MCU系统复位后,刹车电路被禁止,MOE位为低。设置TIM1_BKR寄存器中的BKE位可以使能刹车功能。刹车输入信号的极性可以通过配置同一个寄存器中的BKP位选择。BKE和BKP可以被同时修改。 MOE下降沿相对于时钟模块可以是异步的,因此在实际信号(作用在输出端)和同步控制位(在TIM1_BKR寄存器中)之间设置了一个再同步电路。这个再同步电路会在异步信号和同步信号之间产生延迟。特别的,如果当它为低时写MOE=1,则读出它之前必须先插入一个延时(空指令)才能读到正确的值。这是因为写入的是异步信号而读的是同步信号。 当发生刹车时(在刹车输入端出现选定的电平),有下述动作: - MOE位被异步地清除,将输出置于无效状态、空闲状态或者复位状态(由OSSI位选择)。这个特性在MCU的振荡器关闭时依然有效。
- 一旦MOE=0,每一个输出通道输出由TIM1_OISR寄存器的OISi位设定的电平。如果OSSI=0,则定时器不再控制输出使能信号,否则输出使能信号始终为高。
- 当使用互补输出时:
─ 输出首先被置于复位状态即无效的状态(取决于极性)。这是异步操作,即使定时器没有时钟时,此功能也有效。 ─ 如果定时器的时钟依然存在,死区生成器将会重新生效,在死区之后根据OISi和OISiN位指示的电平驱动输出端口。即使在这种情况下,OCi和OCiN也不能被同时驱动到有效的电平。注,因为重新同步MOE,死区时间比通常情况下长一些(大约2个时钟周期)。 如果设置了TIM1_IER寄存器的BIE位,当刹车状态标志(TIM1_SR1寄存器中的BIF位)为'1'时,则产生一个中断。 如果设置了TIM1_BKR寄存器中的AOE位,在下一个更新事件UEV时MOE位被自动置位; 例如,这可以用来进行波形控制。否则,MOE始终保持低直到被再次置'1'。STM8S中的这个特性可以被用在安全方面,你可以把刹车输入连到电源驱动的报警输出、热敏传感器或者其他安全器件上。
注:刹车输入为电平有效。所以,当刹车输入有效时,不能同时(自动地或者通过软件)设置MOE。同时,状态标志BIF不能被清除。 刹车由BRK输入(BKIN)产生,它的有效极性是可编程的,且由TIM1_BKR寄存器的BKE位开启或禁止。 除了刹车输入和输出管理,刹车电路中还实现了写保护以保证应用程序的安全。它允许用户冻结几个配置参数(OCi极性和被禁止时的状态,OCiM配置,刹车使能和极性)。用户可以通过TIM1_BKR寄存器的LOCK位,从三种级别的保护中选择一种。在MCU复位后LOCK位域只能被修改一次。 图74显示刹车响应的输出实例。 (图74:STM8刹车响应的输出(不带互补输出的通道))
图75显示了带互补输出的刹车响应实例 。 (图75:STM8刹车响应的输出(TIM1互补输出))
|