This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
尊敬的所有人:
勘误表:
尊敬的 Luis:
我对延迟响应表示歉意、但我对其他问题感到困惑。
我对您的表有一些问题:
你是如何获得这些读数的? 您是否正在进行任何实际测试、还是它们只是理论值?
另外、我建议您参考以下主题、这里我提供了有关如何准确计算总转换的详细过程。
(+) TMS570LS0714:其中一个输入信号的 ADC 采样时间-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
——
谢谢、此致、
Jagadish。
尊敬的 Jagadish:
感谢您的答复。
>>如何获得这些读数? 您是否正在进行任何实际测试、还是它们只是理论值?
实际测试。
我使用下面介绍的主题帖中所述的过程获得了结果、以便于访问:
在 ISR 中、将收集输出代码范围0..4095中的 ADC 转换值(推送到缓冲器)、并在单独的控制线程中转换为工程值、然后打包成消息进行传输、解压缩并最终按照时间序列绘制、包括两个传感器"电机"和"总线"的电流与时间的关系。
>>另外,我建议你参考下面的线程,这里我给出了详细的过程,确切的总转换应该是如何计算的。
我进行了上述过程中的总转换计算(也使用我们的 HALCoGen 项目)和 我 在该线程中存在的计算(基于 SPNA118B)之间的映射。 可以从映射中获得以下注释:
- 我不知道 tScan 值,因此我忽略了系统 tScan = 62.5e-9s 产生3*tScan 从4通道的总转换时间
-表中的"放电时间"等于过程中的 tDischarge—两个结果都适用于单个通道
-表中的"采样时间+转换"等于过程中的 tSample+tConversion -这两个结果都适用于单个通道;我使用了 tConversion (12位)= 12 * cycleTime、HALCoGen 计算使用 tConversion (12位)=(12 + 1)* cycleTime;cycleTime 等于 此线程中的 tc_ADCLK。
-表中的"组时间"等于过程中的总转换时间;我使用以下重新排列的计算来使用过程中的术语:
- totalTime = channels *(tExtended + tConversion)+(Channels - 1)* tScan with:Channels=4、tExtended = tSample+tDischarge and tScan=0s
结论:如果我的理解和计算正确、除了由 tScan=0和乘以13引起的系统误差外、使用的计算在该过程中是正确的。 系统误差为 4*cycleTime + 3*tScan = 4*100e-9 + 3*62.5e-9=587.5e-9s
尊敬的 Luis:
实用测试。
是否可以从您的末端设置一个实时调试会话
我想查看您为找出这些结果而执行的过程。 如果我在程序中有任何其他疑问,那么我可以问你,并在那里得到澄清。
——
谢谢、此致、
Jagadish。
尊敬的 Jagadish:
感谢您的答复。
我不确定我是否能够设置实时调试会话。 您能否说明一下它是什么?
谢谢!
此致、
Luis
我不确定是否能够设置实时调试会话。 您能否说明一下它是什么?
是否可以在电话中分享您的屏幕并向我解释您如何计算这些读数?
尊敬的 Jagadish:
是的。 我在时区 UTC+1。 请告诉我设置通话所需的内容。
总之、在调用之前、我想介绍一下用于生成之前文章中介绍的计算结果的代码、其中使用了 HALCoGen 中提供的信息 和您的说明。
我在下面共享脚本+函数、我使用这些函数来计算表中提供的信息(并在我之前的帖子中进行了介绍)。
如果您要查找的计算结果有没有解释、请告诉我。
% Script % Constants cycleTime = 100e-9; % In s; ADC cycle time from HALCoGen proj.; f_vclk = 80 MHz, PS = 7; f_adc = f_vclk / (PS+1) = 80 MHz / 8 = 10 MHz => 100e-9 resolution = 12; % In bits; ADC data resolution channels = 4; % In channels; Number of ADC channels to be converted tScan = 62.5e-9; % In s; From HALCoGen proj. groupCycleTime = 34e-6; % ISR period; within the ISR handler the ADC group converted output codes and collected and pushed to buffer % Input values (just an example) EV_SAMP_DIS_CYC = 1; % Csamp discharge time, in ADC cycles EV_ACQ = 34; % Sample window, in ADC cycles tSample = f_calc_adcChSampleTime(cycleTime,EV_ACQ); % In s tConversion = f_calc_adcChConversionTime(cycleTime,resolution); % In s tDischarge = f_calc_adcChnCsampDischargeTime(cycleTime,EV_SAMP_DIS_CYC); % In s tExtended = tDischarge + tSample; % In s tTotal = f_calc_adcConversionTotalTime(tExtended,tConversion,tScan,channels); % In s % Functions function conversionTime = f_calc_adcChConversionTime(cycleTime, resolution) conversionTime = (resolution + 1) * cycleTime; % "+1" is from HALCoGen project calculation end function sampleTime = f_calc_adcChSampleTime(cycleTime,EV_ACQ) % ADEVSAMP register field EV_ACQ in ADC clck cycles; TRM SPNU515C, p1007 sampleTime = cycleTime * (EV_ACQ + 2); end function dischargeTime = f_calc_adcChnCsampDischargeTime(cycleTime, EV_SAMP_DIS_CYC ) % ADEVSAMPDISEN register field EV_SAMP_DIS_CYC in ADC clck cycles; TRM SPNU515C, p1039 dischargeTime = EV_SAMP_DIS_CYC * cycleTime; end function totalTime = f_calc_adcConversionTotalTime(tExtended,tConversion,tScan,channels) totalTime = channels * (tExtended + tConversion) + (channels - 1) * tScan; end