Other Parts Discussed in Thread: TMS320F28075
你(们)好!
我们在我们的医疗应用系统中使用 TMS320F28075。
在我们的系统中、我们从所有 ADC 通道以40kHz SOC 触发。 EOC 触发具有最高中断优先级的 ADCA1中断。 在此范围内、将实施中断电流控制。 目前、我们每次进入 ADCA1 ISR 时都从 ADC 读取寄存器的结果。 我们将使用 ADCA/ADCB 并用于每个7个通道。
为了进一步改进、我们考虑实施 DMA 控制器、而不是在每个 ISR 中读取寄存器。 理想情况下、我们不必使用 DMA 读取和验证 ADC 结果。 但我们看到的问题是、为了进行验证、我们需要获取优先级较低的 DMA_CHX 中断、因此会完全减慢系统的速度。 这将是一个杀手。 另一种选择是使用来自 DMA 的 Channel1、并继续将 ADC 结果传输到目标地址范围、然后使用这些值而不选中它。 因此、我们只信任 DMA 比 CPU 快。 我的意思是,这也不是很好。
我们的想法甚至可行吗? 我们很不确定也很惊讶、因为 DMA 通道1应该是 ADC 应用的理想之选。 我们不是第一个,谁面对这个问题:-)
其次、是否可以使用 DMA 将数据从 ADCA/ADCB 传输到对齐的目标范围? 那么使用突发、绕回和传输大小以及步长应该是可能的呢?
感谢您发送编修
罗伯特