📄 servoparams_dv34.c
字号:
// Initial AFE setup
{AfeCtrlShadow, 0x4C40}, // DSP (0x4c40)
{AfeCtrl, 0x4C40}, // DSP (0x4c40)
{AlpcGain, 0x0019}, // DSP (0x19)
PARAMS_TERMINATOR
};
CONST ServoParam ServoDVDGParams[] = {
// Servo general parameters for all kinds of DVDs
// CD mode
#ifdef CD_EXT
{CdExtendedMode, 0x0000}, // DSP (0)
#endif
{uOlsjOnlyEccThreshold, 0x0000}, // DSP (0)
// Focus parameters
{FeOffsetVsRfCalibOn, 0x0000}, // DSP (0): Focus offset according to RF maximum amplitude
{FocusBalanceVsJitter, 0x0000}, // DSP (0): Focus Balance according to minimum jitter point
{FocusBalanceThreshold, 0x00C0}, // DSP (0xc0): The minimum difference between two points in order to find a trend.
// Initial gains
#ifdef FOCUS_CONTROLLER_TEMP_TREATMENT
{FocusInitialGainCoef, 0x005A}, // DSP (0x5a)
#else
{FocusInitialGainCoef, 0x0144}, // DSP (0x144)
#endif
{TrackingInitialGainCoef, 0x002F}, // DSP (0x2f)
{GSLoopGainFactor, 0x0100}, // DSP (0x100): 0x100 -> 1.0
// Spindle filter coefs
{iSpindleB0Coef, 0x3349}, // DSP (13129)
{iSpindleB1Coef, 0xCD71}, // DSP (-12943)
{iSpindleA1Coef, 0x8000}, // DSP (32768)
{iSpindleGainCoef, 0x0006}, // DSP (=ROUND(102/2^4,0))
{SpindleIntegratorHighLimit, 0x0253}, // DSP (595)
{uCAVSpindleSpeed, 0x0500}, // DSP (0x500)
// Short jump profile params
{SJ_uAcceleration, 0x0014}, // DSP (20): 2^-16*Tracks/Sample^2 162*10^9*2^-16Tracks/Sec^2 (162e9/SR^2)
{SJ_uMaxVelocity, 0x1E00}, // DSP (7680): 2^-16*Tracks/Sample 6912*10^5*2^-16Tracks/Sec (6912e5/SR)
{SJ_PauseAfterEnd, 0x00C8}, // DSP (200): 2.23ms (2.23/1000*SR)
{JM_uShortLongJumpThreshold, 0x0190}, // DSP (400)
// Feedbacks parameters
{TrackingErrorSign, 0x0001}, // DSP (1)
// Track pullin params
{TP_TCMaximalSpeed, 0x0018}, // DSP (24)
{BrakeTrackPullinOn, 0x0000}, // DSP (0)
{SacTpStep, 0x285F}, // DSP (0x285f)
// Open loop short jumps
{OLSJKickTime, 0x0006}, // DSP (6)
{OLSJBrakeTime, 0x0004}, // DSP (4)
{OLSJKickSize, 0x02EE}, // DSP (750)
{OLSJBrakeSize, 0xFC18}, // DSP (-1000)
{OLSJMaxJump, 0x0003}, // DSP (3)
{OLSJMaxIteration, 0x0003}, // DSP (3)
{OLSJIterationDelay, 0x0010}, // DSP (16)
{OLSJUseFilter, 0x0001}, // DSP (1)
// Focus search parameters
#ifdef FOCUS_CONTROLLER_TEMP_TREATMENT
{FS_iFeHiThresholdLevel, 0x0BB8}, // DSP (3000)
#else
{FS_iFeHiThresholdLevel, 0x0DAC}, // DSP (3500)
#endif
{FS_uTime2GoUp, 0x0A8C}, // DSP (2700): 60ms ~= 1/14Hz = 71ms = 1 rotation (60/1000*SR)
{FS_iUpRepetitionTime, 0x0138}, // DSP (312)
{FS_iHighProfilePoint, 0x0502}, // DSP (1282)
{FS_iLowProfilePoint, 0xFD00}, // DSP (-768)
{FS_iStartProfilePointL0, 0xFE73}, // DSP (-397)
{FS_iDownRepetitionTime, 0x0034}, // DSP (52)
{FS_iStartRepetitionTime, 0x000C}, // DSP (12)
{FS_iStartOffset, 0xFD94}, // DSP (-620)
{FS_iFeKickThreshold, 0x8001}, // DSP (-32767)
{FS_iFeStopKickThreshold, 0x7FFF}, // DSP (32767)
{FS_uFocusLockTimeout, 0x01C2}, // DSP (450): 10ms
// Basic setup for DVD
// Decimation filters
{DecimationParams0, 0x0010}, // DSP (0x10): TE latency
{DecimationParams1, 0x00DD}, // DSP (0xdd): FE latency
{DecimationParams2, 0x007E}, // DSP (0x7e): GS latency
// DPD setting
{DpdControl, 0x000A}, // DSP (0xa)
{DpdParams0, 0x0680}, // DSP (0x680)
// mirror
{ServoMirrorControl, 0x0006}, // DSP (0x6): Bottom env LPF = 70 Khz
{ServoMirrorParams0, 0x0081}, // DSP (0x81)
{ServoMirrorParams2, 0x0003}, // DSP (0x3)
{ServoMirrorParams3, 0x0AA0}, // DSP (0x0aa0)
{ServoMirrorParams4, 0x6060}, // DSP (0x6060)
{ServoMirrorParams5, 0x000A}, // DSP (0xa)
{ServoMirrorParams9, 0x3E93}, // DSP (0x3e93): R=125, 67.5MHz/126=536kHz
// TZC
{ServoTzcParams0, 0x067D}, // DSP (0x67d): R=125, 67.5MHz/126=536kHz LPF = 70kHz
{ServoTzcParams1, 0x0200}, // DSP (0x200)
{ServoTzcParams2, 0x000D}, // DSP (0xd)
// AQB
{ServoGsCicControl, 0x0008}, // DSP (0x8): R1=2 (536kHz/3=178kHz)
PARAMS_TERMINATOR
};
CONST ServoParam ServoDVDSLParams[] = {
// Servo parameters for DVD single layer
{FG_iFeThresholdLevel, 0x0640}, // DSP (1600)
#ifdef FOCUS_CONTROLLER_TEMP_TREATMENT
{iLGFocusBpfB0Coef, 0x0072}, // DSP (114)
{iLGFocusBpfB1Coef, 0x0000}, // DSP (0)
{iLGFocusBpfB2Coef, 0xFF8E}, // DSP (-114)
{iLGFocusBpfA1Coef, 0x7D8D}, // DSP (32141)
{iLGFocusBpfA2Coef, 0xC0E3}, // DSP (-16157)
#endif
// Initial AFE gain
{FsrvADGain, 0x0000}, // DSP (0): Put init A/B/C/D signal to halp ADC range
{FsrvADDirectGain, 0x0000}, // DSP (0)
{FsrvADGainShadow, 0x0000}, // DSP (0): Put init A/B/C/D signal to halp ADC range
{FsrvADDirectGainShadow, 0x0000}, // DSP (0)
// Defect
{uSrvDefectTrackCrossThreshold, 0x80A0}, // DSP (0x80a0)
{uSrvDefectPlaybackThreshold, 0x80A0}, // DSP (0x80a0)
{uMirrDefectTrackCrossThreshold, 0x80A0}, // DSP (0x80a0)
{uMirrDefectPlaybackThreshold, 0x80A0}, // DSP (0x80a0)
{SrvDefectDelay, 0x0000}, // DSP (0)
{SrvWDParameters, 0x0000}, // DSP (0)
PARAMS_TERMINATOR
};
CONST ServoParam ServoDVDRWParams[] = {
// Servo parameters for DVD RW
{OLSJMaxJump, 0x0003}, // DSP (3): To enable crossing of white dot until SJ hold on GS stack is finished
// Focus search parameters
{FS_iStartProfilePointL0, 0xFD7F}, // DSP (-641)
// Initial AFE gain
{FsrvADGain, 0x0016}, // DSP (0x16): put init A/B/C/D signal to halp ADC range
{FsrvADDirectGain, 0x0016}, // DSP (0x16)
{FsrvADGainShadow, 0x0016}, // DSP (0x16): put init A/B/C/D signal to halp ADC range
{FsrvADDirectGainShadow, 0x0016}, // DSP (0x16)
// Defect
{uSrvDefectTrackCrossThreshold, 0x8090}, // DSP (0x8090)
{uSrvDefectPlaybackThreshold, 0x8090}, // DSP (0x8090)
{uMirrDefectTrackCrossThreshold, 0x8090}, // DSP (0x8090)
{uMirrDefectPlaybackThreshold, 0x8090}, // DSP (0x8090)
{SrvDefectDelay, 0x0000}, // DSP (0)
{SrvWDParameters, 0x808A}, // DSP (0x808a)
// The following two params are the same as for all DVDs,
// but with decimation filters of order 2 instead of 1.
{ServoMirrorParams5, 0x000F}, // DSP (0xf)
// Short jump profile params
{SJ_PauseAfterEnd, 0x0050}, // DSP (80)
PARAMS_TERMINATOR
};
CONST ServoParam ServoDVDRParams[] = {
// Servo parameters for DVD-R
// Initial AFE gain
{FsrvADGain, 0x0006}, // DSP (0x6): put init A/B/C/D signal to halp ADC range
{FsrvADDirectGain, 0x0006}, // DSP (0x6)
{FsrvADGainShadow, 0x0006}, // DSP (0x6): put init A/B/C/D signal to halp ADC range
{FsrvADDirectGainShadow, 0x0006}, // DSP (0x6)
// Defect
{uSrvDefectTrackCrossThreshold, 0x80A0}, // DSP (0x80a0)
{uSrvDefectPlaybackThreshold, 0x80A0}, // DSP (0x80a0)
{uMirrDefectTrackCrossThreshold, 0x80A0}, // DSP (0x80a0)
{uMirrDefectPlaybackThreshold, 0x80A0}, // DSP (0x80a0)
{SrvDefectDelay, 0x0000}, // DSP (0)
{SrvWDParameters, 0x0000}, // DSP (0)
PARAMS_TERMINATOR
};
CONST ServoParam ServoDVDDLParams[] = {
// Servo parameters for DVD dual layer
{FeOffsetVsRfCalibOn, 0x0000}, // DSP (0)
// Focus search parameters
{FS_iStartProfilePointL0, 0xFD7F}, // DSP (-641)
{FS_iStartProfilePointL1, 0x0226}, // DSP (550)
// Initial AFE gain
{FsrvADGain, 0x0012}, // DSP (0x12): put init A/B/C/D signal to halp ADC range
{FsrvADDirectGain, 0x0012}, // DSP (0x12)
{FsrvADGainShadow, 0x0012}, // DSP (0x12): put init A/B/C/D signal to halp ADC range
{FsrvADDirectGainShadow, 0x0012}, // DSP (0x12)
// Defect
{uSrvDefectTrackCrossThreshold, 0x80A0}, // DSP (0x80a0)
{uSrvDefectPlaybackThreshold, 0x80A0}, // DSP (0x80a0)
{uMirrDefectTrackCrossThreshold, 0x80A0}, // DSP (0x80a0)
{uMirrDefectPlaybackThreshold, 0x80A0}, // DSP (0x80a0)
{SrvDefectDelay, 0x0000}, // DSP (0)
{SrvWDParameters, 0x0000}, // DSP (0)
PARAMS_TERMINATOR
};
CONST ServoParam ServoCDGParams[] = {
// Servo general parameters for all kinds of CDs
{uOlsjOnlyEccThreshold, 0x008C}, // DSP (140)
// Sled gain
{ESL_OriginalGain, 0x0050}, // DSP (0x50)
{ESL_MaxGain, 0x0000}, // DSP (0)
// Initial gains
{FocusInitialGainCoef, 0x0055}, // DSP (0x55)
{TrackingInitialGainCoef, 0x002F}, // DSP (0x2f)
{GSLoopGainFactor, 0x015C}, // DSP (0x15c): 0x100 -> 1.0
// Spindle filter coefs
{iSpindleB0Coef, 0x3349}, // DSP (13129)
{iSpindleB1Coef, 0xCD71}, // DSP (-12943)
{iSpindleA1Coef, 0x8000}, // DSP (32768)
{iSpindleGainCoef, 0x000F}, // DSP (=ROUND(238/2^4,0))
{SpindleIntegratorHighLimit, 0x0165}, // DSP (357)
// Short jump profile params
{SJ_uAcceleration, 0x000A}, // DSP (10): 2^-16*Tracks/Sample^2 81*10^9*2^-16Tracks/Sec^2 (81e9/SR^2)
{SJ_uMaxVelocity, 0x0F00}, // DSP (3840): 2^-16*Tracks/Sample 3456*10^5*2^-16Tracks/Sec (3456e5/SR)
{SJ_PauseAfterEnd, 0x00C8}, // DSP (200): 2.23ms (2.23/1000*SR)
{JM_uShortLongJumpThreshold, 0x0100}, // DSP (256)
// Feedbacks parameters
{TrackingErrorSign, 0x0001}, // DSP (1)
// Track pullin params
{TP_TCMaximalSpeed, 0x0014}, // DSP (20)
{BrakeTrackPullinOn, 0x0000}, // DSP (0)
{SacTpStep, 0x285F}, // DSP (0x285f)
// Open loop short jumps
{OLSJKickTime, 0x0008}, // DSP (8)
{OLSJBrakeTime, 0x0006}, // DSP (6)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -