一种三MCU系统的硬件实现
片内RAM 1024 byte
可编程输入/输出口 30 (P1,P2,P5,P6,P7)
串行通行口 2路
多功能定时器
AT0~TA9 10路16位
TB0~TB2 3路16位
看门狗定时器 1路12位
中断源 23
外部中断(INT3、INT4、INT5、INT6、INT7)
内部中断(TA0~TA9)(TB0~TB2)
(UART0、UART1、A/D)
中断优先级 7
A/D转换 5路10位
D/A转换 2路8位
供电电源 5V±0.5V
工作环境 -20℃±85℃
功耗 255mW(20MHz)
1.2M37906单片微处理器[2]
M37906单片微处理器是M7900系列16位单片机中专为三相电机驱动而设计的微处理芯片,特别适合于三相直流无刷电机的控制,结构封装如图1所示。其所有的 I/O口除了具有双向输入/输出功能外还具有其它复合功能。其中DA0和DA1为D/A转换口,可用于系统模拟量的输出;AN0~AN4是A/D转换接口,可用于模拟量的采集;WN、VN、UN和W、V、U是产生三相PWM控制信号的接口,可用于对三相电机的驱动;IDU、IDV、IDW为三相位置检测口,用于三相无刷电机控制中对转子位置的实时检测;其余的定时器输入、定时器输出、串行通信接口等与普通单片机基本相同。下面着重介绍M37906处理器中三相PWM波形的生成和与此相关的定时器的工作方式。
M37906处理器内部具有TA0~TA9和TB0~TB2共十三个16位的多功能定时器。定时器之间相互独立,每个定时器都可以选择其独立的工作方式。定时器TA0~TA9有四种工作方式:
定时工作方式:定时器对内部计数源计数。有普通、带门控功能、带脉冲输出三种方式。
事件计数方式:定时器对一个外部脉冲计数,可对单相或两相外部信号计数。
单次脉冲方式:定时器输出一个给定宽度的脉冲信号,该方式只触发一个,解发后停止记数。
脉冲宽度调制(PWM)方式:定时器输出给定宽度的连续脉冲。
定时器TB0~TB2有三种工作方式:
定时工作方式:定时器对内部计数源计数。工作情况与定时器TA相同。
事件计数方式:定时器对一个外部脉冲计数,只能对单相外部脉冲信号计数。
脉冲周期/脉冲宽度测量方式:定时器测量外部脉冲的周期或宽度。
联合使用定时器TA0~TA3和定时器TB0可以产生驱动三相马达的电压波形。M37906内部集成的三相马达驱动的工作方式答为三相波模式,用于实现三相波形的输出。三相正相波形(U相、V相、W相)和三相负相波形(UN相、VN相、WN相),分别从P65、P65、P64、P63、P62、P61和 P60输出,P6OUTcut/INT4作为智能模块的故障检测口。定时器TA3按定时方式工作,用于控制载波周期;定时器TA0~TA2按单次脉冲方式工作分别控制各输出相。其中定时器TA0控制W和WN相,定时器TA1控制V和VN相,定时器TA2控制U和UN相。
定时器TA3用于控制三角调制波或锯齿波的周期。当定时器TA3记数器向下溢出时,产生中断请求,发出一个短脉冲使定时器TA0~TA2开始记数;同时三相输出极性设置寄存器(00A8H)的相应位分别触发各自对应的输出极性设置翻转触发(toggle flipflop)器,设置其输出的极性,触发器的内容在定时器TA0~TA2触发时反向;定时器TA0~TA2在触发极性设置翻转触发器的同时也触发死区时间定时器使之开始工作。此时正相和负相输出波形并不能马上从高电平转到低电平,只有死区时间定时器溢出后,所发出的反向触发信号才使输出从高电平转到低电平。
在输出波形时,设置死区时间的目的是防止正向波形(U相、V相、W相)输出低电平和负相波形(UN 相、VN相、WN相)输出低电平时互相重叠,因为正相和负相同时为低电平时会造成驱动电路短路。M37906内部提供了3个以单次脉冲有方式工作的八位定时器完成对死区时间的控制。它们共用一个设定死区时间的重加载寄存器,在设定死区时间寄存器(00A7H)时也同时自动加载到共用的重加载寄存器中;每次触发死区时间定时器时微处理器会重新加载该寄存器中的值,按选择的记数源进行减记数;当记数器下溢时,记数器停止工作,等待下一次触发。
电磁炉相关文章:电磁炉原理
评论