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.

[参考译文] MSP430F5438A:DMA -蓝牙数据传输控制(UART 协议)问题

Guru**** 2577385 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/606548/msp430f5438a-dma---bluetooth-data-transmission-control-uart-protocol-issue

器件型号:MSP430F5438A

简介

大家好、我开发了一个无线器件、它可以连续传输批量数据。

 MCU: MSP430F5438A

 BT:CC2564B (PAN1326B)

 -吞吐量:400 kbps

我希望该器件中的 MCU 在进行庞大的数据传输之前进行数据处理、

但是、通过使用蓝牙堆栈代码、UART 协议 是计算额外数据处理的负担、

因此、我想使用 DMA 控制设计 UART 数据传输。

 

问题-没有关于 UCA3TXIFG 的 DMA 触发分配选项

从 MSP430F5438A 的 DMA 中,我只能选择 uC-A0、A1、B0或 B1中断标志(数据表中的第50页),

但在堆栈代码中、MCU 蓝牙 UART 连接是 UCA3、因此我无法使用 DMA 发送 UART 数据。

如何使用 DMA 传输数据?

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

    正确的做法是、该部件上没有用于 UCA3的 DMA 触发器。 要在这种情况下使用 DMA、您需要更改蓝牙 UART 连接以使用上面列出的具有 DMA 触发器的 UART 模块之一。 如果您有任何疑问、我可以帮助指导您完成此过程。

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

    您可能建议使用另一个 UART 模块、例如 UCA1。

    我使用"堆栈代码"(www.ti.com/.../cc256xmspbtblesw)开发了蓝牙项目
    我想知道我是否可以修复 MCU 中 UART 引脚与蓝牙芯片通信的方向、
    因为在堆栈代码中、UART 和蓝牙初始化部分是秘密的。

    我还想修复它们。
    如何修复 TII 提供的隐藏堆栈代码器件?

    我不知道是如何处理 UART 初始化,但我猜到的'BSC_Initialize()'函数管理 UART 初始化。

    你怎么看?
    德州仪器能够提供固定代码吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Donghyeon:

    正确、我建议使用另一个 UART 模块、如 UCA1。 我对堆栈并不像我们的蓝牙团队那么熟悉、因此我要求他们提供有关堆栈的意见、并得到以下回应:

    堆栈以二进制形式提供、默认示例应用使用 UCA3 UART、因为它是 EVM (EXP-MSP430F5438)的设计方式。 但 HAL 以源代码的形式提供给用户。 请在堆栈 SDK 中找到 HAL.c、HAL.h 和 HRDWCFG.h 文件。 包括 UART 端口在内的所有硬件外设级别定义都在 HRDWCFG.h 中定义并由 HAL.C 使用 为了使用 UCA0或任何其他串行端口、需要修改这些文件。

    类似地、HCITRANS.c 实现了 UART Tx 和 Rx 机制。 如果要使用 DMA、则需要修改此文件来实现它。 这两个文件都作为源代码提供给用户、以便用户可以根据其电路板要求进行移植。 因此、将蓝牙堆栈作为二进制文件不应限制任何内容。

    希望这对您有所帮助、如果您有任何疑问、请告诉我。

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

    谢谢你的建议!!! 真的很有帮助!!!
    我现在可以使用 DMA 传输数据!

    在我使用 DMA 之前、传输速率已降至182kbps
    但在使用 DMA 后、传输速率更改为330kbps

    我认为 DMA 操作有利于降低 CPU 负载。

    谢谢 Caleb!