电子说
产品简述
MS41928M 是一款用于网络摄像机和监控摄像机的镜头
驱动芯片。
芯片内置光圈控制功能;通过电压驱动方式以及扭矩纹
波修正技术,实现了超低噪声微步驱动。
MS41928M 集成了输入输出 IO 转换接口,可以应用于
1.2V 到 3.6V 的不同电压接口。
主要特点
◼电压驱动方式,256 微步驱动电路(两通道)
◼每通道最大电流±0.5A
◼内置光圈控制电路
◼四线串行总线通信控制马达
◼内置用于 LED 驱动的 Open-drain 双系统
◼1.2V3.6V 接口兼容
应用
◼摄像机
◼监控摄像机
产品规格分类
管脚图
管脚说明
内部框图
极限参数
绝对最大额定值
注:应用中任何情况下都不允许超过下表中的最大额定值
注: 1. 绝对最大额定值,是指在容损范围内使用的场合。
2. 容损值,是指在Ta = 85°C时封装单体的值。实际使用时,希望在参考技术资料和PD– Ta特性图的基
础上,依据电源电压、负荷、环境温度条件,进行不超过容损值的散热设计。
3. 容损值,工作环境温度,以及存储温度的项目以外,所有温度为 Ta = 25°C。
4. (DVDD + 0.3)电压不可超过4.0V。
工作电源电压范围
端子容许电流电压范围
注:1. 应用中任何情况下都不允许超过下表中的最大额定值。
2. 额定电压值,是指对 GND 的各端子的电压。GND,是指 GNDA,GNDD,MGNDA 以及 MGNDB 的电压。
另外,GND = GNDA = GNDD = GND5 = MGNDA = MGNDB。
3. 3V 电源,是指 AVDD 以及 DVDD 的电压。另外,AVDD3 = DVDD。
4. 在下面没有记述的端子以外,严禁从外界输入电压和电流。
5. 关于电流,“+”表示流向 IC 的电流,“-”表示从 IC 流出的电流。
注: (AVDD3 + 0.3) 电压不可超过4.0 V;(VIO + 0.3) 电压不可超过4.0 V。
电气参数
VDD5 = MVCCx = 4.8 V, DVDD = AVDD3 = 3.1 V, VIO = 1.8 V。没有特别规定,环境温度为Ta = 25°C ±2°C。
功能描述
1. 串行接口
注:1. 读写模式中,每个周期 CS 默认都是从 0 开始的。
2. 写模式时,必须从 OSCIN 端输入系统时钟。
电气参数(设计参考值)
VDD5 = MVCCx = 4.8V, DVDD = AVDD3 = 3.3V, VIO=1.8V。没有特别规定,环境温度为 Ta = 25°C ±2°C。
1. 数据转换在 CS 的上升沿开始,在 CS 的下降沿停止。
2. 一次转换的数据流单位是 24 位。
3. 地址和数据从 SIN 引脚输入时,同时钟信号 SCK 保持一致在CS = 1的条件下。
4. 数据在SCK信号的上升沿被打入IC。
同时,数据输出时,在 SOUT 引脚读出(数据在SCK的上升沿输出)
5. SOUT 输出 高阻态在CS = 0时,并且在CS = 1,输出“0”除非有数据读出。
6. 整个串行接口的控制在CS = 0时复位。
所有寄存器位数据在RSTB = 0时被初始化。
原则上来说,用于细分步进的寄存器的建立应该在起始点延时的这段时间段执行完(参考17页图)。
在起始点延时这段时间外写入的数据也能被存入寄存器。然而,如果写操作在刷新时间后执行的话,
写入的寄存器不会在计划的时刻有效。举例说明:如果在起始点激励延时后更新的数据1~4如下图一样
被写入,数据1和2在a时刻立即被更新,,数据3和4在b时刻被更新。即使数据是连续写入的,更新的
时间间隔了1个VD的周期。
由于上述的原因,为了数据及时更新,寄存器数据的建立需要在起始点延时的这段时间段执行完。
2. VD信号内部处理
这个系统中,步进电机的反射时间和旋转时间分别基于VD_IS和VD_FZ的上升沿。VD_IS和VD_FZ的
极性能通过下面的寄存器设置。
寄存器细节描述
MODESEL_FZ(VD_FZ 极性选择)
MODESEL_IRIS(VD_IS 极性选择)
MODESEL_FZ 和 MODESEL_IRIS 分别设置输入 IC 内部的 VD_FZ 和 VD_IS 的极性。
当设置为“0”,极性基于 VD_xx 的上升沿。
当设置为“1”,极性基于 VD_xx 的下降沿。
MODESEL_xx 选择输入 VD_xx 的极性。因此,基于 MODESEL_xx 的选择时刻,产生如下图所示的边沿和
VD_xx 的边沿无关。
3. 光圈控制
3.1 特性
PWM 波驱动→低功耗
通过寄存器可以设置每个滤波器→低噪声
增益放大器周围内置无源部件→对外置部分减幅
内置 8 比特 DAC 用来调整霍尔补偿
内置电流 DAC 用来调整霍尔偏置电流
3.2 寄存器细节描述
系统的极点位置主要影响系统幅度特性峰值的位置,系统的零点位置主要影响系统的幅度特性谷
值位置及下凹程度。积分器作用的强弱由零点位置决定,微分器作用的强弱由零极点位置共同作用。
零点位置越小,积分作用越强,积分作用使系统的稳定性下降,积分作用强时,系统会不稳定,但能
消除稳态误差。微分作用由零极点共同作用,可以改善动态特性,微分作用偏大,超调量较大,调节
时间较短,微分作用偏小时,超调量也较大,调节时间较长,只有设置参数合理时,才能使超调量较
小,减短调节时间。增益加大,使系统动作灵敏,速度加快,稳态误差减少。增益偏大,振荡次数加
多,超调时间加长,增益太大时,系统会趋于不稳定。增益太小,又会使系统的动作缓慢。
一般情况下,对参数的选择通常采用实验凑试法,整体步骤为“先比例,再积分,最后微分”。
(1)整定增益控制:将增益控制作用由小变到大,观察各次响应,直到得到反应快,超调小的响应曲
线。(2)整定积分环节:将步骤(1)中选择的比例系数减小到原来的50~80%,再调节零点使积分作用由小
到大,反复试凑得到较满意的响应,确定比例和积分的相关参数。(3)若经过上诉两个步骤,动态过程
不能令人满意,则将极点设置由小到大,同时相应相应地改变比例和零点,反复试凑得到满意的控制
效果和相关参数。
注:PID工作时不能有脉冲2。
START2[9:0]设置脉冲2的开始时间。从视频场同步信号 (VD_IS) 的上升沿开始计算,直到达到了设
置时间结束。
WIDTH2[5:0]设置脉冲2的脉宽。这个设置在开始时间计数结束后开始执行,出现上升沿。经过了
计数值个VD_IS的上升沿个数后,在VD_IS的下降沿结束。
P2EN控制脉冲2的输出。
START2[9:0],WIDTH2[5:0]和P2EN中的任一一个寄存器为“0”时,脉冲不输出。同时,计数时,
START2和WIDTH2不更新。
光圈模块输出驱动信号的占空比能被直接控制。DUTY_TEST必须为“1”才能使算法使能。
TGT_IN_TEST[9]设置光圈输出模块的转动方向。TGT_IN_TEST[8:0]设置光圈输出模块的驱动占空比。
计算占空比的方法
驱动信号占空比与 PWM_IRIS[2:0] 的设置值有关。
a 的计算方法是 a = {TGT_IN_TEST[8:1], 2’b00, TGT_IN_TEST[0]} (11位2进制数)
b 如上面的表格所示和PWM_IRIS[2:0]有关
占空比由计算a/b得到。如果a/b>1,占空比是100%。
举例说明:当TGT_IN_TEST[8:0] = 80h,PWM_IRIS[2:0] = 2,
a = {40h, 2’b00, 1’b0} = 200h
a/b = 200h / 862 =0.59
举例说明:
设置AVE_SPEED[4:0]使得数据更新的速度和VD信号的周期基本相同。
如果VD = 60Hz,那么在8步调节的情况下,每一步的时间即 1 / (60Hz) / 8 = 2.08ms
参考表格,每一步的时间根据AVE_SPEED[4:0]的值可设置为2.12ms,所以光圈每隔17.0ms改变一次。
3.3 光圈控制霍尔传感器
模块框图
测试开环频率响应的方法
FRA:频率响应分析仪
1)设置 ASWMODE[1:0] = 2
2)连接OP3OUT和ADTESTIN之间连接FRA
3)设置PID参数
4)测试开环频率响应
IRSAD[9:0]是个只读寄存器用来接收光圈ADC的输出。
只能在VD_IS为低电平时使用这个寄存器。
(IC在VD_IS = “H”时更新数据,如果在VD_IS = “H”时使用,读取的数据不正确。)
4. 步进电机细分步进驱动
4.1 模块框图
这个模块是一个用于聚焦和放大的步进电机驱动。下面的一些设置可以用来执行一系列的控制。
(下面是对 α 电机:驱动器 A/B 的描述。β 电机:驱动器 C/D 和 α 电机执行一样的算法。)
主要的设置参数:
相位矫正:驱动器 A 和驱动器 B 的相位差目标在 90°;可以做-22.5° +21.8°的相位修正——> PHMODAB[5:0]
幅度设置:能独立设置驱动器 A/B 的负载驱动电流——> PPWA[7:0],PPWB[7:0]
PWM 频率:驱动器输出的 PWM 波频率设置——> PWMMODE[4:0],PWMRES[1:0]
微步进分频数:微步数能设置成 64,128 和 256 微步进模式——> PWMMODE[4:0],PWMRES[1:0]
步进周期:电机旋转速度设置。
电机旋转速度与正弦波的的微步进模式无关——> INTCTAB[15:0]
4.2 相关设置的建立时刻
建立时刻和相关时间如下所示。
地址 27h 到 2Ah 的设置同 22h 到 25h 的设置相同,所以 27h 到 2Ah 的描述就省略了。如果相关寄
存器被刷新,则每一个 VD 周期来到时会实现一次设置的加载刷新。当同样的设置被执行时超过 2 个
VD 脉冲时,没有必要在每个 VD 脉冲都写入寄存器数据。
DT1[7:0](起始点延时,地址 20h)
更新数据时间设置。在系统硬件复位后(39 引脚 RSTB:低→高),开始激励和驱动电机前(DT1
结束)这段时间内,必须设置此项。
由于这个设置在每次 VD 脉冲来到时更新,没有必要一定在起始点延迟时内写入。
PWMMODE[4:0],PWMRES[1:0](微步进输出 PWM 波频率,地址 20h)
设置微步进输出 PWM 波频率。需要在开始激励和驱动电机前设置执行(DT1 结束)
DT2A[7:0](起始点激励延时,地址 22h)
更新数据时间设置。复位后(39 引脚 RSTB:低→高),需要在开始激励和驱动电机前被设置执行
(DT1 结束)。
PHMODAB[5:0](相位矫正,地址 22h)
通过矫正线圈 A 和 B 的相位差,驱动器产生的噪声会减少。合适的相位矫正必须依据于电机的旋
转方向和速度,此设置需要随着旋转方向(CCWCWAB)或者旋转速度(INTCTABA)的变化而改变。
PPWA[7:0],PPWB[7:0](峰值脉冲宽度,地址 23h)
设置 PWM 最大占空比。设置需要在开始激励和驱动电机前被设置执行(DT1 结束)
PSUMAB[7:0](步进电机步进数,地址 24h)
1 个 VD 的时间间隔内的电机的转动次数设置。
每次 VD 脉冲输入时,电机转动所设置的次数。因此,设置次数为“0”是可以停止电机的转动。
当设置的转动次数总额超过了 1 个 VD 脉冲的时间,超出部分会被取消。
CCWCWAB(转动方向,地址 24h)
电机转动方向设置。只要在选择转动方向前设置即可。
BRAKEAB(电机刹车设置,地址 24h)
刹车时设置电流为 0. 由于执行此设置时,很难得到电机的最终位置,所以此设置一般用于立即停止
电机。
ENDISAB(电机工作 Enable/Disable,地址 24h)
设置电机工作使能。当设置为不使能时,电机引脚输出高阻态,电机正在转动时不要设置成
disable。
LEDA(LED 设置,地址 24h)
LED 开/关设置。在 CS 的下降沿被设置。可以认为和电机驱动无关,能实现开/关的独立设置。
MICROAB[1:0](正弦波分频数,地址 24h)
设置正弦波的分频数。这个设置不改变转动次数和转动速度。
只有当转速达不到要求时才需要设置此项。复位后(39 引脚 RSTB:低→高),设置有效。
INTCTAB[15:0](脉冲周期,地址 25h)
脉冲周期设置。转动速度决定于这个设置。
4.3 步进电机微步驱动时,如何调整寄存器值
为了控制镜头,需要在每个 VD 都要求设置电机转动次数和转动速度。相关设置的转动次数和速
度的寄存器为:
INTCTxx[15:0]:设置每一步的时间(相应的,即转动速度)
PSUMxx[7:0]:每个 VD 时段内转动总步数
当在连续的 VD 时段内持续驱动电机,需要设置持续转动时间以适应 VD 周期.
以下是电机转动时计算 INTCTxx[15:0]和 PSUMxx[7:0]的方法
1) 计算 INTCTxx[15:0](决定电机转动速度)
INTCTxx[15:0] × 768 = OSCIN 频率 / 转动频率
2) 由 INCTxx[15:0]计算 PSUMxx[7:0]。不能单单看 PSUMxx[7:0]的值。
下面的等式成立时,持续转动时间和 VD 时间相同,电机实现均匀转动
INTCTxx[15:0] × PSUMxx[7:0] × 24 = OSCIN 频率 / VD 频率
3) PSUMxx[7:0]设置完成后,由上式重新计算 INTCTxx[15:0]
举例说明,OSCIN 频率 = 27 MHz,VD 频率 = 60Hz
计算 PSUMxx[7:0]和 INTCTxx[15:0]使电机在 800pps(1-2 相位)转动次
800pps = 100Hz,所以
INTCTxx[15:0] = 27MHz / (100Hz × 768) =352
相应的
PSUMxx[7:0] = 1/(60Hz)× 27MHz/ (352 × 24) = 53
重新计算 INTCTxx[15:0]得:
INTCTxx[15:0] = 1/(60Hz)× 27MHz/ (53 × 24) = 354
可以通过查看第 45 页和第 47 页来查看更多细节。
如果上述 2)中等式左边比右侧小,转动时间比 VD 时段小会引起不连续的转动。反之,超过 VD
时段的转动会被取消。
PWMMODE[4:0]通过设置系统时钟 OSCIN 的分频数来设置微型步进输出 PWM 的频率。
PWMMODE[4:0]能在 131 的范围内设置,PWM 波的频率在 PWMMODE = 0 和 PWMMODE = 1 时候
的取值是一样的。
PWMRES[1:0]设置由 PWMMODE[4:0]决定的频率的分频数。
PWM 频率由下面的式子进行计算:
PWM 频率 = OSCIN 频率 / ((PWMMODE × 2 3 ) × 2 PWMRES)
OSCIN = 27MHz 时,PWM 的频率如下表
当 INTCTAB[15:0]=0,只要 pwm 最大占空比不为 0,电机就保持在释放时状态。
举例说明:
当 INTCTAB[15:0]=400 时,64 细分下每步周期
12×400/27MHz=0.178ms
因此,每个正旋波周期为 11.4ms(87.9Hz);同样计算,128 细分与 256 细分下也为 11.4ms。
步进电机驱动(64 细分微步进电流曲线)
典型应用电路图
注:VIO 给数字输入脚供电,输入逻辑电压不要超过 VIO。
MS41928M 芯片内部有内置 OSC 时钟。只有当芯片上电时,OSCIN 脚不接入外部时钟信号悬空
时,芯片会切入使用内置时钟。注意:接入外部时钟信号后,在芯片工作过程中断开外部时钟,不会
自动切入到内置时钟,则此时芯片是无时钟状态,芯片不能正常工作。
由于内部时钟精度不高,并且会受环境温度影响,所以对于需要有一定精度要求的应用,不建议
使用内置时钟,推荐使用外部时钟。
如果芯片的控制方式是使用 PLS1/PLS2,引出电机转动时的 H 桥输出状态信号(FZTEST[4:0]设置值
为 7),通过检测 PLS1/PLS2 的电机转动时的 H 桥输出状态信号的下降沿,来判断电机转动完成,然后
发出 VDFZ 信号使转动电机再次转动。采用这种方式控制芯片驱动电机连续转动的应用下,转速不高
并且能接受内置时钟精度带来的转速偏差时,可以使用内置时钟。这样的控制方式的优点是能保证不
会因为时钟的精度问题而导致出现失步的情况,缺点是由于存在 DT1 和 DT2 延迟时间,导致两次在
VDFZ 信号之间,必定会存在 DT1+DT2 延时时间的电机停止状态。即使 DT1 和 DT2 都设置最小值 1
时,也会存在几百 μs 电机停止时间。如果转速较高时,这几百 μs 的停止时间就会造成电机连续转动
有明显“停顿感”,导致转动效果变差。
封装外形图
QFN44 (0606X0.75-0.4)
——爱研究芯片的小王
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !