开云十大最新推荐

登录 免费注册 开云十大最新推荐 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

调过cxd3068 servo 进来聊一聊

作者:mary huang 栏目:数字广电
调过CXD3068 servo 进来聊一聊
这段程试有问题吗?
BYTE Servo_focus_on(void)
{

    SWITCH (servo.operation)
    {
        case SERVO_FOCUS_0:
            #ifdef SERVO_DEBUGON
                epp_write_wait("###Servo Focus On\n\r");
            #endif
            FoFail = 0;
            servo_wait_gfs_cnt = 0;
            servo.temp_counter = 0;
            SERVO_SPEED_SET;                    /* Set RF EQ for 1X play */
            Servo_send_data_latch(0x3bf050, 3); /*  Jerry:  0x3be020, 702:  0x3bf050 */
            servo.operation = SERVO_FOCUS_1;
            servo.operation_timer = SERVO_TIME_200MS;
            servo.timeout_timer = SERVO_FOCUS_ON_TIMEOUT;                /* Wait For Tuning */
            if(servo.focuson_fail_counter > 4)  // Flying Disc Protection
            {
                #ifdef ERROR_MSG
                    epp_write_wait("^^^^^Flying Disc Protection 2!\n\r");
                #endif
                SERVO_LDON_CLR;
                Servo_off();
                servo.operation_timer = 3000 * servo.focuson_fail_counter;
                servo.timeout_timer = servo.operation_timer + SERVO_FOCUS_ON_TIMEOUT;
            }
            break;
        case SERVO_FOCUS_1:
            if(servo.operation_timer)
                break;

            SERVO_LDON_SET;
            Servo_off();
            #ifdef FOCUSON_DEBUGON
                epp_write_wait("LD ON\n\r");
            #endif

            if(servo_low_level)
                Servo_send_data_latch(0x3748ba, 3);     /* Set FZC level VC/8 */
            else
                Servo_send_data_latch(0x3708ba, 3);     /* Set FZC level VC/4 */
            if(FoFail > 1)
            {
                servo.buf[3] = 0;
                Servo_send_data_latch(0xe00000, 3);         /* Spindle off */
                servo.operation_timer = 4000;   /* to Make time Out!!! and wait Disc Stop Spin */
                servo.timeout_timer = 500;  /* delay 500ms then response focus fail cmd to DSA */
                FoFail = 0;
            }
            else
            {
            Servo_send_data_latch(0xe80000, 3);         /* Spindle Forward Kick */
                if(servo_sledge_lba != 450000)
                {
                    servo.operation_timer = (350 - (servo_sledge_lba >> 16)*30);    /* Wait Disc Rotate */
                    #ifdef FOCUSON_DEBUGON
                        psprintf(linebuf,"Spd Acc time = %d(O)\n\r",servo.operation_timer);
                        epp_write_wait(linebuf);
                    #endif
                }
                else
                {
                    servo.operation_timer = 200;    /*  */
                    #ifdef FOCUSON_DEBUGON
                        epp_write_wait("Spd Acc time = 200(X)\n\r");
                    #endif
       
2楼: >>参与讨论
liu701230
现在调好了吗?
朋友!,现在调好了吗?

3楼: >>参与讨论
mary huang
这段程试focus 很慢
不知到,是光头的原因,还是程试不行


* - 本贴最后修改时间:2005-9-21 18:08:06 修改者:mary huang

参与讨论
昵称:
讨论内容:
 
 
相关帖子
显卡有s-video信号,液晶电视只有AV输入端口,如何连接?
寻:用蜂鸣片做传感器的震动触发电路
请教不认光驱故障?
MPEG-4的视频压缩率?
哪位给介绍一个LED的驱动芯片


Copyright © 1998-2006 fzqkw.cn 浙ICP证030469号