![]() |
|
第三代测试机编程手册
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 | ) |