This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4AL-Q1:IMX728曝光传感器设置问题

Guru**** 2390755 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1498476/tda4al-q1-imx728-exposure-sensor-setting-problem

器件型号:TDA4AL-Q1

工具/软件:

您好、TI 专家、

当传感器增益发生变化时、曝光会闪烁。

我们在 imaging\sensor_drv\imx728\imx728文件夹中检查 src imx728传感器驱动程序。

如何生成增益表、例如 imx728_gain_table.h

您能解释一下吗?

有关曝光控制的寄存器如下所示。


define IMX728_SP1_PROEMENT_TIME_FID0_ADDR (0xBF08U)
#define IMX728_SP2_PROEMENT_TIME_FID0_ADDR (0xBF0CU)
define IMX728_SP1VS_expose_time_FID0_ADDR (0xBF10U)
#define IMX728_FME_ISP_GAIN_FID0_ADDR (0xBF04U)

为什么 ISP 增益控制使用0xBF04不使用0x9918

我们发现数据表使用0x9918控制 ISP 增益。

非常感谢。

YL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 YL:

    请勿在公共论坛上共享任何机密信息。

    Unknown 说:
    当传感器增益发生变化时、曝光会闪烁。

    您能否提供更多详细信息?

    [引述 userid="634603" url="~/support/processors-group/processors/f/processors-forum/1498476/tda4al-q1-imx728-exposure-sensor-setting-problem

    如何生成增益表、例如 imx728_gain_table.h

    [/报价]

    该表主要用于将线性增益值从 AE 转换为 IMX728传感器寄存器格式(通常采用 dB 格式)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Gang、

    该表主要用于将线性增益值从 AE 转换为 IMX728传感器寄存器格式(通常采用 dB 格式)。

    那么、我是否需要自己找到转换增益表?

    如果是、如何找到该值、是否可以使用任何方法来测量线性增益表?

    如果没有、我在哪里可以找到此表、Sony 是否提供了此表?

    谢谢、

    YL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 YL:

    那么、我是否需要自己找到转换增益表?

    SDK 代码库中有一个 IMX728的示例增益表。

    https://git.ti.com/cgit/processor-sdk/imaging/tree/sensor_drv/src imx728/imx728_gain_table.h?h=main

    第1列是 AE 输出的线性增益值。
    第二个是相应的 Sony 传感器寄存器值。

    如果没有、我在哪里可以找到此表、它是否由 Sony 提供?

    Sony 一定能够帮助您解决有关传感器增益值的任何问题。
    他们帮助我们在上面的链接中创建了表格。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Gang、

    感谢您的答复。

    另一个问题是、我如何知道平台上与传感器 db 值对应的线性增益值。

    例如、1036为0.1db、1136为0.9db、其中 FRE_ISPGAIN_UNIT 上的设置为0.1db base。

    static const uint32_t gIMX728GainsTable[ISS_IMX728_GAIN_TBL_SIZE][2U] =
    {
        {1024, 0x0}, \
        {1036, 0x1}, \
        {1048, 0x2}, \
        {1060, 0x3}, \
        {1072, 0x4}, \
        {1085, 0x5}, \
        {1097, 0x6}, \
        {1110, 0x7}, \
        {1123, 0x8}, \
        {1136, 0x9}, \
        {1149, 0xA}, \

    谢谢、

    YL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    例如、1036为0.1db、1136为0.9db、 FME_ISPGAIN_UNIT 上的设置为0.1db base。

    是的、正确。

    另一个问题是、我如何知道平台中与传感器 db 值对应的线性增益值。

    你的问题是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Gang、

    我的意思是我如何知道1036是相对于0.1db。

    如何在 TI 平台定义上计算1036。

    谢谢、

    YL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 YL:

    如何根据 TI 平台定义计算1036。

    对于此表的第1列、1024为1.0x 增益、其他所有值均从1024线性缩放 、即1036为1.0117x 增益。

    这种关系也反映在传感器的 AE 设置中。
    您可以查看下面的链接。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1262114/faq-setting-up-auto-exposure-ae-for-your-image-sensor-with-tda4-am6xa-isp-vpac

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Gang、

    感谢您的澄清说明。

    另一个问题,使我困惑。

     iss_sensors.h 上找到 imaging\sensor_drv\include。

    /**
     *  \brief Sensor Specific Auto Exposure Dynamic Parameters
     * \ingroup group_vision_function_imaging_sensordrv
     */
    typedef struct {
        IssAeRange exposureTimeRange[MAX_AE_DYN_PARAMS];
        /**< range of exposure time in nanoseconds */
        IssAeRange analogGainRange[MAX_AE_DYN_PARAMS];
        /**< range of sensor gain, 1024 = 1x */
        IssAeRange digitalGainRange[MAX_AE_DYN_PARAMS];
        /**< range of ISP Digital gain, 256 = 1x */
        uint32_t                     numAeDynParams;
        /**< Number of Valid Entries in above arrays */
        IssAeRange targetBrightnessRange;
        /**< range of target brightness */
        uint32_t                     targetBrightness;
        /**< target brightness value */
        uint32_t                     threshold;
        /**< threshold for not using history brightness information */
        uint32_t                     exposureTimeStepSize;
        /**< step size of exposure time adjustment */
        uint32_t                     enableBlc;
        /**< TRUE enables Backlight compensation, disabled otherwise */
    } IssAeDynamicPara

    您能否帮助确认哪个曝光时间单位 正确?

    在定义  ExposureTimeRange 中、单位注释为纳秒。

    IssAeRange exposureTimeRange[MAX_AE_DYN_Params];
    /**<曝光时间范围(以纳秒为单位)*/

    但我在 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1262114/faq-setting-up-auto-exposure-ae-for-your-image-sensor-with-tda4-am6xa-isp-vpac 上看到了常见问题解答

     ExposureTimeRange 单位为微秒。

    注意:exposureTimeRange 在 imaging\sensor_drv\imx728.c 中以纳秒为单位在 imaging\sensor_drv\project\imx728 src 中使用

    static int32_t IMX728_GetExpPrgFxn(uint32_t chId,
                                        void *pSensorHdl,
                                        IssAeDynamicParams *p_ae_dynPrms)
    {
        int32_t status = 0;
        uint8_t count = 0;
    
        p_ae_dynPrms->targetBrightnessRange.min = 40;
        p_ae_dynPrms->targetBrightnessRange.max = 50;
        p_ae_dynPrms->targetBrightness = 45;
        p_ae_dynPrms->threshold = 1;
        p_ae_dynPrms->enableBlc = 1;
    
        p_ae_dynPrms->exposureTimeStepSize         = 1000000;  // nsec
        p_ae_dynPrms->exposureTimeRange[count].min = 10000000; // nsec
        p_ae_dynPrms->exposureTimeRange[count].max = 10000000; // nsec
        p_ae_dynPrms->analogGainRange[count].min   = 1024;
        p_ae_dynPrms->analogGainRange[count].max   = 16229;
        p_ae_dynPrms->digitalGainRange[count].min  = 256;
        p_ae_dynPrms->digitalGainRange[count].max  = 256;
        count++;
    
        p_ae_dynPrms->numAeDynParams = count;
        return (status);
    }

    谢谢、

    YL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 YL:

    [引述 userid="634603" url="~/support/processors-group/processors/f/processors-forum/1498476/tda4al-q1-imx728-exposure-sensor-setting-problem/5763903 #5763903"]

    您能否帮助确认哪个曝光时间单位 正确?

    [/报价]

    作为惯例、我们通常使用"us"(微孔板)进行 AE 设置。
    但是、源代码中没有单位(只是数字)。
    因此、只要 AE 设置和传感器驱动程序对齐、使用 ns (或任何其他值)也是不错的选择。