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.

[参考译文] CC3100MODBOOST:主机/CC3100同步问题

Guru**** 2812305 points

Other Parts Discussed in Thread: MSP430F5529, CC3100MOD, CC3100, CC3200

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/617725/cc3100modboost-host-cc3100-sync-issues

器件型号:CC3100MODBOOST
主题中讨论的其他器件:MSP430F5529CC3100MODCC3100CC3200

您好!

我正在与 CC3100MOD Boost 和 MSP430F5529 LP 合作开发定制 HTTP 服务器应用。

一段时间后、当我增加系统的功率负载时、我卡在 CC3100和 MSP430之间的同步问题上。

我可以看到我卡在函数 _SlDrvRxHdrRead 中:

/*扫描同步模式直至找到或超时(如果已配置)*/
while (SearchSync && TimeoutState)
{
/*扫描直到我们获得真正的同步模式*/
for (ShiftIdx =0;ShiftIdx <=4; ShiftIdx++)
{
//找到同步模式以完成对齐的4个字节的读取*
if (N2H_SYNC_pattern_match (&pBuf[ShiftIdx]、g_PCB->TxSeqNum))
}{
//将同步模式之后的字节复制到缓冲区开始*(
_u32 *)+[Shift_Buf];*= pBuf_u32]

/*读取字节的其余部分*/
NWP_IF_READ_CHECK (g_PCB->FD、&pBuf[SYNC_pattern_LEN - ShiftIdx]、ShiftIdx);

/*此处我们除了获取操作码+长度或错误双倍同步之外。*/
SearchSync = false;
break;
}

}

如果(SearchSync == true)
{
/*同步未找到*将前4个字节移至底部*/
*(_u32 *)&pBuf[0]=*(_u32 *)&pBuf[4];

//将另外4个字节移至缓冲区顶部*/
NWP_IF_READ_CHECK (g_PCB->FD、&pBuf[4];
}

CC3100和 MSP430之间是否有一种重新同步的简单方法(无需启动连接过程)?

谢谢、

Itay

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

    这与下面的 E2E 问题类似。

    e2e.ti.com/.../540606

    从这种情况中恢复的唯一方法是在您的 SL 命令上设置超时。 遇到这种情况时、正在运行什么命令?

    此致、

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

    我不知道在议定书问题陷入僵局之前,是谁赞扬它。
    我卡在上面的 while 环路内。 在增加系统电流消耗(增加三相 BLDC 电机速度)期间、一段时间后会发生这种情况。 我想 SPI 线路或 IRQ 线路上存在瞬时噪声。
    我知道我需要为同步搜索机制实施超时。

    为了实现超时、我应该如何定义 sl_GetTimestamp?

    谢谢、

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

    我们能否隔离系统上的噪声? 我们能否测量您在 VBAT_CC 线路上看到的噪声?

    如果在系统上增加负载时发生这种情况、您还可以检查并确保在此期间电压不会下降。

    为了实现 sl_getTimestamp、您使用的是哪个版本的 SDK?

    谢谢、

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

    尊敬的 Vincent:

    我将为 CC3100和 MSP430使用外部 LDO。 3.3V 线路是平坦稳定的。

    我认为我使用的是 SDK v1.2.0。 是否有方法来验证这一点?

    谢谢、

    Itay

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

    是的、

    如果您在 Code Composer Studio 中浏览项目并查看包含项目内部、则您的某些包含项目将是 SDK 的一部分。 SDK 版本将是文件路径名称的一部分。

    此致、

    Vince Rodriguez

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的。
    它是1.2.0。
    在这种情况下、我应该如何实现超时选项(sl_getTimestamp)?

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

    您能在 sl_getTimestamp 的实现方面提供帮助吗?

    谢谢、

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

    您是否可以尝试迁移到更新的 SDK? 回顾一下、我认为实施时间戳不会有什么帮助。

    我们需要弄清楚在什么情况下会发生这种情况。 如果您进行调试、应该能够反向跟踪并找出创建此错误的被调用的函数。

    我认为、如果您转向较新的 SDK、则应添加超时、如果您无法同步、则会返回一条错误消息。

    此致、

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

    尊敬的 Vincent:

    据我所知、SDK V1.2.0是 CC3100的最新版本。 是否有更新版本?

    是否有一种简单的方法来对调用函数_SlDrvRxHdrRead (_u8 * pBuf、_u8 * pAlignSize)的函数执行后向跟踪?

    当系统卡住时、它卡在上面的 while 环路上、位置为:

    如果(SearchSync == true)
    {
    /*同步未找到*将前4个字节移至底部*/
    *(_u32 *)&pBuf[0]=*(_u32 *)&pBuf[4];
    
    //将另外4个字节移至缓冲区顶部*/
    NWP_IF_READ_CHECK (g_PCB->FD、&pBuf[4];
    }
    

    谢谢、

    Itay

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

    您好、Itay、  

    是的、SDK v1.2是 CC3100的最新版本。 请确保您已更新至最新的 ServicePack (v1.0.1.11-2.9.0.0)。

    将为下一个 SDK 版本添加 CC3100的 sl_getTimestamp()示例。 在此之前,您可以在 CC3200 SDK 中查看这是如何完成的(请参阅 simplelink 文件夹中 cc_PAL.c 底部的 TimerGetCurrentTimestamp())。

    如果您使用的是 CCS、则应该能够在该位置的主机驱动程序中设置断点、并在"Debug"窗口中查看函数调用跟踪。 以下是 CC3200的一个示例(应适用于 MSP 主机)-

    此致、

    本·M

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

    我将关闭该线程。 如果您有任何疑问、请打开新主题。

    此致、

    Vince Rodriguez