ZHCAA38E August 2021 – January 2023 TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
器件 1 发送数据 -> 器件 2 接收数据 -> 器件 2 DMA 将 RX 数据移至 TX 缓冲区和寄存器 -> 在对用于将接收到的数据转发回至器件 1 的 TX_FRAME_TAG_UDATA FSI 寄存器进行写入之后器件 2 触发 TX -> 器件 1 接收返回的数据 -> 器件 1 DMA 将 RX 数据移到内存中 -> CPU 验证内存中的数据是否与最初发送的 TX 数据相匹配。
8 个字的数据长度(每个脉冲 8 个字,每次传输 1 个脉冲),2 条数据线,TXCLK = 50MHz,启用设置 ②(表 5-1)。
在该测试中,启用 CH2 和 CH4 的 DMA 中断以在主控器件中的传输结束时触发,这意味着每次将数据从内存复制到 FSITX 缓冲区 (CH2) 或将数据从 FSRX 缓冲区传输至内存中的某个位置 (CH4) 时都会发生中断。在节点器件中,DMA 通道配置为在接收到 FSI 数据帧时将接收到的数据从 RX 缓冲区和寄存器传输到 TX 缓冲区和寄存器,最终将数据转发回主控器件。因此,节点器件仅启用一个 DMA 中断,而主控器件启用了两个 DMA 中断。#ID-11A349B9-6068-4F37-9226-EC9BF73AFDE1显示了在 DMA ISR 中进行 GPIO 翻转时,使用 DMA 控件的 FSI 通信所呈现的测试结果。
应注意的是,所示的时间为 1.86µs,其中包含主控器件传输数据帧、节点器件将 RX 数据移至 TX 缓冲区/寄存器、ISR 进入以及翻转 GPIO 的时间。根据 DMA 管道时序要求(更多相关信息,请参阅GUID-5A9652A2-7BAF-4E81-8C61-BC04CD16B478.html#GUID-5A9652A2-7BAF-4E81-8C61-BC04CD16B478中引用的特定于器件的 TRM),可以如#ID-72EF6EEA-0FDE-4973-A889-2A65CBD5D62B中所示计算使用 2 个通道移动 9 个字的数据(8 个字的数据 + 1 个字的用户数据和帧标签)所需的时间。
因此,考虑到其他延迟时间,实际传输时间几乎与前面使用 CPU 控件的测试结果 (1.4µs) 一致。还应强调的是,在这种情况下利用 DMA 可以极大地节省传输接收到的数据所需的时间,尤其是在涉及大量数据传输的应用中。