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.
我想在 F28335中使用 ADC 的同步采样模式。 目前、我已将其设置为进行顺序采样。 转换开始按如下方式触发:
ADC A:由 ePWM1触发
ADC B:由 ePWM3触发
ADC A 和 B 发布它们自己的中断。 那么、我的问题是、它们在各自的 ISR 中进行了相应的采样、对吧?
那么、如果我使用同步采样模式、因为两个 ADC 将一起采样、我是否应该在单个 ISR 中对这两个 ADC 进行采样? 此外、中断是否应由 ADC A 或 ADC B 生成? 如果我的问题没有意义、请原谅并提供帮助。
Devin、我仍然不清楚这一点。 我将介绍四种情景和方法来描述工作流。 请告诉我它是否正确、如果错误、请更正。
情况1. ePWM 1触发 SOC A、ePWM 3触发 SOC B。触发间隔为5us。 启用同步采样。
SOC A 到达时。
ADC A 采样值 A0、B0、A1、B1和 A2、B2由于同时采样被启用、即使 SOC B 尚未到达也是如此。
2.当任一 ADC 中的转换完成时发出中断。 所有六个通道的结果都根据需要发送到变量。
3.5uS 之后、SOC A、SOC B 到达。 然后重复步骤2和3。
情况2. ePWM 1同时触发 SOC A 和 SOC B。启用同步模式。
SoC A 和 SOC B 到达一起。 通道 A0、B0、A1、B1、A2和 B2按上述顺序进行采样。
2.发出中断。 值被传输到变量。
情况3. ePWM 1触发 SOC A 和 ePWM 3 SOC B。触发器间隔为5us。 启用顺序采样模式。
SoC A 到达并对 A0、A1和 A2进行采样。 ADC B 未采样。
2、ADC A 的 EOS 发出中断。A0、A1和 A2的值被传输到变量中。
SoC B 的到达时间比 SOC A 晚5us。对 B0、B1和 B2进行采样。 ADC A 未采样。
4、ADC B 的 EOS 发出中断。来自 B0、B1和 B2的值被传输到变量。
情况4. ePWM1触发 SOC A 和 SOC B。启用顺序模式。
SoC A 和 SOC B 到达。 按上述顺序对 A0、A1、A2、B0、B1和 B2进行采样。
2.为任一 ADC 的 EOS 布置中断、并且值从全部六个通道传输到所需的变量。
我认为我目前正在使用案例3、我打算转到案例2。 请澄清我的解释是否错误。
此外、如果我的理解正确、ADC 有以下模式:
顺序模式
2.同步采样模式
a. 2个序列发生器、每个都有8个值
b. 1个具有16个值的级联序列发生器
我的问题是、如果我对这些模式的理解是正确的、那么顺序模式和具有级联序列发生器的同步模式之间有何区别?
您好、Rohit、
查看案例3:
情况3. ePWM 1触发 SOC A 和 ePWM 3 SOC B。触发器间隔为5us。 启用顺序采样模式。
SoC A 到达并对 A0、A1和 A2进行采样。 ADC B 未采样。
2、ADC A 的 EOS 发出中断。A0、A1和 A2的值被传输到变量中。
SoC B 的到达时间比 SOC A 晚5us。对 B0、B1和 B2进行采样。 ADC A 未采样。
4、ADC B 的 EOS 发出中断。来自 B0、B1和 B2的值被传输到变量。
SOCA 无需仅触发通道。 您可以轻松地执行以下操作:
SoC A 到达并对 A0、B3和 A1进行采样(顺序)。
如果您在 ADC 用户指南(spru812a)中查看通道选择寄存器、您会发现您实际上可以选择任何通道:
现在、在顺序模式下、您还可以采样:
SoC A 到达且对 A2、B2、A5、B5进行采样(顺序)。
A2和 B2在时间上会相当接近、但并不相同。 相反、如果您配置为同步模式、则可以执行相同的操作:
SoC A 到达且对 A2、B2、A5、B5进行采样(同时对 A2+B2和 A5+B5进行采样)。
现在、您的 A2和 B2样本会在同一时刻采集、这对于某些应用而言是有利的。 但是、您会失去不对 A 和 B 通道对进行采样的灵活性(例如、您无法进行 A2、B2、A5、B7)。
现在、就 SOCB 触发器的用途而言、您可以使用它对同一组信号进行采样、也可以使用它对完全不同的信号集进行采样。 这两种配置都是有效的配置(顺序模式):
案3a. ePWM 1触发 SOC A 和 ePWM 3 SOC B。触发器间隔为5us。 启用顺序采样模式。
SoC A 到达并 对 A0、B1和 B7进行采样。
2、ADC SOC A 的 EOS 发出中断。A0、B1和 B7的值被传输到变量。
SoC B 的到达时间比 SOC A 晚5us。A0、B1和 B7将再次采样。
4、ADC SOC B 的 EOS 发出中断。A0、B1和 B7的值 被传输到变量。
案件3b。 ePWM 1触发 SOC A 和 ePWM 3 SOC B。触发器间隔为5us。 启用顺序采样模式。
SoC A 到达并 对 A0、B1和 B7进行采样。
2、ADC SOC A 的 EOS 发出中断。A0、B1和 B7的值被传输到变量。
SoC B 的到达时间比 SOC A 晚5us。对 A5、B5和 B0进行采样。
4、ADC SOC B 的 EOS 发出中断。来自 A5、B5和 B0的值 被传输到变量中。
3a 和3b 之间的区别在于通道选择的配置方式。
Devin、您好、这会使事情清除很多。 下面我要谈最后一个问题:
我想在 t=0时同时对 ADC A0、B0和 ADC A2、B2进行采样。
2.我想在假设时间 t=5us 时同时对 ADC A1和 B1采样。
我的问题是、如何配置寄存器、SOC A 会对 A0、B0和 A2、B2进行采样、而 SOC B 会对 A1和 B1进行采样。 由于我需要对、根据我的描述、需要同步采样、这一点非常清楚。
以上就是我一直想做的事情。
您好、Rohit、
查看 示例1-1。 ADC 用户指南(http://www.ti.com/lit/ug/spru812a/spru812a.pdf)中的"同步采样双序列发生器模式示例"
你(们)好 Devin。 感谢您的解释。 因此、这意味着当 SOC 触发器到达时(无论是 SOC A 还是 SOC B)、最多可以进行16次转换。 现在、要进行这些转换的 ADC 通道由十六个4位 CONVnn 位字段的内容决定、该过程从 CONV0指向的通道的转换开始、到 CONV15中的通道转换结束 (或更快地将 MAXCONV 设置为小于15)。 这些通道可以是 A0到 B7之间的任何值。 产生的中断来自 SOC A 或 SOC B (以启动转换的触发器为准)。
现在、在上面描述的案例2中、ePWM1同时触发 SOC A 和 SOC B。如果 SOC A 要采样、例如 A0、A1、B0、B1、 而 SOC B 设置为采样 A2、B2、A3、B3。 由于 SOC A 和 SOC B 同时到达、那么对哪些通道进行采样? 哪个 SOC 优先、或者一个 SOC 被完全忽略?
我还注意到有一个 ADCINT 中断、它在 PIE 表中的 x=1、y=6。 当 x=1、y=1和 x=1、y=2有两个序列发生器中断时、该中断的作用是什么? 请解释一下?