现把本人前一段时间发在其他的论坛上的工作日志转贴在这里,可能对新人有点帮助,高手就不用看了,哈哈,希望大家喜欢!
内容包括本人发的和回别人的部分,可惜,怕泄漏公司的秘密,只坚持了一段时间!
---------------------
序言:
本人2005年毕业,做软件,当时领导问我想做解码还是伺服,其实我也不知道解码和伺服有什么具体的区别,只是大概知道伺服是跟读碟相关,解码和客户打交道比较多,要经常出差,最终我选择了伺服(因为我听别人说,伺服的工资很高,哈哈),就这样到现在一直从事伺服,从V6~V9,再过几天就整3年了,刚开始学伺服的时候,到处到网上找资料,多是华而不实,教科书式的,对具体工作没什么用,只是了解一些概念罢了,那个时候也特别的保守,自己学到了一点东西,不跟别人分享,哈哈!
现在想想自己还蛮搞笑的,也想开了,什么经验不经验的,只不过遇到的问题多了,积累起来罢了,也没什么好东西,有好的东西和别人一起来分享,心灵上感到欣慰,晚上睡觉也舒服,就像做了善事一样,精神上高兴!
以后我将会以天为单位,工作日志的形式将我工作中遇到的问题和解决的思路不定期的更新,以此来达到和大家交流,共享经验的目的!
-----------------------
20080617:
以前的事就不提了,就补上最近几天的吧.
1:上个星期跟进日立1200W光头高温85℃试验(家规光头过85℃,挑战啊,哈哈)
马达驱动是AM5888,该驱动芯片在高温85℃以上硬件FOCUS增益会衰减严重,导致伺服挂掉,修改硬件环路,增大硬件FOCUS增益来补偿,再配合其他伺服参数修改,过85℃,普通DVD5故事碟过,JITTER一直在16%以内!然后再验证低温过-20℃,也OK
2:昨天产线指出有好多机芯不读碟,到产线看了下是碟片根本就没转起来,导致不读碟
仔细的看了下,原来是碟片压碟后,进给马达由于导杆阻力太大没有回位内周,内周开关没有触发,所以主轴马达没转.去查看测试进给马达顺畅的工位,果然运动不顺畅不良很高,10%不良
3:今天一天在整三洋HD88H光头DVDR碟一致性差,好的很好,差的也很差,搞的头昏,没搞定
--------------------------
20080618:
首先补充下,我做的方案是ZORAN的,所以讲的都是ZORAN的内容。
一、今天继续HD88H DVDR一致性问题,不稳定,修改MIRR和TE相关参数,有些改善
二、讲下IO口的应用:
好多新人对IO口没什么感觉,不知道怎么下手,其实我刚开始也是花了3个月的时间才算完全掌握,能够灵活运用。
一般在代码里是16进制,IO是2进制,0 or 1(2进制1111=8+4+2+1)
配置IO口的规则如下(datasheet里也有)
1:功能配置,好多是一个口有多种功能,IO口功能只是其中的一种,首先要配置成IO口功能
2:MODE配置,CPU控制配0,DSP控制配1
3:DIR配置,输入配1,输出配0
4:DATA配置,高电平配1,低电平配0
5:一般应用
IO输出做控制使用,一般外接开关三极管(NPM or PMP),IO口接B极,E极接地,C极接上拉电阻,IO拉高时,NPM接通,控制线路就拉低,IO口拉低,NPM关闭,控制线路拉高
IO口输入做检测使用,一般外接开关,如开关断开,IO口检测此时为高,当开关闭合,IO口此时检测为低,这是一个状态变化,在程序中可以做判断条件使用
IO口还可以模拟通信,通过配置输入/输出/高电平/低电平,模拟I2C,DSA等通信协议
--------------------------
1、单机芯一般能够过85℃,就已经很不错了,要求一般的客户绰绰有余!
2、BA5954比AM5888在高温85℃上确实稳定性要强,其实在那么高的温度下,整个机芯都达到了极限状态,所以一个稍微关键的变化就可以把机芯搞死!
----------------------------
1、老化是不会出问题的,HPD60虽然高温不怎么好,但我们这里可以勉强过80℃,可以保证75℃
2、Iop到75mA,没问题的,我们可以到100mA,那个4.7Ω的电阻调没效果的,基本上不变,我试过!
说实话,过高温,首先要保证TT一定尽量准,因为不准的话,A/B/C/D/的信号就会有大有小,这个就是木桶原理,只要有一个过小,光头就搞死了!
软件上,用倾角参数适当补偿下,再把PI掉焦的门限降低,一般要好很多!
---------------------------
可能是我讲的不是很清楚,TT调整指导杆面与马达面要尽量保证平行,这个东西理论上是平行的,但实际上机芯搬来搬去的,很容易跑掉!
比如在常温下,TT比较好,但在高温下,结构的变形导致TT就不好了,直接导致就是A/B/C/D的幅度有大有小,不平均!A/B/C/D中只要有一个过小,都会导致伺服挂掉!
倾角参数指的是TrackCenterCommand,可以调节物镜延导杆方向前后移动,实际上也是调节A/B/C/D平均些!
过高温还有就是软件适当加大光功率,硬件上ALPC环路上VR_DVD尽量不接电阻,直接拉地,目的也是提高光功率!
还有就是机芯结构散热好不好了!
--------------------------------
20080622:
简单粗略的讲下吸入式机芯从上电开始到播放的流程(这些资料网上都没有的,只能靠自己阅读程序积累):
上电开始→硬件内嵌底层函数开始→main()→硬件初始化/启动操作系统(RTOS)→建立各模块任务(SERVO模块,UI模块,CORE模块,DEBUG模块)→NPM部分→启动进出仓部分开的定时器(新线程)→检测到有碟(IO做检测时的应用)→进碟→压碟到位(相当于便携DVD的碟盖压下来动作)→光头回内周触发内周开关→servo boot→media detect→FE Calibration→focus search→focus on→track pull in→track on→play
软件定时器这个用法真的很妙,在系统上不好开辟新的任务(涉及到内存管理),可以建立一个软件定时器来开辟一个新的线程,软件定时器可以软件随时关闭,开启,修改循环时间,修改循环次数(可以设一次和无穷次实时检测)
----------------------------
20080624:
今天解决一客户需求:
上电进碟后,在伺服起来后立即Spindle_Down,然后在按某个遥控器键,保证在1秒内伺服立即起来播放
一般这种需求很少,客户是做整机的需求,客户是上帝嘛,没办法,只好想办法满足!
思路:修改ZORAN NPM 伺服状态机流程,在伺服刚读完,NPM状态机赋予SPIN_DOWN(正常是SPIN_UP),再配合其他修改,OK
一般情况下尽量少修改NPM 状态机,毕竟ZORAN做的比较成熟,修改后容易出BUG
顺便讲下ZORAN NPM状态机:
ZORAN NPM STATE,这个用法真的很妙(其实RTOS操作系统也是这种用法,以前看了下操作系统的书,没想到起作用了),以状态为传递,以消息为驱动,然后不断进行任务切换.
简单点就是:把伺服前端部分分成几个关键状态,然后通过消息驱动,状态不断切换,一直到伺服起来OK
具体的思想用法,可以看ZORAN原代码或操作系统的书
------------------------
20080630:
说下马达驱动芯片应用注意点,马达驱动芯片的使用好坏对伺服的读碟影响太大了,往往出问题的都是与这里有关
一般常用的BA5954,就以BA5954为例
1、MUTE脚信号,要看是否MUTE干净,看是否控制到位
2、注意参考电压1.65V,ZORAN IC输出focus/track PWM信号是要与这个1.65V相减,做为差放输入,绝对值大小是幅度,正负是线圈方向,如果1.65V参考电压不准,就会出问题,影响读碟
3、5V参考电压,这个是有源放大器的供电电压,如果这个不准,也会导致线圈电压不准,就会影响读碟
4、外围电路的电阻/电容的选择使用是否准确合理,选择是否合理,对读碟影响也是很大的
以上4点,我都是遇到这样的问题!
-----------------------------------
20080718:
回头再看看自己,真的很笨,高温试验时马达驱动芯片高温FOCUS增益衰减严重,当时只想到了修改硬件环路增大增益,但就没想到换个高温特性更稳定的马达驱动芯片试验下呢.
果真,换了个高温特性稳定的驱动芯片,OK,稳过85℃,还可以挑战下90℃
问题1:外周翘起,应该是指外周向上翘起吧(你也没说清楚,如果外周向下翘,你会说内周上翘了)至于RF变小了,那是因为射出去的光由于有角度不垂直,所以接受回来的光变少
对策:软件调试就是调那个Trackcentercommand参数了,把物镜向外调偏下看看;结构调试,由于上翘,所以间接外周TT高度变高了,调试结构使外周TT高度适当变小
问题2:713内周不好,至于内周差,而外周好,因为内周角频率太快引起SLED跟随抖动,外周角频率慢,所以刚刚好读好
对策:降低SLED环路的GAIN看看,适当降低SLED的频率,变得稳点;适当增大短跳的KICK力;适当降低角速度,以上3点对策713应该足够了