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.

[参考译文] TDA4VM:UART FIFO

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1396421/tda4vm-uart-fifo

器件型号:TDA4VM

工具与软件:

大家好!
我目前正在进行 UART 驱动程序开发、 我检查 Regis 的 TX_FIFO_FULL (位0) 之三 UART_SSR 等于0、即 FIFO 未满、我发送数据。

当我尝试循环逐一发送10个字节的数据时、TX_FIFO 已满、因此 无法写入多个字节的数据。
写入每个字节之间是否会引入任何延迟。 我不确定为什么写一个字节后 TX FIFO 就已满。 请提供答案。

此致
谢谢你
Manisha N G.

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

    尊敬的 Manisha:

    在写入第一个字节之前、您能确认 FIFO 是否为空吗?

    您是说、您 在只写入一个字节后看到 TX_FIFO 立即为满?
    谢谢!

    Neehar

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

    您好 Neehar:
    在写入第一个字节前、FIFO 为空。 我检查了 TX_SR_E、然后 TX_FIFO_E   VDD_3_5_SEL 说明。  
    仅写入一个字节后、TX_FIFO 已满。


    我发现、  循环中第一次传输数据时、发送保持寄存器(UART_THR)为空。 对于循环 发送保持寄存器(UART_THR)中的其他迭代、绝不为空。 如果我等到此寄存器为空、则可以发送我需要的所有数据。  您还可以告诉我、将数据从发送保持寄存器(UART_THR)发送到 FIFO 所需的时间(UART_THR 寄存器变为空所需的时间)。  

    谢谢
    Manisha N G.

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

    尊敬的 Manisha:

    您是否设置了 FIFO 触发电平?

    我们无法告知将数据从 UART_THR 传输到64字节发送 FIFO 所需的时间、但可以对其进行测试。
    谢谢!

    Neehar

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

    您好 Neehar:
    我使用的是资金归集模式。 未设置中断、并禁用 DMA 模式。 FIFO 已满后、仅发送2字节数据。 这可能是什么原因。
    该函数的初始化包括:

    • 通过清除 SYSC 寄存器的 SOFTRESET 位来复位模块
    • 等待重置完成
    • 通过将 MODE_SELECT 设置为7来禁用 UART
    • 禁用所有中断
    • 禁止 IER2寄存器的 FIFO 中断
    • 使能 FIFO
    • 通过 TX_FIFO_CLEAR 清除 FIFO  
    • 禁用 DMA 模式
    • 启用 LCR 寄存器的 DIV_EN
    • 根据波特率配置 MODE_SELECT
    • 配置 CLOCK_LSB 和 CLOCK_MSB
    • 配置 char_length、NB_stop、parity_EN、break_EN

    如果需要更改任何内容、请告知我?

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

    尊敬的 Manisha:

    让我进一步探讨这个问题并回头与您联系。

    谢谢!

    Neehar

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

    尊敬的 Manisha:
    很抱歉响应延迟。 此问题是否仍然存在?
    谢谢!

    Neehar

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

    尊敬的 Manisha:

    由于不活动而关闭此窗口。

    谢谢!

    Neehar