主题中讨论的其他器件:HALCOGEN
您好!
我尝试使用 HDK 上的 ADC 从电流传感器中读取电压。 我发现、当任何通道读取0.5-4.5V 范围之外的电压时、ESM 将发出第3组 FMC 不可纠正的错误信号并触发 nERROR 引脚。 然后、需要通过一个上电复位来清除它。 我已经隔离了该行为、并在下面附加了一个示例 MAIN 和 HCG DIL 文件。
在该文件中、您将注意到我进行的转换如下所示:
adcStartConversion(currentSensorAdcHandle_, currentSensorAdcLowGroup_); /* Wait for conversion to complete. */ // while ((adcIsConversionComplete(adcREG1,adcGROUP1))==0); <--- TRIGGERS A FAIL // i = adcIsFifoFull(currentSensorAdcHandle_, currentSensorAdcLowGroup_); <--- TRIGGERS A FAIL while (i < 1000) { i++; } /* Read the data. */ adcRet = adcGetData(currentSensorAdcHandle_, currentSensorAdcLowGroup_, &adcOutBuf);
如果我使用 adcIsConversionComplete ()或 adcIsFifoFull ()等函数来检查状态,甚至只是在循环时延迟,就会触发 ESM 错误。 在我的原始代码中,我使用的是在 adcnotification ()中发布的一个 FRTOS 信标,但这也引发了问题。
重现步骤:
1.将电压设置为2.47V 至 ADC1 CH0和 CH1。
2.构建二进制文件并将其刷写到 HDK 上
3.应正常读取电流值(预计约为-1、不应触发 nERROR)。
4.在施加新电压之前暂停执行
向 ADC1 CH0施加4.95V 的电压。 (电流传感器低灵敏度通道)
6. 向 ADC1 CH1施加2.85的电压。 (电流传感器高灵敏度通道)
7.恢复代码;应触发 nERROR 引脚、且 ESM SR G3应读取0x80。 仍应能够读取电流(预期~92)
8.代码应该继续执行而不会有任何问题,但是要清除 nERROR 板必须是 PORRST。 RST 不应清除 nERROR 引脚(符合技术手册预期)
请告诉我您是否可以重现此行为。 谢谢。