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.

[参考译文] TMS320C6657:upp - UORI 错误

Guru**** 2540720 points
Other Parts Discussed in Thread: SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/600886/tms320c6657-upp---uori-error

器件型号:TMS320C6657
Thread 中讨论的其他器件:SYSBIOS

我有一个定制设计、在该设计中、我们通过 UPP 接口将样本从 FPGA 流式传输到 C6657 DSP。

我们的采样率相对较慢(76.8kHz)

这个76.8KHz * 16 = 1.2288MHz 的有效时钟速率。  (在我们的多通道模式下)

我正在尝试根据需要(按需)启动和停止样本。  

当我最初启动样本时(启动后第一次运行 UPP)、操作正常

当样本被停止时、用于启动样本的后续调用会生成 UORI 错误。  这种感觉几乎像是 upp/DMA 逻辑正在尝试恢复一个过早终止的传输。

一些其他关键信息。  

1) 1)为了停止采样、通过 UPIEC 寄存器关闭启用的中断

2) 2)这些中断被禁用后、通过在 UPIS2寄存器中写入0x1F 来清除 DMA

3) 3)代码在等待 UPIS2寄存器中的 ACT 位(位0)变为低电平时出现超时

4) 4)在该超时后、我们对 upp 执行软件复位

     a.将 UPPCR EN 位设置为0

     b.我们等待 UPPCR DB 位等于0

     c.将 UPPCR 中的 SWRST 位设置为1 (将 UPP 置于复位状态)

     D.拖延300 us

     e.将 UPPCR 中的 SWRST 二进制文件设置为0 (使 UPP 退出复位)

     F. 拖延300 us

我们的"行大小"设置为大约2.5ms、每个窗口有2行(窗口为5ms)

写入 UPIS2后、ACT 位是否应该变为低电平?  是否有任何原因会使其保持"卡住"状态?

尝试停止和启动样本时、我是否做了错误操作(例如、终止 UPP 流有不同或更优雅的方法)?   

UPP/DMA 的 ISR 仅读取状态并将 SYSBIOS 事件发布到一个任务、该任务负责处理、从 DMA 缓冲区提取样本并将其存储到用于处理它们的缓冲区中。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请忽略、 我似乎已经解决了这个问题。  我现在正在禁用 UPP、直到所有内容都已初始化(包括中断)、然后在最后一分钟启用它。  

    看来 UPP 在复位例程完成后立即尝试启动另一个 DMA、这是我所怀疑的。  在我准备好开始捕获之前禁用 UPP 似乎是个问题。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您更新该主题。

    此致、
    Yordan