工具与软件:
您好、TI 支持团队。
我想使用 AM64 CR5内核上的计时器中断来运行 DMA。
是否可以在不编写代码以在定时器中断处理程序函数中启动 DMA 的情况下将定时器中断信号作为触发器运行 DMA?
如果您有任何示例代码、请告诉我。
是否可以同步其他两个计时器(例如 Timer1和 TIMER2)并开始计数?
如果有办法做到这一点、请告诉我代码。
SDK 为 mcu_plus_sdk_am64x_09_00_00_35。
此致、
今泉清正。
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.
工具与软件:
您好、TI 支持团队。
我想使用 AM64 CR5内核上的计时器中断来运行 DMA。
是否可以在不编写代码以在定时器中断处理程序函数中启动 DMA 的情况下将定时器中断信号作为触发器运行 DMA?
如果您有任何示例代码、请告诉我。
是否可以同步其他两个计时器(例如 Timer1和 TIMER2)并开始计数?
如果有办法做到这一点、请告诉我代码。
SDK 为 mcu_plus_sdk_am64x_09_00_00_35。
此致、
今泉清正。
您好, 今泉清正。
这里的用例是什么?
是否要将数据从内存传输到内存或从外设传输到内存或从内存传输到外设?
MCU+SDK 不支持您的要求。
您能说出您的全部要求吗?
因此、我可以尝试帮助您解决这些问题。
此致、
Anil。
您好、 今泉清正、
很抱歉回复延迟。 您的要求如下。
对于128KHz、我们需要在 SPI TX 线路上传输1Byte。
完成上述32个事务(完全完成0.25ms (4kHz))后、我们需要使用不同的缓冲区在 SPI 线上传输相同的一个字节的数据。
根据我的分析、DMA 不用于较低的数据速率(如1字节)、使用 DMA 无法满足您的要求。
我希望您的应用能够仅使用 SPI +计时器实现、并使用 SPI LLD 驱动器。
在这种情况下、SPI 会直接写入寄存器级别。
但是、在这里、7.8usec 会频繁中断。
实施方法:
1.配置计时器:
•将其设置为在每个7.8 µs (128kHz)期间触发中断。
•在 ISR 中、将1个字节写入 SPI TX 寄存器。
2.在寄存器模式(LLD)下使用 SPI:
•将数据直接写入 SPI 数据寄存器。
•确保 SPI 外设在发送下一个字节之前完成传输。
3.处理4kHz 缓冲开关:
•在32次 SPI 传输(0.25ms)后、切换到另一个缓冲区。
•此逻辑可在计时器 ISR 中处理。