TI中文支持网
TI专业的中文技术问题搜集分享网站

ESD测试时引发的H3A模块数据混乱问题

我们在做ESD测试时,发现M3VPSS的ISS子系统,H3A模块中的数据(fullH3ABufAddr)会因静电而变的不正常。这个数据我们会用来计算sensor曝光时间和增益。它被静电打坏之后会导致曝光时间和增益计算错误,从而导致图像变暗或者变亮。在这个结构体中,错误的数据字段我用注释标注出来啦:

typedef struct
{Task_Handle taskHndl;Semaphore_Handle sem;FVID2_Handle SensorHandle;FVID2_Handle cameraVipHandle;AEWB_VENDOR aewbVendor;UInt32aewbMode;UInt32aewbModeFlag;UInt32aewbPriority;MSP_IspH3aCfgTispH3aCfg;MSP_IspConfigProcessingT *pIssConfig;MSP_COMPONENT_TYPE*pIspHandle;Void*pAlgHndl;UInt32 h3aBufAddr[2];UInt32 fullH3ABufAddr; //就是这个数据不正常!UInt32 curH3aBufIdx;UInt32 h3aBufSize;Void*pH3AMem;UInt32 aewbNumWinH;UInt32 aewbNumWinV;UInt32 aewbNumPix;volatile UInt32 exitFlag;Int32 AutoIris;Int32 saturation;Int32 sharpness;Int32 brightness;Int32 contrast;Int32 blc;Int32 AWBMode;Int32 AEMode;Int32 Env;Int32 Binning;Int32 FrameRate;UInt8  *dcc_Default_Param;Int32  dcc_init_done;UInt32 dccSize;UInt32 AFValue;UInt32 AEWBValue1;UInt32 AEWBValue2;
}Iss_2AObj;

我发现H3A模块的H3A_PCR寄存器中有一个OVF位可以检测overflow,但是似乎没起作用,图像变暗或者变亮之后检测这个位始终是0。

有大佬知道这个怎么解决吗?

Chris Meng:

你好,

overflow是指的溢出,例如DDR总线繁忙,导致H3A数据来不及写到DDR上,就可能引发H3A的OVF。你的测试和overflow的情况是不一样的。

user5305451:

回复 Chris Meng:

你好,

那么像这种情况可能是什么原因导致的呢。我测试的时候得到的一组数据:

正常运行时         : 亮度平均值=16632

ESD异常情况1   : 亮度平均值=19954,此时会导致增益计算结果偏低,图像变暗

ESD异常情况2   : 亮度平均值=9968,此时会导致增益计算结果偏高,图像变量

异常情况在多次(不确定次数)打静电之后会出现

在打静电时有时会导致ISIF模块发生OVF,然后导致ISS模块复位,图像恢复正常。

Chris Meng:

回复 user5305451:

你好,

H3A自己是无法知道因为外部ESD导致模块输出异常的。能否对于亮度的变化设置一个门限,当亮度变化超过门限时认为H3A输出异常,复位ISS,这样来规避你现在ESD导致的问题?

user5305451:

回复 Chris Meng:

我试过了,如果设置门限的话,会导致正常工作时闪屏,摄像头移动也会带来亮度变化,并且有时变化比较大

user5305451:

回复 user5305451:

问题解决了,通过H3A或者ISP没办法检测到这种异常;我通过摄像头插拔的中断强行复位了ISS,打ESD时会被触发,效果还不错。

Chris Meng:

回复 user5305451:

谢谢分享!

赞(0)
未经允许不得转载:TI中文支持网 » ESD测试时引发的H3A模块数据混乱问题
分享到: 更多 (0)