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.

[参考译文] RF430F5978EVM:SPI 不工作

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1070624/rf430f5978evm-spi-is-not-working

部件号:RF430F5978EVM
线程中讨论的其它部件: RF430F5978测试TPS62730

大家好,团队

我们希望您能在下面就我们客户的咨询提供帮助。

我的产品是 RF430F5978EVM
我安装了所有硬件,但它不起作用。
我正在使用 SPI 检查它是否正常工作我正在尝试减去第7列气缸组第2页的序列号,但它是零。
我发现发送的每一个字节的 SOMI = 0
这些。在发送命令长度后,我会在 UCA0RXBUF - 0x00中看到
我找不到 SPI 不工作的原因。 我还将原始固件上载到 RF430F5978,但也无法正常工作。
我认为问题出在板上的某个位置。 我安装了3V 电池并检查其电压。 我也知道主板上的开关。 就在上。
我发现这些文档在以下方面有很多含糊之处?
它是0还是1?
我猜3D 可能配置错误,但我不知道如何修复 SPI 不响应的问题。
印刷电路板可能有问题。
您可以看到 WAKEA 和 WAKEB 配置正确。  9和8。 但芯片没有唤醒响应
主板不工作。  我不知道为什么这是可能的。  请帮我找到问题。

此致,

丹尼洛

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

    您好 Danilo,

    如果我理解正确,您的 EVM 没有响应,则您的假设是3D 天线或其前端配置存在问题,现在您正在尝试通过 SPI 访问 AFE 进行调试,但这也不起作用,对吗?

    由于您可以读取第7列气缸组,LF 通信似乎正常。

    由于 WAKEA 和 WAKEB 配置正确,您可以尝试检查唤醒模式传输的引脚25处的唤醒信号。

    关于 SPI,USCI_A0映射到 P1.4...P1.7,而不是 AFE 互连。 SPI 互连正在使用 P3.1...P3.3,该 P3.3没有映射的 USCI。 因此,我猜固件使用的是软件仿真 SPI。

    我可以尝试在下周的实验室检查这些方面,并提供更多详细信息。

    此致,

    安德烈亚斯

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

    安德烈亚斯您好

    感谢您的回复。 根据我们的客户,

    首先,我将再次澄清,我仍在使用网站上提供的内容作为工作选项。slrc002
    在此源代码中
    SPI 由硬件 UCA 使用,并在 InitPorts()例程中配置
    下面是重新映射发生的零件的屏幕截图
    请参见 mapping _SPI



    这里是 SPI 本身的设置
    参见 init_SPI



    我焊接了唤醒输出,并将 LA2016逻辑分析器与软件 http://www.qdkingst.com 一起使用
    我正在附上这些文件以供分析。
    请访问 log.rar

    e2e.ti.com/.../log.rar
    因此,唤醒只能通过按钮工作,您可以在日志中看到它。
    参见 switch_wake



    如果启动调试器,它将在 P1.0端口中断中停止,并通过物理连接唤醒。
    (请参阅 switch_wake_debug)



    但正如您所看到的,状态被减去为零。
    请参阅 switch_wake_status_read



    当以134kHz 的频率唤醒时,您可以看到来自 MDR2的射野,但没有唤醒信号。
    参见 field_wake

    此致,

    丹尼洛

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

    您好 Danilo,

    昨天我在我的设置中检查了您描述的结果。 一切都如预期的那样好 在 EVM 测试期间,我还检查了 UCA0RXBUF,它包含了合理的数据。 我认为您的问题确实是由缺失的唤醒引起的,因为 MCU 未以这种方式激活,SPI 可能由于 LPM 而无法工作。

    从屏幕截图中可以看到 AES 转发器内存配置正确,因此很难说出为什么您看不到唤醒。

    您是否拥有已知良好的 EVM 板,您可以将其与之进行比较?

    此致,

    安德烈亚斯

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

    安德烈亚斯您好

    以下是我们客户的回应。

    我认为,关于这种不工作的假设是没有根据的。 毕竟,正如我之前所写的那样,唤醒是由一个按钮触发的,ISR 正在执行中,状态为040001 00当前正在读取中
    这将确认已按下按钮。
    因此,唤醒针本身工作正常,其与 P1.0的连接可在主板上使用。
    但唤醒的问题依然存在。
    当我试图发出命令时,我看到命令的发出,但我看不到命令的打开。 但在调试器的帮助下,中断中有断点,但中断中的 LED 指示灯亮起。

    当然,如果我有另一个模块,我也会检查它。但我没有。

    如果您怀疑 DSTAES 正在工作,请告诉我如何检查,因为 SPI 现在正在工作。

    我找到了为什么我没有看到 SPI 的原因,现在我可以使用我的代码来处理 DSTAES。
    但这也是好消息的结尾。

    首先,我要确保 DSTAES 已启用。
    我发送 SPI RAIDAES
    03 F3 41 2F,在响应00 F1 41中读取3字节
    接下来,我希望 EOB 连接到防盗锁止器脉冲探测器输出
    根据我的推理,这是第17队
    03 F3 41 17,在响应00 F1 41中读取3字节
    如您所见,按状态00,所有命令都已正确执行。

    现在我希望 EOB 变为 P4.1
    如果(EOB_Pin)为{
    P1OUT 和=~BIT1;
    P1OUT |= BIT2;
    }
    否则{
    P1OUT 和=~BIT2;
    P1OUT |= BIT1;
    }
    BIT1 - LED1,BIT2 - LED2
    但只有一个 LED 亮起。

    此致,

    丹尼洛

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

    您好 Danilo,

    既然客户发现 SPI 无法正常工作的原因,并且明显修复了 SPI,我想知道它是否与主板相关,以及原始固件是否可以立即工作。 如果 RF430F5978EVM GUI 工作正常,则会排除与设备和主板相关的问题。

    此致,

    安德烈亚斯

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

    安德烈亚斯您好

    我们收到了客户的反馈,

    不,SPI 问题与我的操作有关。
    这是几个错误。
    首先,我没有安装 P3SET
    因此,SPI 访问了默认引脚
    在每次向 SPI 发出呼叫之前,我都会这样做
    P3SEL 和=~(BIT3 + BIT2 + BIT1);
    UCA0CTL1 &=~UCSWRST;
    P3SEL |= 0x0E;
    我的第二个错误是在 SPI 交换内部设置断点,导致超时。 因此,我通过按钮错误地读取了 ISR 中的状态。

    所以这些错误只是我的错误,TI 的代码应该已经运行,但它仍然没有运行。
    因此 WAKE_A 问题仍然存在,DSTAES 不会对唤醒模式作出响应。
    如果您给我文件,我可以尝试对其进行编程。 正如我之前所写的那样,运行源代码的所有尝试都失败了。

    此致,

    丹尼洛

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

    达尼洛,

    是否可以让客户阅读第7银行的全部内容? 我想将数据与实验室中已知正常工作的设备进行比较。

    顺便说一句,由于第7列气缸组读数似乎对客户有效,是否可以在此操作期间检查 EOB 的可见性?

    此致,

    安德烈亚斯

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

    达尼洛,

    今天,我逐位比较了提供的第7列气缸组内容位与已知正常工作的参考设备(见下文)。
    我发现唤醒模式 A 和 B (第7和9页)不匹配,这很可能是 RF430F5978EVM GUI 缺失唤醒的根本原因。

    我认为第8页不相关(因为也存在不匹配)。

    其余部分匹配或仅供参考。

    因此,请让客户更正第7页和第9页。


    此致,
    安德烈亚斯

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

    安德烈亚斯您好

    请参阅下面客户的回复。

    谢谢,第7页和第9页的更改确实有帮助。
    但我仍然不确定是否一切正常。

    当我单击“唤醒”按钮时,我会在图片中看到字段模板。
    到目前为止一切都是正确的。
    但现在有一些按钮,它们不得不以某种方式将电压切换到电池或电源转换器,但这两个按钮的模板是相同的。
    在程序中,高/低电压状态通常由主板上的按钮处理。

    最重要的是,尽管我看到通过 UFH 传输了该值,但软件仍然认为某些东西无法正常工作。 当您按下按钮 RF430F5978EVM 时,MDR2的模式与唤醒模式相同。

    软件版本可能与固件不匹配?
    我继续进一步了解,我的目标是建立自己的团队,我认为仍将有民意调查。

    此致,

    丹尼洛

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

    安德烈亚斯您好

    我们的客户添加了这些屏幕截图。

    e2e.ti.com/.../1882.Wake.rar

    此致,

    丹尼洛

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

    您好 Danilo,

    我不理解客户反馈中似乎完全不起作用的内容。

    客户是指 GUI 中的按钮还是主板上的硬件按钮? 不管怎样,它们是有某种关联的。

    GUI 中的“选择高电压”按钮正在启用 EVM 上的 TPS62730的旁路模式,该模式将切换到3V 电源。 EVM 板上的中间微开关也可以实现同样的效果。 GUI 中的“Select Low Voltage”(选择低电压)按钮正在启用 DC/DC 操作 TPS62730,该操作将电源电压降至2.1伏。 EVM 板上的左侧微开关也可以实现这一目的(请参阅 EVM 用户指南 https://www.ti.com/lit/pdf/slru007中的图16)。 应用手册“RF430F5978EVM 优化功耗”(https://www.ti.com/lit/pdf/slra004)的第3.6章也介绍了这种方法。

    遗憾的是,GUI 未提供有关电压选择事件的任何反馈。 但可以在 GUI 窗口右侧的“测量”字段中的“电压[V]”显示屏上观察到这种影响。 通过在 GUI 中按“唤醒”按钮,该值正在更新。 意思是,首先按“选择高压”按钮,然后按 GUI 中的“唤醒”按钮查看效果。

    这种回答是否澄清了问题,或者我是否误解了问题? 如果我误解了,请提供更多有关问题观察的详细信息。

    此致,

    安德烈亚斯

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

    安德烈亚斯您好

    请参阅下面客户的回复。

    是的,这是关于问题的。
    底线是电路板上的按钮切换电压,这可以在软件中的监视器上看到。 但软件上的按钮不会切换此选项。
    我想知道为什么,所以我已经包括了图表来评估它,因为两个按钮都提供了相同的模板,这可能不是真的。
    我是假设软件版本与固件版本不匹配,还是有另一个原因导致该版本不起作用?

    此致,

    丹尼洛

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

    达尼洛,

    我检查了软件版本和固件版本是否与上次使用的设置匹配,该设置通过软件在高压和低压之间切换。 我还检查了软件和固件的源代码,支持在高电压和低电压之间切换。 唯一我还没有机会验证的是,在软件按钮点击开关时,LF 协议的区别在于高电压和低电压。 下次我在实验室时会检查。

    此致,

    安德烈亚斯

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

    安德烈亚斯您好

    非常感谢您的更新。  

    此致,

    丹尼洛

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

    达尼洛,

    今天,我在按下 GUI 中的“Select High Voltage”(选择高电压)和“Select Low Voltage”(选择低电压)按钮后,检查了实验室以比较 LF 协议。 我可以确认两个按钮的 LF 协议相同。 原因是 LF 命令仅用于在两种情况下唤醒 RF430F5978设备,但实际电压切换请求通过 UHF 发送。 EVM 固件(https://www.ti.com/lit/zip/slrc002)中的相应代码部分可在文件“UHF_CONTING.c”中找到,从第338行开始。

    很难说为什么高电压和低电压选择对客户不起作用。 我的设置(使用相同的 h/w 和 s/w 版本)工作正常。

    正如我之前所说的,需要先按“Select High Voltage”(选择高电压),然后按“唤醒”。 只有 通过“唤醒”,它才会更新并反映在 GUI 的显示中。

    此致,

    安德烈亚斯

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

    您好,

    一段时间以来没有反馈,所以我认为这条路已经解决,可以关闭。 关闭该线程后,您仍可以回复该线程,也可以创建新线程。

     此致,
    安德烈亚斯

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

    安德烈亚斯您好

    我刚刚给你发了一封电子邮件。 非常感谢你的帮助。

    此致,

    丹尼洛