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.

[参考译文] CCS/EM1402EVM:UART 和 SPI 通信

Guru**** 2518060 points
Other Parts Discussed in Thread: EM1402EVM

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/731773/ccs-em1402evm-uart-and-spi-communication

器件型号:EM1402EVM

工具/软件:Code Composer Studio

我正在使用 EM1402EVM ACB 模块、现在我能够使用 GUI 软件从 AUX 端口读取电池电压和温度。

我现在  将原始软件 EM1402EVM 示例代码与 CCS 8.1.0一起使用(不带 GUI 软件)。 程序不会在编译中显示任何错误、

代码已成功加载到 TMS570启动板中(仅通过 EM1402连接到 J7)。 在调试和启动之后、程序不会运行任何

错误、但之后电池没有任何有源镇流(aterries 循环(J3)或12V 循环(J1)中没有任何电流(>100mA)、

此外、PL455A 和 EMB1428之间没有任何 SPI 通信、只有恒定的 UART 数据从 TMS570发送到 EM1402和 SHORT

UART 上 PL455A (Tx)启动时的响应(附件中的 PulseView 数据)。 两个 LED 都亮起。 是 EM1402电路板对效率有影响、还是我漏掉了  

什么是( 它是由 PL455A 通过 SPI 使用上述软件控制的 EMB1428)?

Tnx

e2e.ti.com/.../DEBUG_5F005F00_MANUAL_5F00_START_5F00_1MHz.7z

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

    您是否能够提供您正在使用的电池平衡时序值、以及您启用了平衡的哪些电池?

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

    尊敬的 Vince:
    我没有更改 EM1402EVM 示例代码中的任何内容。 我使用16个标准3.6V 锂离子电池。 (我注意到、12V 和12VF 导轨上也没有12V 电压。 当5V3处于活动状态时、是否还应为为 EMB1499供电提供12V 电压?) 我应该更改此代码中的某个内容吗?
    Tnx

    P.S.

    栅极 Q46 (从 GPIO5 U1驱动)上始终具有2.5V 电压。 当我在 Q46 (RS_EMB1428)的栅极上接地时、12V 线路开始工作、但同样没有平衡。

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

    您好、Mcupwr、

    为了澄清一下、在继续之前、是否有一个12V 电池连接到变压器的另一侧、如下图所示:

    谢谢!

    Vince

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

    尊敬的 Vince:

    是的、12.5V 电池位于 J1连接器上、T1在引脚1和3上具有12V 电压、Q4漏极在12V (已布防)上具有12V 电压、栅极上没有 PWM。
    引脚11 (U3)上的电压为4.5V、可将 Q3栅极保持在高电平并保持在低电平引脚8 (EN、U2)上。

    Tnx

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

    考虑到 PL455和 EMB1428之间没有发送 SPI 协议、我将首先验证 PL455的 SPI 通信是否正常工作。 为此、请尝试使用 emb1428.c 文件中的函数(在示例代码的"source"文件夹中)来发送基本 SPI 命令(这些函数需要在"sys_main.c"中调用、该文件夹也在"source"文件夹中)。 使用示波器或逻辑分析仪查看是否存在任何 SPI 接口通信。 您将需要修改示例代码以使其更易于进行调试。

    如果您没有看到任何 SPI 通信、请告诉我。 如果确实如此、请提供 SPI 波形、以便我可以帮助继续调试。

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

    尊敬的 Vince:

    感谢你的答复。 不可以、PL455和 EMB1428之间没有任何类型的 SPI (在 GPIO2、3和4上为 Pl455A)协议、而且 EMB1428上没有12V、因为 Q46来自 GPIO5 (PL455A)处于高电平、只有5、3V。 我看了这个代码示例(EM1402EVM 示例代码),其中只提到了 PORta 0、1和7,但不提到 PORTA5,这对于启用12V 到 Q46很重要(可能我错了)。 此代码是否正常?
    可能我使用了错误的代码、我在两个电路板上尝试过它、同样、启动时只有 UART 通信(TMS570 (R8已删除)<>PL455A)、之后只有 PL455A 静音(在其 TX 线路上、请参阅附件中的 PulseView (Sigrok)数据)。 PL455A 不会通过 SPI 线路向 EMB1428发送一个字节的数据。

    P.S.

    EM1402电路板(J2连接器)上是否应连接 MOSI、MISO 和 SCLK 以及 TMS570硼 SPI 输出上的 SPI1SIMO、SOMI 和 SPI1CLK、或者是否不需要这样做?

    Tnx 提前。

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

    我想确保 PL455能够输出 SPI、因此在尝试启用任何 FET 之前、请修改 sys_main.c 文件以仅发送 SPI 命令。 请勿尝试启用或禁用任何 FET、同时确保注释掉执行此操作的代码行、以便我们可以确定这是否是 SPI 问题。

    至于第二个问题、您无需使用外部 SPI 通信来控制 EM1402、但它是一个选项(您需要编写自己的代码才能实现。

    总结:
    转到 sys_main.c
    -删除" do-while "循环(靠近第359行)中的所有内容、但某些 emb1428.c 函数除外、如"EMB_Vset (1、2)"
    运行代码并监视 PL455和 emb1428之间的通信

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

    尊敬的 Vince:

    我尝试了您建议的方法(每100ms 使用一次"EMB_Vset(1、2)")、但在示波器或逻辑分析仪上 PL455和 EMB1428之间没有任何类型的 SPI (在 GPIO2、3和4上为 Pl455A)协议。 PL455A 不发送任何 SPI 命令(在 GPIO2、3和4上)、SPI 死区。

    P.S.

    由 TMS570 (01)中的"EMB_Vset (1、2)"例程感应的 EM1402块的地址(我在单模式中仅使用一个)是否正确?  它发送91:01:79:08:5F:6A 等。并且总是带有地址01、不应该是00、也许是因为 SPI 上没有任何位拆裂(响应)。  

    EM1402只对00地址做出响应(请见逻辑数据)。

    此致、

    e2e.ti.com/.../4353.SPI_5F00_test1.rar

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

    结论、

    此 TI 代码不起作用。 我使用 CCS v.5.5.0、6.0和最后8试用了它。 SPI 位拆裂不起作用、只是不起作用

    花点时间(像我一样)在上面。 您需要创建自己的代码。

    此致