![]() |
第三代测试机编程手册
1.0
|
TMU操作接口. 更多...
枚举 | |
enum | E_TMU_CH { TMU_CH0 = 0 , TMU_CH1 } |
TMU的通道选择 更多... | |
enum | E_TMU_PORT { TMU_PORT_PTIO = 0 , TMU_PORT_MMCX } |
TMU的输入接口选择 更多... | |
enum | E_TMU_RES { TMU_RESIS_1MR = 0 , TMU_RESIS_50R } |
阻抗选择 更多... | |
enum | E_TMU_GAIN { TMU_GAIN_G2 = 0 , TMU_GAIN_G10 } |
增益选择,主要是为了限制电压 更多... | |
enum | E_TMU_TRIG { TMU_TRIG_Falling = 0 , TMU_TRIG_Rising } |
触发方式 更多... | |
enum | E_TMU_MEAWAY { TMU_MEAWAY_T = 0 , TMU_MEAWAY_M } |
测量方法 更多... | |
enum | E_TMU_MODE { TMU_MODE_OFF = 0 , TMU_MODE_PERIOD , TMU_MODE_DUTY , TMU_MODE_PULSE , TMU_MODE_TIME , TMU_MODE_MUX , TMU_MODE_SPIKE , TMU_MODE_MAXMINFRE , TMU_MODE_TIMELY } |
TMU测量模式 更多... | |
enum | E_TMU_SEQ { TMU_MUX_CH0S = 0 , TMU_MUX_CH1S } |
混合测量模式下,指定测量顺序 更多... | |
enum | E_TMU_CMP { TMU_CMP_START = 0 , TMU_CMP_END } |
VTL或者VTH 更多... | |
enum | E_TMU_STATE { TMU_LOW = 0 , TMU_HIGH } |
电平状态 更多... | |
函数 | |
void | TMU_Reset (void) |
TMU设置为复位状态 | |
void | TMU_Enable (E_TMU_CH ch) |
开启TMU通道 | |
void | TMU_Disable (E_TMU_CH ch) |
关闭TMU通道 | |
void | TMU_SetInputPort (E_TMU_PORT port) |
设置信号输入端口. 该函数内置2ms延时. | |
void | TMU_ChannelConfig (E_TMU_CH ch, E_TMU_RES resis, E_TMU_GAIN gain) |
配置一个通道的阻抗和增益 | |
void | TMU_SetFilter (E_TMU_CH ch, uint16_t ns) |
设置触发比较器的抖动滤波时间 | |
void | TMU_MeasurePeriodTway (E_TMU_CH ch, E_TMU_TRIG startTrig, float startTrig_mv, uint32_t measureTime_us) |
T法测量周期的配置函数.T法是指:指定测量时间进行测量.一般用于知道周期信号持续时间的情况 | |
void | TMU_MeasurePeriodMway (E_TMU_CH ch, E_TMU_TRIG startTrig, float startTrig_mv, uint16_t measureCount) |
M法测量周期的配置函数. M法是指:指定测量脉冲个数进行测量.一般用于大概知道有多少个脉冲的情况. | |
void | TMU_MeasureDutyTway (E_TMU_CH ch, E_TMU_TRIG startTrig, float startTrig_mv, uint32_t measureTime_us) |
T法测量占空比的配置函数.T法是指:指定测量时间进行测量.一般用于知道周期信号持续时间的情况 | |
void | TMU_MeasureDutyMway (E_TMU_CH ch, E_TMU_TRIG startTrig, float startTrig_mv, uint16_t measureCount) |
M法测量占空比的配置函数.M法是指:指定测量脉冲个数进行测量.一般用于大概知道有多少个脉冲的情况. | |
void | TMU_MeasurePulse (E_TMU_CH ch, E_TMU_TRIG startTrig, float startTrig_mv, uint32_t measureTime_us) |
测量脉冲个数 | |
void | TMU_MeasureTime (E_TMU_CH ch, E_TMU_TRIG startTrig, float startTrig_mv, E_TMU_TRIG endTrig, float endTrig_mv) |
测量 startTrig 和 endTrig 之间的时间 | |
void | TMU_MeasureMux (E_TMU_SEQ chSequence, E_TMU_TRIG muxFirstTrig, float muxFirstTrig_mv, E_TMU_TRIG muxSecondTrig, float muxSecondTrig_mv) |
双通道混合测量测量.可用于测量相位差之类的.测得时间为: 先触发通道触发时刻 和 后触发通道触发时刻 之间的时间 | |
void | TMU_MeasureSpike (E_TMU_CH ch, float LTrig_mv, float HTrig_mv, uint32_t measureTime_us) |
尖峰测量模式,判断在指定电压区间是否出现过信号 | |
void | TMU_MeasureMaxMinFre (E_TMU_CH ch, E_TMU_TRIG startTrig, float startTrig_mv, uint16_t measureCount) |
测量一个频率不固定的信号中的最大频率端和最小频率端 | |
void | TMU_MeasureTimely (E_TMU_CH ch, E_TMU_TRIG stopTrig, float stopTrig_mv) |
测量从调用 TMU_TriggerMeasure 到设置的触发条件的时间 | |
void | TMU_MeasureDisable (E_TMU_CH ch) |
禁止通道 ch 进行测量 | |
void | TMU_MeasureTrigger (uint16_t timeout_ms) |
触发一次测量.使用该函数,会让调用上面函数配置为了某种测量模式的通道进行测量. 如果只想有一个通道进行测量,可以使用 TMU_MeasureDisable 禁止某个通道的测量. 测量结束之后,通道的配置参数不会发生改变,可以继续使用该函数开启触发下一次测量. | |
float | TMU_GetMeasureResult (E_TMU_CH ch, uint8_t unit, uint8_t *err) |
读取测量结果.该函数会进入阻塞状态. 最大阻塞时间 | |
float | TMU_GetDuty (E_TMU_CH ch, uint8_t *err) |
获取测量的占空比 | |
uint32_t | TMU_GetPulse (E_TMU_CH ch, uint8_t *err) |
获取脉冲个数 | |
uint8_t | TMU_GetSpike (E_TMU_CH ch, uint8_t *err) |
获取尖峰测量模式下的尖峰状态 | |
void | TMU_GetMaxMinFre (E_TMU_CH ch, float *maxFre, float *minFre, uint8_t *err) |
获取一个信号的最大频率和最小频率 | |
E_TMU_STATE | TMU_GetLevelStatues (E_TMU_CH ch, E_TMU_CMP cmps) |
获取比较器的电压 | |
E_TMU_GAIN | TMU_GetGainStatues (E_TMU_CH ch) |
获取ch 当前设置的增益系数 | |
void | TMU_Test (void) |
TMU操作接口.
enum E_TMU_CH |
enum E_TMU_PORT |
enum E_TMU_RES |
enum E_TMU_GAIN |
enum E_TMU_TRIG |
enum E_TMU_MEAWAY |
enum E_TMU_MODE |
TMU测量模式
enum E_TMU_SEQ |
enum E_TMU_CMP |
enum E_TMU_STATE |
void TMU_Reset | ( | void | ) |
TMU设置为复位状态
void TMU_Enable | ( | E_TMU_CH | ch | ) |
void TMU_Disable | ( | E_TMU_CH | ch | ) |
void TMU_SetInputPort | ( | E_TMU_PORT | port | ) |
void TMU_ChannelConfig | ( | E_TMU_CH | ch, |
E_TMU_RES | resis, | ||
E_TMU_GAIN | gain | ||
) |
void TMU_SetFilter | ( | E_TMU_CH | ch, |
uint16_t | ns | ||
) |
设置触发比较器的抖动滤波时间
ch | E_TMU_CH |
ns | 滤波时间,单位ns,
|
void TMU_MeasurePeriodTway | ( | E_TMU_CH | ch, |
E_TMU_TRIG | startTrig, | ||
float | startTrig_mv, | ||
uint32_t | measureTime_us | ||
) |
T法测量周期的配置函数.T法是指:指定测量时间进行测量.一般用于知道周期信号持续时间的情况
ch | 要进行测量的通道 E_TMU_CH |
startTrig | 开始触发的方式 E_TMU_TRIG |
startTrig_mv | 开始触发的电平,单位mv.
|
measureTime_us | 测量持续时间.最后的测量结果 = measureTime_us / 测得的周期数.
|
void TMU_MeasurePeriodMway | ( | E_TMU_CH | ch, |
E_TMU_TRIG | startTrig, | ||
float | startTrig_mv, | ||
uint16_t | measureCount | ||
) |
M法测量周期的配置函数. M法是指:指定测量脉冲个数进行测量.一般用于大概知道有多少个脉冲的情况.
ch | 要进行测量的通道 E_TMU_CH |
startTrig | 开始触发的方式 E_TMU_TRIG |
startTrig_mv | 开始触发的电平,单位mv.
|
measureCount | 测量周期数.最后的测量结果 = 总耗费时间 / measureCount |
void TMU_MeasureDutyTway | ( | E_TMU_CH | ch, |
E_TMU_TRIG | startTrig, | ||
float | startTrig_mv, | ||
uint32_t | measureTime_us | ||
) |
T法测量占空比的配置函数.T法是指:指定测量时间进行测量.一般用于知道周期信号持续时间的情况
ch | 要进行测量的通道 E_TMU_CH |
startTrig | 开始触发的方式 E_TMU_TRIG |
startTrig_mv | 开始触发的电平,单位mv.
|
measureTime_us | 测量持续时间
|
void TMU_MeasureDutyMway | ( | E_TMU_CH | ch, |
E_TMU_TRIG | startTrig, | ||
float | startTrig_mv, | ||
uint16_t | measureCount | ||
) |
M法测量占空比的配置函数.M法是指:指定测量脉冲个数进行测量.一般用于大概知道有多少个脉冲的情况.
ch | 要进行测量的通道 E_TMU_CH |
startTrig | 开始触发的方式 E_TMU_TRIG |
startTrig_mv | 开始触发的电平,单位mv.
|
measureCount | 测量持续周期数 |
void TMU_MeasurePulse | ( | E_TMU_CH | ch, |
E_TMU_TRIG | startTrig, | ||
float | startTrig_mv, | ||
uint32_t | measureTime_us | ||
) |
测量脉冲个数
ch | 要进行测量的通道 E_TMU_CH |
startTrig | 开始触发的方式 E_TMU_TRIG |
startTrig_mv | 开始触发的电平,单位mv.
|
measureTime_ms | 测量持续时间
|
void TMU_MeasureTime | ( | E_TMU_CH | ch, |
E_TMU_TRIG | startTrig, | ||
float | startTrig_mv, | ||
E_TMU_TRIG | endTrig, | ||
float | endTrig_mv | ||
) |
测量 startTrig 和 endTrig 之间的时间
ch | 要进行测量的通道 E_TMU_CH |
startTrig | 开始触发的方式 E_TMU_TRIG |
startTrig_mv | 开始触发的电平,单位mv.
|
endTrig | 结束触发的方式 E_TMU_TRIG |
endTrig_mv | 开始触发的电平,单位mv.
|
void TMU_MeasureMux | ( | E_TMU_SEQ | chSequence, |
E_TMU_TRIG | muxFirstTrig, | ||
float | muxFirstTrig_mv, | ||
E_TMU_TRIG | muxSecondTrig, | ||
float | muxSecondTrig_mv | ||
) |
双通道混合测量测量.可用于测量相位差之类的.测得时间为: 先触发通道触发时刻 和 后触发通道触发时刻 之间的时间
chSequence | 指定两个通道触发的先后顺序. E_TMU_CH |
muxStartTrig | 先触发通道的触发方式 |
muxStartTrig_mv | 先触发通道的触发电压值, 请注意,**不是**固定为TMU0的触发电压值
|
muxEndTrig | 后触发通道的触发方式 |
muxEndTrig_mv | 后触发通道的触发电压值
|
void TMU_MeasureSpike | ( | E_TMU_CH | ch, |
float | LTrig_mv, | ||
float | HTrig_mv, | ||
uint32_t | measureTime_us | ||
) |
尖峰测量模式,判断在指定电压区间是否出现过信号
ch | 通道号 |
LTrig_mv | 低阈值 |
HTrig_mv | 高阈值. 如果LTrig_mv > HTrig_mv 将会自动交换两者的值 |
measureTime_us | 指定测量时间 |
void TMU_MeasureMaxMinFre | ( | E_TMU_CH | ch, |
E_TMU_TRIG | startTrig, | ||
float | startTrig_mv, | ||
uint16_t | measureCount | ||
) |
测量一个频率不固定的信号中的最大频率端和最小频率端
ch | |
startTrig | 开始触发的方式 E_TMU_TRIG |
startTrig_mv | 开始触发的电平,单位mv. |
measureCount | 测量的周期数,比如一个信号最大周期10, 应该设置为 不大于 最大周期-1 |
void TMU_MeasureTimely | ( | E_TMU_CH | ch, |
E_TMU_TRIG | stopTrig, | ||
float | stopTrig_mv | ||
) |
测量从调用 TMU_TriggerMeasure 到设置的触发条件的时间
ch | |
stopTrig | 结束测量的触发方式 |
stopTrig_mv | 结束测量的触发电平 |
void TMU_MeasureTrigger | ( | uint16_t | timeout_ms | ) |
触发一次测量.使用该函数,会让调用上面函数配置为了某种测量模式的通道进行测量. 如果只想有一个通道进行测量,可以使用 TMU_MeasureDisable 禁止某个通道的测量. 测量结束之后,通道的配置参数不会发生改变,可以继续使用该函数开启触发下一次测量.
timeout_ms | 进行测量的超时时间.这里只是指定超时时间,该函数不会阻塞. 在调用 TMU_GetMeasureResult 读取测试结果时.会进入阻塞状态.直到读取测量通道返回结果或者超过该超时时间.
|
float TMU_GetMeasureResult | ( | E_TMU_CH | ch, |
uint8_t | unit, | ||
uint8_t * | err | ||
) |
读取测量结果.该函数会进入阻塞状态. 最大阻塞时间
ch | 要读取结果的通道 |
unit | 单位 TMU_MODE_DUTY和TMU_MODE_PULSE模式下单位无效 |
TUNIT_NS = 纳秒(ns)
err | 返回错误标志 |
float TMU_GetDuty | ( | E_TMU_CH | ch, |
uint8_t * | err | ||
) |
获取测量的占空比
ch |
uint32_t TMU_GetPulse | ( | E_TMU_CH | ch, |
uint8_t * | err | ||
) |
获取脉冲个数
ch |
uint8_t TMU_GetSpike | ( | E_TMU_CH | ch, |
uint8_t * | err | ||
) |
获取尖峰测量模式下的尖峰状态
ch |
void TMU_GetMaxMinFre | ( | E_TMU_CH | ch, |
float * | maxFre, | ||
float * | minFre, | ||
uint8_t * | err | ||
) |
获取一个信号的最大频率和最小频率
ch | |
maxFre | (out)返回最大频率值 |
minFre | (out)返回最小频率值 |
E_TMU_STATE TMU_GetLevelStatues | ( | E_TMU_CH | ch, |
E_TMU_CMP | cmps | ||
) |
E_TMU_GAIN TMU_GetGainStatues | ( | E_TMU_CH | ch | ) |