宏邦T861开发日记-问题集锦之OV2

    |     2015年5月28日   |   半导体问吧, 原创分享   |     0 条评论   |    2985

©版权声明:本文为【看我哒 www.kanwoda.com】原创文章,转载时请注明出处!

我的问题超多,再次感谢宏邦的朱天喜朱工和吴必勇吴总的大力支持,不厌其烦的解答了我的问题。在这里,分享给大家作参考。

问:* OV2差分电压测量功能,是否是测量不同的OV2通道之间的电压?类似DVI的差分测量功能? 这个功能应该是只能测量,不能force差分电压,是吧?

答:是的,只能差分测量。force差分功能在DVI3可以实现。

 

问:* OV2具备两个ADC测量单元,硬件上是可以实现并行测试功能的,但是在实际使用中,在手册里的范例程序中,我仍然看到是串行取样测试功能。当然,从效率上来讲,肯定节省了ADC与通道之间切换的时间,不需要重新 set_meas_mode。另外,在进行多工位测试的时候,是不是还是要采用FOR_EACH_SITE的方式进行设置和测试?我的问题是,是不是有更好的控制方式来提高并行测试的效率?

答:建议用ov2_measure函数,用awg方式时,两片ADC都处在真正的并行工作,效率也是最高的。

 

问:* 我在手册上,多次看到在测试前后,之间使用ov2_12->init()功能,因为考虑到spike风险问题,想请教一下具体的ov2_12->init()操作功能及顺序,包括对电压、电流、量程档、半载继电器,以及不同通道之间的处理及顺序。

答:init()主要用来对板卡的状态初始化,详细功能见文档。先是DAC,后面是range,顺序按通道序号。最后所有通道的继电器一起控制。

 

问:* OV2大电流使用,表1-7,如下信息,0.05% of range (Range 500 mA)该如何理解?

答:在平均功率符合文档要求的情况下,单次脉冲电流的宽度会影响精度

 

问:* 使用大电流功能时,如何控制大电流之前的 setup时间,以及持续时间?如果setup时间不足,或者持续时间超过规范,出现电流不足的现象,如何发现呢?

答:大电流的setup时间在不同负载情况下会有所不同,但setup时间非常短,与大电流可运行的持续时间相比可忽略不计。在平均功率符合文档要求情况下,如果超出范围会影响精度,但不会出现电流不足的现象。

 

问:* 请提供一下大电流功能的范例程序。(我这次需要测量300mA~400mA电流)。

答:

       double awg_load_pattern[100]={0},meas[20]={0},result=0;

       int size = 100;

ov2_12->init();

       wait.delay_10_us(200);

system_awg_create_trapezoid_data(&awg_load_pattern[0],100,0,0.4,20,60,20);

       ov2_12->set_voltage(OV2_CHANNEL_0,10,RANGE_10_V);

       ov2_12->set_current(OV2_CHANNEL_0,1.0e-6f,RANGE_500_MA);

       ov2_12->set_meas_mode(OV2_CHANNEL_0,OV2_MEASURE_CURRENT);

       ov2_12->ov2_awg_load_current(OV2_CH_0,RANGE_500_MA,0,size-1,awg_load_pattern);            ov2_12->ov2_awg_select_current(OV2_CH_0,RANGE_500_MA,0,size-1,0,100,OV2_AWG_SINGLE);

       ov2_12->ov2_measure(OV2_MEAS_0,20,50,meas,OV2_MEAS_AWG,3000);

       wait.delay_10_us(200);

       ov2_12->ov2_awg_enable();

       ov2_12->ov2_awg_start();

       result = ov2_12->ov2_get_measure_result(OV2_MEAS_0,OV2_MEAS_AVG,1,19);   ov2_12->init();

 

问:* OV2变化量程档,需要切换时间,请问这个切换时间增加需要外部delay,还是内部操作函数已经预留了?

答:需要外部加delay

 

问:* ov2_set_meas_trigger 功能的使用,不大明白其原理与作用,且中间提到需在ov2_measure()前设置才生效。单纯理解,感觉有点类似于TMU的EXT arm功能。

答:方便用户计算找到触发点,用户也可以根据回读的数据自行计算。

 

问:* ov2的AWG及Digitizer功能,如何保证多工位测试的并行测试? 从手册上看到的,都是针对单通道/单工位的设置和测试。

答:板卡间的可同步(详见AWG编程手册):system_awg_sync_enable(BOARD_12,BOARD_14);

system_awg_start();

 

问:* ov2_measure功能设置中,有meas_time1/2/3/4的测量设置,可以设置启动四次测量,四次测量采样的总次数,是不是受ADC采样次数的限制?四次采样的结果,是不是一次存储到定义的sample数组中? 如果需要多工位测量,同时操作多个OV2,该如何处理?

答:四次测量是受ADC采样次数限制的原因,是一次存储到定义的数组中去

板卡间的可同步(详见AWG编程手册)。

 

问:* 请确认下面信息中的meas,保存的是采样的数据,还是采样的次数?(我想应该是采样的数据吧)。另外,ov2_get_measure_result对应的操作对象,应该是直接针对ADC中的数据吧?如果换做对meas数据做软件运算操作,是不是反而会更快?

答:保存的是采样数据。

如果客户想得到最大最小还有平均值等多种结果时,建议把数据先读回来,然后自己操作。如果只想得到其中一种时,就可以利用适当的参数得到想要的结果,方便使用。

 

问:* ov2_awg_load_voltage功能,中间提到不同版本的外部及内部RAM的差别,是不是在实际使用中,只是地址范围的差别?

答:因为内部ram的地址范围较小,可在user_load()中用外部ram预存数据。用从外部ram copy 到内部ram比用户直接load到内部ram时间短的原理,节约一定测试时间。如果数据不多时,此方法意义不大。

问:*ov2_awg_load_voltage功能,仍然是老问题,并行操作的问题,是否有办法对多个OV2通道同时并行操作?

答:板卡间的可同步(详见AWG编程手册)。

 

问:* ov2_awg_load_voltage功能,ov2存在八个OVI通道,每个通道是否支持独立的AWG功能,还是需要共享?

答:每个通道的AWG参数可以不一样,但多通道同时运行AWG,周期不一样时,其他通道的时间间隔必需是最小通道的倍数关系。另外,所有通道必须同时启动。

 

问:* ov2_awg_select 功能中,提到多通道同时允许AWG的功能,是不是针对同一块ov2上的不同通道才可以实现同步? 因为ov2_awg_start是启动指令,如果要实现不同块ov2板卡的同步,指令如何实现呢?

答:板卡间的同步指令(详见AWG编程手册):system_awg_sync_enable(BOARD_12,BOARD_14);

system_awg_start();

 

问:* 很普遍的一个问题,特别针对ov2的多工位并行测试控制,我在手册里没有看到相关说明,能否提供一下相关信息? 从硬件上来看,我认为并行控制是完全支持的,但是,从软件上,我还没能找到相关的资料。

答:板卡间的可同步(详见AWG编程手册)。

AWG manual
本文地址: http://www.kanwoda.com/blog/archives/0515205028590.html



  
看我哒 - 半导体技术分享博客:262417215
回复 取消