您好!
我正在使用音频串行端口、并且我的 AHCLKX、ACLKX 和 AFSX 都在 ASP0 (通道0)上工作。 我似乎无法弄清楚我的
数据引脚 AXR0不工作。 我已正确设置 Pdir 和 PFUNC。 在低3位中、Pdir 设置为0x1、对于、PFUNC 设置为0x0
整个寄存器。 我认为可能有一个总线宽度字段用于将数据总线宽度设置为1 (而不是4位)、但我不能
查找任何内容。 可以帮帮你吗?
谢谢。
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.
您好!
我正在使用音频串行端口、并且我的 AHCLKX、ACLKX 和 AFSX 都在 ASP0 (通道0)上工作。 我似乎无法弄清楚我的
数据引脚 AXR0不工作。 我已正确设置 Pdir 和 PFUNC。 在低3位中、Pdir 设置为0x1、对于、PFUNC 设置为0x0
整个寄存器。 我认为可能有一个总线宽度字段用于将数据总线宽度设置为1 (而不是4位)、但我不能
查找任何内容。 可以帮帮你吗?
谢谢。
[引述 USER="Daniel Brown">另外、请注意、我使用的软件将 EDMA3与 McASP 结合使用。 如果使用 EDMA3、需要重新配置哪些内容?[/QUERT]
您需要在 McASP 寄存器中启用 DMA 支持并对 EDMA 寄存器进行编程。 PSDK 中的 McASP Linux 驱动程序附带默认启用的 DMA 支持、您可以将源代码和寄存器设置用作参考。
我建议您从轮询模式开始(无中断、无 DMA)、因此您可以更轻松地隔离问题。 一旦您使用轮询模式、您就可以切换到 DMA 模式。
[引用用户="Daniel Brown">有关 SRCTL0至5寄存器的问题。 TRM 表示每个 McASP 具有多达16个串行器寄存器、但寄存器部分只有6个。 这是因为 特定的 AM3358吗? 此外、SRCTL5和 SRCTL6对应于哪些引脚(AXRn)、或者这些寄存器是否已被弃用? 是否已弃用 XBUF4、XBUF5、RBUF4、RBUF5?
TRM 是通用的、您应该查看特定的数据表。 AM3358 "每个 McASP 端口具有多达四个串行数据引脚"- axr0、axr1、axr2、axr3。 McASP 模块有4个串行器、因此您可以使用 SRCTL0至3和 RBUF/XBUF_0至 RBUF/XBUF_3寄存器、其余的不可用。 对于 axr0、应使用 SRCTL0和 RBUF/XBUF0。