Dlp4500如何使用internal trigger进行内部触发?

目前我可以在pattern sequence 模式下利用J11的pin1实现external trigger的外部触发,但考虑到利用vs实现触发控制,因此我想利用internal trigger实现pattern sequence 模式下的内部触发,但是在源代码中一直没有找到发射内部触发信号的相关函数;也可能是我对内部触发的理解有所偏差,希望有了解的朋友能够予以解答和帮助,谢谢!

11 个回复

  • 参考DLPC350中dlpc350_API中
    int DLPC350_AddToPatLut(int TrigType, int PatNum,int BitDepth,int LEDSelect,bool InvertPat, bool InsertBlack,bool BufSwap, bool trigOutPrev)


    * @param TrigType - I - Select the trigger type for the pattern
    * 0 = Internal trigger
    * 1 = External positive
    * 2 = External negative
    * 3 = No Input Trigger (Continue from previous; Pattern still has full exposure time)
    * 0x3FF = Full Red Foreground color intensity


    0就是Internal Trigger

    数字微镜,空间光调制器,SLM; jeremy-wu@ti.com;13661730975

  • 回复 Jeremy Wu:

    您好,你给出的应该是pattern sequence 下如何设置内部触发模式吧,我想知道我应该如何控制内部信号的发射,,就像控制外部触发信号那样在我需要的时候发射信号,准确的实现下一帧的投影。
  • 回复 william yi:

    点击Play,系统就输出信号Pattern.但是前面有一序列的过程, PATTERN图片整理排列,和触发信号的插入,曝光时间的设置等.
    在 mainwindow.cpp中有详细说明.

    Validate:
    void MainWindow::on_pushButton_ValidatePatSeq_clicked()
    {
    int i = 0;
    unsigned int status;
    bool ready;

    if((ui->radioButton_SLMode->isChecked() == false) && (ui->radioButton_VariableExpSLMode->isChecked() == false))
    {
    ShowError("Please change operating mode to Pattern Sequence before validating sequence");
    return;
    }

    //if pattern sequence is already running it must be stopped first
    emit on_pushButton_PatSeqCtrlStop_clicked();

    //Clear the flags
    ui->pushButton_PatSeqValIndExpOOR->setEnabled(false);
    ui->pushButton_PatSeqValIndPatNumOOR->setEnabled(false);
    ui->pushButton_PatSeqValIndTrigOutOverlap->setEnabled(false);
    ui->pushButton_PatSeqValIndBlkVecMiss->setEnabled(false);
    ui->pushButton_PatSeqValPatPeriodShort->setEnabled(false);
    ui->pushButton_PatSeqCtrlStart->setEnabled(false);
    ui->pushButton_PatSeqCtrlPause->setEnabled(false);
    ui->pushButton_PatSeqCtrlStop->setEnabled(false);


    if(DLPC350_StartPatLutValidate())
    {
    ShowError("Error validating LUT data");
    return;
    }

    QEventLoop loop;

    do
    {
    if(DLPC350_CheckPatLutValidate(&ready,&status) < 0)
    {
    ShowError("Error validating LUT data");
    return;
    }

    if(ready)
    {
    break;
    }
    else
    {
    QTimer::singleShot(1000, &loop, SLOT(quit()));
    loop.exec();
    }

    if(i++ > MAX_NUM_RETRIES)
    break;
    } while(1);

    ui->pushButton_PatSeqValIndExpOOR->setEnabled((status & BIT0) == BIT0);
    ui->pushButton_PatSeqValIndPatNumOOR->setEnabled((status & BIT1) == BIT1);
    ui->pushButton_PatSeqValIndTrigOutOverlap->setEnabled((status & BIT2) == BIT2);
    ui->pushButton_PatSeqValIndBlkVecMiss->setEnabled((status & BIT3) == BIT3);
    ui->pushButton_PatSeqValPatPeriodShort->setEnabled((status & BIT4) == BIT4);
    //Except BIT0 and BIT1 flags enable pattern sequence
    if(!(status & BIT0) && !(status & BIT1))
    {
    ui->pushButton_PatSeqValStatus->setEnabled(true);
    ui->pushButton_PatSeqCtrlStart->setEnabled(true);
    ui->pushButton_PatSeqCtrlPause->setEnabled(true);
    ui->pushButton_PatSeqCtrlStop->setEnabled(true);
    }
    else
    {
    ui->pushButton_PatSeqValStatus->setEnabled(false);
    ui->pushButton_PatSeqCtrlStart->setEnabled(false);
    ui->pushButton_PatSeqCtrlPause->setEnabled(false);
    ui->pushButton_PatSeqCtrlStop->setEnabled(false);
    }

    }

    再是
    void MainWindow::on_pushButton_PatSeqCtrlStart_clicked()
    {
    int i = 0;
    unsigned int patMode;
    DLPC350_PatternDisplay(2);
    }


    开始出PATTERN.

    数字微镜,空间光调制器,SLM; jeremy-wu@ti.com;13661730975

  • 回复 william yi:

    你好,麻烦可以问一下你的问题解决了吗,内部触发信号在哪可以检测到,是通过那个芯片控制的呢,谢谢
  • 回复 user5902362:

    您好!
    内部触发信号是不需要控制的,当配置为内部触发模式时,DLPC内部会根据Sequence的配置自动产生内部触发信号。
    谢谢
  • 回复 Kevin Shi:

    您好,那如何检测到目前曝光时间下的频率有多大,如果设置的曝光时间以及曝光周期是10000us,并且图像源选择是flash,模式时序列模式,说明书上说得是最大频率是4225Hz(235us)。
  • 回复 user5902362:

    您好!
    可以检测Trigger out 1信号,该信号是和曝光时间同步的。
    谢谢
  • 回复 Kevin Shi:

    您好,只可以检测到电压值,检测不到脉冲信号TRIG1_OUT_CON、EXT_TRIG1_OUT_VCC两个管脚都试了,只有稳定的3V电压信号,求解答。谢谢
  • 回复 user5902362:

    您好!

    主要检测TRIG1_OUT_CON

    • 请提供详细的pattern配置。
    • 检查J13是否有跳线帽
    • 直接检测U16的Pin3,看是否可以检测到信号
  • 回复 Kevin Shi:

    你好,刚才是示波器的原因,现在可以检测到信号了,但是出现一个问题就是曝光时间以及曝光周期设置成10000us是可以进行运行,也就是100Hz,但是如果想让频率更高一点设为1000us那个pattern sequence stop/start/pause里面的ooR就会出现红灯,频率升不上去该怎么解决,同样应用的是pattern sequence里面的flash,求解答,谢谢