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

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

评论

  1. 半苦超人
    Windows Edge 127.0.0.0
    3 月前
    2024-8-20 9:38:29

    可以再详细一点吗?

    • 博主
      半苦超人
      Linux Chrome 109.0.5414.118
      3 月前
      2024-8-29 22:07:09

      百度文库和CSDN有详细手册资源,我这里只是帮助自己理解记忆用的。

发送评论 编辑评论


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