CTA8280F配置参数及编程函数

硬件资源板卡

板卡名称说明资源类型
FOVI八路浮动电压电流源电源类
FPVI浮动双通道功率电压电流源
FHVI精密浮动高压电压电流源
TIF测试系统接口单元信号类
CBIT128用户继电器驱动单元
TMU四路时间测量单元
DIO数字测试模块
HAD4高精度差分测量模块
TPS高精度时间测量单元

系统函数

延时等待

 等待时间 mS
DelaymS1

等待时间范围:0.001~65535mS

测试结果处理

 被测参数序号被测同类参数序号系数
AdToPparam001

将实测结果 (pSite->RealData [i]) 经单位换算(乘系数 MultData)和数据有效位设置后,放到指定的测试结果缓冲区,便于测试系统对结果分析判定

存储测试结果到数组

 工位数结果数组名
GetResultAll4Result

工位数一般与程序总工位一致

设定测试结果到指针,形成测试结果到测试界面

 结果对应指针名工位数被测同类参数序号结果数组名
LogResultAllVFB_Post40result
char *VFB Post ="VFB Post"; //指针定义,“VFB_Post”即测试项目名称 double results[4]={0.0}; //建立结果数组results FOVI_MeasureVSamp(0,Average_Value,0.01,200): //测试FOVI0的值 GetResultAll(4,results); //获取4个site的FOVI0(逻辑通道)的值并赋给results数组 LogResultAll(VFB Post,4,0,results); //把results这个数组内的值对应到VFB_Post指针,结果返回给软件输出到界面

获取指定工位测试结果

 工位号获取测试结果的数据
GetResult0Result

设定测试结果

 结果对应指针名工位号被测同类参数序号要赋值的测试结果
LogResultAllVFB_Post00result

获取当前 site 状态

 获取测试结果的数据
GetSiteState0(不测试)
1(测试)

返回 0X03 (00000011) 表示 site1、2 需要测试

设定当前 site 状态

 获取测试结果的数据
SetSiteState0(不测试)
1(测试)

设定 VI 源通道在虚拟示波器中的名称

 源类型电源通道号源名称
SetPinCfgFOVICH0“VIN”
FPVI
FHVI

AWG 函数

实现 AWG 功能的板卡:FPVI/FOVI/FHVI/HAD

程序结构:

      ・生成并载入波形

      ・采样与触发设置

      ・同步设置并输出

      ・单 / 多通道输出

      ・获取测量值

生成波形

生成斜波(均匀变化)

 输出数组名输出数据量开始值结束值
AWG_CreateRampDataRAMP1002.03.0

生成方波

 输出数组名输出数据量波峰值直流偏置值循环次数
AWG_CreateSquareDataRAMP1002.01.050

生成正弦波

 输出数组名输出数据量波峰值直流偏置值相位偏移
AWG_CreateSineDataRAMP1002.01.00

生成三角波

 输出数组名输出数据量波峰值直流偏置值相位偏移
AWG_CreateTriangleDataRAMP1002.01.00

载入波形

 通道波形名波形数组名波形数组数据量
FXVI_AwgLoaderFXVI_CH0RampDRAMP100

FOVI_AwgLoader (FOVI_CH0, RampD, RAMP, 100);// 载入 RAMP 中的波形数据到 FOVI 的 CH0 通道,命名为 RampD,输出点个数 100

配置输出波形

 通道输出点间隔 mS输出后采样前等待时间 mS采样数
FXVI_AwgSelectFXVI_CH00.5125
采样间隔 mS输出波形起始地址输出波形终止地址循环次数
0.010991

输出点间隔范围 5uS~50mS

循环次数默认为 1

输出点值大于 1000 时表示一直循环

简化模式:默认在输出间隔一半的时候开始进行采样,采样间隔 10us,起始地址为 0,终止地址为输出点数量 – 1,循环 1 次。

 通道输出点间隔 mS采样数输出点数量
FXVI_AwgSelectFXVI_CH00.11100

采样间隔 x 采样数≤输出点间隔 – 等待时间

FXVI_AwgSelect (FXVI_CH0, 0.5, 0.2, 25, 0.01, 0, 99, 1);

//AWG 输出间隔 0.5ms,输出后 0.2ms 开始采样,每次采样 25 次,采样间隔 0.01ms,输出波形从地址 0 开始到 99 结束,循环 1 次。

FXVI_AwgSelect (FXVI_CH0, 0.1, 1, 100);

//AWG 输出间隔 0.1ms,输出后 0.05ms 开始采样,每次采样 1 次,采样间隔 0.01ms,输出波形从地址 0 开始到 99 结束,循环 1 次

?? 采样和输出点区别

配置同步触发参数

 通道同步内容触发值 V/mA触发方式
FXVI_AwgSetTrigValFXVI_CH01/Current11/Pos_Edge
0/Voltage0/Neg_Edge

FXVI_AwgSetTrigVal (FXVI_CH1, Voltage, 4.0, Pos_Edge);//FXVI CH1 通道设置触发电压为 4.0V,上升沿触发。

设置同步触发通道

 通道是否开启同步
FXVI_AwgSetSyncFXVI_CH01/Sync_ON
0/Sync_OFF

对于设置了同步的通道,最好在 AWG 测试结束后对同步进行清零,防止因未清零导致下一次测试时误启动,若确定后面仍需启动,可以在最后一次结束时清零。

扫描波形触发

 触发通道输出通道(可以多个值)
AWG_RunTrigSyncAWG_FOVI0AWG_FOVI0, AWG_FPVI0

进行完整扫描,扫描结束并返回相应触发地址的值

输出最多可以设置 16 个通道,同一小板内的通道不能同时输出。

同类源逻辑通道可设置为 0~31,超出 31 的逻辑通道建议在用户程序中修改配置的逻辑通道顺序

扫描波形触发并保持

 触发通道输出通道(可以多个值)
AWG_RunTrigStopAWG_FOVI0AWG_FOVI0, AWG_FPVI0

在扫描过程中触发时停止扫描,保持此时的输出并返回相应的触发地址

AWG_RunTrigStop(AWG_FOVI0, AWG_FOVI0, AWG_FPVI1);

// 同时输出 FOVI 的 CH0 和 FPVI 的 CH1 的 AWG 波形,以 FOVI 的 CH0 为触发通道,触发后保持此时输出并返回相应触发地址的值

扫描波形触发并输出指定值

 输出值 V/mA触发通道输出通道(可以多个值)
AWG_RunTrigStopVal1AWG_FOVI0AWG_FOVI0, AWG_FPVI0

在扫描过程中触发时输出特定值,并返回相应的触发地址

AWG_RunTrigStopVal(0,AWG_FOVI0, AWG_FOVI0);

// 输出 FOVI 的 CH0 的 AWG 波形,以 FOVI 的 CH0 为触发通道,触发后输出通道输出 0V, 并返回相应触发地址的值

扫描波形触发并输出指定地址的值

 输出地址触发通道输出通道(可以多个值)
AWG_RunTrigStopNum1AWG_FOVI0AWG_FOVI0, AWG_FPVI0

在扫描过程中触发时输出指定地址对应的值,并返回相应的触发地址

AWG_RunTrigStopNum(1,AWG_FOVI0, AWG_FOVI0);

// 输出 FOVI 的 CH0 的 AWG 波形,以 FOVI 的 CH0 为触发通道,触发后输出通道输出 AWG 波形第 1 个点的电压值,并返回相应触发地址的值。

获取输出通道的值

 输出通道
AWG_RunTrigStopValFOVI_CH0

存储波形数据到数组

 测试工位测试通道数据类型数组名
AWG_RunTrigStopNumSITE1AWG_FOVI00/MV (电压)Results
1/MI (电流)

FOVI_AwgMeasResult(SITE1,FOVI_CH0, MI,results);

// 将 SITE1  FOVI 的 CH0 通道的 AWG 测试的电流数据获取出来,存储到 results 数组中。

FXVI 模式

脉冲工作模式时间:Tdelay= Tpulse* Iout (A) / 0.4

大电流脉冲依靠电容储能,需要恢复时间进行电容充电,充电电流 400mA

设置 FPVI 的状态,包括工作模式、电压量程或电流量程,但不输出

 通道模式电压档位电流档位钳位上限钳位下限
FXVI_setModeFXVI_CH0pFV/pFIpFPVI_5VpFPVI_10mA10-10

FOVI_setMode(FPVI_CH0,pFV,pFPVI_5V,pFPVI_10mA,10,-10)
//FPVI0 通道为输出电压模式;电压档位为 5V;电流档位为 10mA,电流钳位 – 10mA~10mA

设置电源通道的输出值

 通道输出值 (取决于 Mode 设置的模式)
FXVI_SetOutValFXVI_CH01V/1mA

缓慢输出电源通道的输出值

 通道开始值结束值耗时
FXVI_setOutValSlowFXVI_CH00V/0mA1V/10mA5mS

设置 site 的电源输出

 通道Site输出值
FXVI_SetOutValSiteFXVI_CH0SITE11V/1mA

加压模式下切换电流档位 / 加流模式下切换电压档位

 通道档位
FXVI_ChangeIRangFXVI_CH0pFXVI_1mA
FXVI_ChangeVRangpFXVI_5V

根据量程设置通道钳位值

 通道正钳位(百分比)负钳位
FXVI_SetClampFPVI_CH01060

FPVI_ChangeIRang (FPVI_CH0,pFPVI_1A);// FPVI0 通道电流档位为 1A

DelaymS(2);

FPVI_SetClamp (FPVI_CH0,10,60); //FPVI0 通道正钳位为 1A*10%=100mA;负钳位为 1A*60%=600mA

测量输出值

 通道
FXVI_MeasureVFPVI_CH0
FXVI_MeasureI

此函数默认采样 25 次,采样时间间隔 10uS

测量输出值

 通道模式采样间隔 mS采样次数
FXVI_MeasureVSamp   FXVI_MeasureISampFPVI_CH00/Average_Value0.01100
1/Max_Value
2/Min_Value

更改量程测输出电流

 通道电流量程测量等待时间
FXVI_MeasureIRSFPVI_CH0pFPVI_1mA5mS

测量完成后会更改回原有量程

设置响应速度

 通道响应速度
FXVI_RespondSelectFPVI_CH00(50uS)
1(200uS)
2(500uS)
3(1mS)

默认为 1,过快产生超调等需要减慢响应速度时使用

电源输出开关

 通道状态
FXVI_ConnectFPVI_CH00(关)
1(开)

板初始化

 通道
FXVI_InitFPVI_CH0

断开输出继电器并清零

使用步骤:

1. 使用前选定通道、模式、量程等 SetMode,需要延时至少 3ms 再进行其他操作

2. 输出设定的电压电流值 SetOutVal/SetOutValSlow/SetOutValSite,函数只设定了输出值,实际电压电流并没有完全加出来,需要增加相应的延时时间才能输出设定的值

3. 测量需要的信号 MeasureVSamp/MeasureISamp

4. 输出清除置零 SetOutVal/SetOutValSlow/SetOutValSite

5. 复位关闭 Init

CBIT

CBIT 参数总结:

RelayOn—— 列出的闭合,没列出的断开

RelaySetOn/RelaySetOff—— 列出的闭合 / 断开,没列出的保持原状

默认 —— 操作逻辑通道

S—— 操作物理通道

AB—— 合并 B 站的通道资源到 A 站使用

通断继电器 (逻辑通道)

 通道
CBIT_RelayOn-1
CBIT_ABRelayOn-1

设置需要闭合的用户继电器,以 – 1 结束,未列出的设置为断开。 操作继电器的逻辑通道

CBIT_RelayOn(–1);//断开每个site所有用户继电器。 CBIT_RelayOn(0,1,5,15,26,–1);//闭合每个site中0、1、5、15、26号用户继电器,断开其余用户继电器

通断继电器 (物理通道)

 通道
CBIT_SRelayOn-1
CBIT_ABSRelayOn-1

设置需要闭合的用户继电器,以 – 1 结束,未列出的设置为断开。 操作继电器的物理通道

闭合继电器

 通道
CBIT_RelaySetOn-1

设置需要闭合的用户继电器,以 – 1 结束,未列出的保持不变。 操作继电器的逻辑通道

断开继电器

 通道
CBIT_RelaySetOff-1

设置需要断开的用户继电器,以 – 1 结束,未列出的保持不变。 操作继电器的逻辑通道

继电器,以 – 1 结束,未列出的保持不变。 操作继电器的物理通道

DIO

设置 DIO 通道资源

 Site板(可多个)
DIO_SetChCfg30,1

DIO_SetChCfg (3,0,1);//// 将 DIO 第 1 块和第 2 块板分配给 site4

选通 PIN 脚

 管脚号(可多个)
DIO_SelPin-1

管脚以逗号分隔,以 – 1 结尾。未标注的 PIN 脚断开。如全断开则写 – 1

设置参考电平

 模块号 (0/1/2/3)VIHVILVOHVOL
DIO_SetVref06042

不同的模块要分别设置,电压范围 – 2~+8V

设置向量周期或频率

 单位
DIO_SetPatAdd100kHz

可选单位”MHZ”“KHZ”“HZ”“MS”“US”“NS”,实际有效设置范围 10kHz–5000kHz

设置向量运行时的参数

 驱动前沿时刻驱动后沿时刻比较前沿时刻比较后沿时刻单位管脚号列表
DIO_SetPatAdd0   

可选单位 “MHZ”、“KHZ”、“HZ”、“MS”、“US”、“NS”、”%”), 其中 “%” 以 SetClock 设置的值代表 100%。实际有效设置范围要根据 DIO_SetClock 设置值相适应

设置向量运行时的波形格式

 格式代码管脚号(可多个)
DIO_SetPatAdd0 

……

设置向量地址

 地址类别PAT 地址
DIO_SetPatAdd0 

载入向量

 向量类型载入次数向量字符串
DIO_SetPatAdd0 (字符串) 3 
1 (文件)

向量字符串,基本字符:1 0 H L X (驱动高低比较高低不关心或三态),空格或_作为分隔符,逗号作为向量行的分隔符,每一行向量最右边为 PIN0,从右到左依次增加。

运行向量

 运行次数起始地址结束地址
DIO_SetPatAdd1  

该函数执行不会等到向量运行结束再退出,因此执行后要添加 WAIT 时间等待,用户工程师要估算向量运行的时间等待,否则向量运行未结束就读取运行结果将会得到非真实的结果

循环运行向量

 起始地址结束地址
DIO_LoopPattern  

强制停止运行向量

 停止方式起始地址结束地址
DIO_StopPattern0(立即停止)  
1(运行完该次循环后停止)

获取运行向量结果

 模块号(0/1/2/3)
DIO_StopPattern0

返回值:0——PASS/1——FAIL

0XFFFF—— 向量正在运行

5(0101)——PIN0 PIN2 FAIL

获取运行向量 FAIL 结果

 模块号(0/1/2/3)
DIO_GetFailNumber0

返回值:

0——PASS

5——5 个管脚 FAIL

65535—— 向量正在运行

获取指定失效次数

 枚举定义板卡号枚举定义 PIN 脚
DIO_GetSelPinFailCount  
获取DIO_0 pin1的失效次数 Int count = 0; count = DIO_GetSelPinFailCount(DIO_Board0,Sel_Pin1); 获取DIO_0~1 pin0~7的失效次数 Int count = 0; count = DIO_GetSelPinFailCount(DIO_Board_Enum,DIO_PinSel_Enum); enum DIO_Board_Enum{ DIO_Board0 = 0,//DIO_0板卡 DIO_Board1 = 1 //DIO_1板卡 }; enum DIO _PinSel_Enum{ Sel_Pin0= 0,//Pin0 Sel_Pin1= 1,//Pin1 Sel_Pin2= 2,//Pin2 Sel_Pin3= 3,//Pin3 Sel_Pin4= 4,//Pin4 Sel_Pin5= 5,//Pin5 Sel_Pin6= 6,//Pin6 Sel_Pin7= 7 //Pin7 };

获取失效引脚对应 log 地址

 板卡号Pin 脚失效 patten 编号 (0~255)
DIO_GetSelPinFailLogAddrDIO_Board0Sel_Pin12
获取DIO_0 pin1的第2个失效pattern所对应的log存储地址。 intLogAddr= 0; LogAddr= DIO_GetSelPinFailLogAddr(DIO_Board0,Sel_Pin1,2)

设置 DIO I2C 总线

 Pin 脚
DIO_I2CSet0,1,2,3

管脚两两一组,代表总线 0~3 的 SCL 和 SDA,单 DIO 板上的 8 个 pin 脚最多分配 4 个 I2C 通道

物理 I2C 接口有两根双向线:串行时钟线(SCL)和双向串行数据线(SDA),可用于发送和接收数据,但是通信都是由主设备发起,从设备被动响应,实现数据的传输。SDA 负责在设备间传输串行数据,SCL 负责产生同步时钟脉冲

设置 I2C 总线周期或频率

 使用总线数量 (1~4)周期或频率值单位
DIO_I2CSet1  

可选单位”MHZ”、“kHZ”、“HZ”、“mS”、“uS”、“nS”),实际有效设置范围 10kHz –5000kHz

设置 I2C 通道时间参数

 总线通道号驱动前沿时刻驱动后沿时刻比较前沿时刻比较后沿时刻单位
DIO_I2CSetDelay0,1,2,30  

在设置时钟周期时会有默认的时间参数,在使用 I2C 总线时可以不用此函数进行设置,时间参数会影响 I2C 总线的运行

I2C 写功能??

 位宽选择设备地址数组寄存器数组
DIO_ IICWriteDataAllSyncSites0,1,2,30 

I2C 读功能??

TMU

TMU 初始化

 通道号
TMU_Init 0,1,2,3

设置 TMU 测量模式

 通道号测量模式输入阻抗(通常选 1)触发电压类型(通常选 0)触发释抑时间(输入值 * 10ns)触发电压 1触发电压 2测量范围 
TMU_SetMode0,1,2,300(低输入阻抗 50Ω)0/LV(低电压≤10V)20 不用到时建议与 TGV1 相同100
1/HV(高电压>10V)
1/HR(高输入阻抗 1MΩ)pFilter_200nspLowAccuracy
2(高速测量且 < 2V)

测量模式:

  • 0 (pTMU_Frequency/MF)— 测量频率 (KHZ), 触发与 TGV1 有关,用上升沿或下降沿测量。
  • 1 (pTMU_Cycle)— 测量周期 (mS), 触发与 TGV1 有关,用上升沿或下降沿测量。
  • 2 (pTMU_HighLevel/MHT)— 高电平宽度 (mS), 触发与 TGV1 有关
  • 3 (pTMU_LowLevel/MLT)— 低电平宽度 (mS), 触发与 TGV1 有关
  • 4 (pTMU_Rise)— 上升沿时间 (mS), 触发与 TGV1–>TGV2 有关,设置时 TGV1<TGV2.
  • 5 (pTMU_Drop)— 下降沿时间 (mS), 触发与 TGV1–>TGV2 有关,设置时 TGV1>TGV2.
  • 6 (pTMU_RiseToRise)、7 (pTMU_RiseToDrop)、8 (pTMU_DropToRise) 、9 (pTMU_DropToDrop)— 通道内 Start 信号、Stop 信号触发时间差(测两个不同事件触发延时时间)。触发与 TGV1–>TGV2 有关,TGV1 设置通道 Start 信号,TGV2 设置通道 Stop 信号。6–上升沿到上升沿 PP; 7–上升沿到下降沿 PN; 8 – 下降沿到上升沿 NP;9 – 下降沿到下降沿 NN;
  • 11 (pTMU_DutyCycle)— 测量占空比。

触发释抑时间为输入值 * 10ns,如 10 均表示 100ns,也可输入 pFilter_100ns

测量范围默认选择低速模式,该值一般要设置成小于实际频率值或大于被测信号的最长时间。当频率大于 1M(时间参数小于 1uS)时,系统自动选择高速模式测量。也可用枚举量 pLowAccuracy /pHighAccuracy 选择低速或高速模式

TMU 测量

 通道号
TMU_Measure0,1,2,3

多次 TMU 测量求平均值

 通道号采样等待时间 mS采样次数
TMU_MeasureAver0,1,2,3  

取指定周期的时间参数

 通道号周期数
TMU_StartNumber0,1,2,33

开始测试并清除历史数据

 通道号
TMU_Start0,1,2,3

结束测试并清除历史数据

 通道号
TMU_Stop0,1,2,3

精测测量单个波形

 通道号
TMU_TDC_Init0,1,2,3

用于精测测量模式测量单个波形参数,待测时间长度一般不大于 1us。放在波形到来前

返回精测单个波形结果

 通道号
TMU_TDC_Measure0,1,2,3

用于精测测量模式测量单个波形参数,待测时间长度一般不大于 1us。放在波形到来后

TMU_SetMode(CH0,pTMU_RiseToRise,pImpedance_1MOhm, pTMU_Vrange_10V,pFilter_0ns,3,5,pHighAccuracy); TMU_TDC_Init(CH0); DelaymS(2); TMU_TDC_Measure(CH0); //0通道使用高速低压模式测量两个波形信号上升沿时间差,第一个信号触发电压3V,第二个信号触发电压5V。

在一定时间内对波形计数

 通道号时间(0.01~200mS)
TMU_WaveCountStart0,1,2,3 

放在 TMUSetmode 后、波形前.。波形计数时 TMU 的测量模式只能是上升沿模式或者下降沿模式,精度模式为低速

返回波形计数的数量

 通道号
TMU_WaveCountMeasure0,1,2,3
TMU_SetMode(CH0,pTMU_Rise,pImpedance_1MOhm,pTMU_Vrange_10V,pFilter_100ns,2,4,pLowAccuracy); DelaymS(2); TMU_WaveCountStart(CH0,1); DelaymS(1); TMU_WaveCountMeasure(CH0); //0通道统计1ms内波形的数量。

清除抖频中的地址、数据信息

 通道号
TMU_RamAddClear0,1,2,3

获取指定地址的测量结果

 地址(0~1023)
TMU_RamAddClear0,1,2,3

抖频可以测量不规范波形的时间参数,此函数放置在波形到来之后。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇