主题中讨论的其他器件: CC3120
您好!
我的客户正在将 CC3120MOD 的 Wi-Fi SDK 插件移植到 TI 以外的 MCU。
他们想知道主机 SPI 时序规范。
HOST_SPI_CSn 激活到 SPI 时钟的最长时间。
同步字中字节到字节的最大时间。
即使您没有最长的时间、也请给我一些建议以小心。
此致、
Yojiro
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.
Yane-San、您好!
对于 CS 引脚或数据的字节到字节传输持续时间、没有明确的时序要求。 由于主机 MCU 是 SPI 主器件、所有同步都由中断线路和 SPI 主机驱动器本身自动处理。
您必须注意的一个数字是 CC3120 SPI 模块本身的最大 SPI 时钟频率。 这是20MHz (如 CC3120数据表 www.ti.com/.../cc3120.pdf 的第4.14.2节所示) 、可能低于主机 MCU 的功能。
此致、
Tim
Yane-San、您好!
通常、如果移植层存在问题以及与 CC3120的整体交互、则抛出 sl_device_event_fated_sync_loss。 SPI 通信可能会出现问题、也可能指示主机驱动程序移植方式的时序不正确。
有关如何移植器件的一些问题:
谢谢、此致、
Tim、您好!
我的客户正在移植到不是 TI 的 MCU。
很抱歉、我没有一些详细信息。
它们基于 v1.60.00.07使用。
v2.30.00.10尚未打开 到 SDK 插件页面。
我确认 Resource Explorer 已更新到 v2.30.00.10。
我想通知他们插件正在更新。
它们根据 《编程人员指南》的移植主机驱动程序来实现代码。
它们是为了缩短字节到字节的时间以修改源代码、不再发生错误。
我已确认 SDK 源代码、我认为发送同步字时会通知 sl_device_event_fature_sync_loss 错误是信标超时(SYNC_pattern_timeout_in_msec:50msec)。
这种解释没有问题吗?
此致、
Yojiro
Yane-San、您好!
这就解释了它、但是如果信号量在50ms 内挂起、我有点担心... 这是相对较长的时间、可能是时间戳机制移植错误的症状。
具体而言、在该文档中、我建议查看16.8 Implement Timestamp Services 部分。 具体而言、 在 cc_pal.c 文件中、您将看到以下函数:
您需要将其更改为适合您的非 TI MCU RTOS 的任何 RTOS 特定函数。 例如,对于 CMSIS-RTOS,这将是 osKernelGetTickCount()。 例如,对于 FreeRTOS,这将是 xTaskGetTickCount()。 此外、必须定义以下宏以建立时基:
如果未定义第一个宏、那么您的信标可能会认为超时需要50ms、但它实际上是在较短的持续时间内超时(这将解释您的问题)。
此致、
您好、Yojiro
您是否解决了此问题?
我有类似的情况、有时(在1分钟后甚至在3小时后)我会收到 sl_device_event_fated_sync_loss 事件。 我的 TimerGetCurrentTimestamp()函数已通过 xTaskGetTickCount()正确映射(我正在基于 Tiva MCU 的 FreeRTOS 环境中工作),由于我有1ms 的系统周期,所以我在 user.h 上离开了
#define SL_TIMESTAMP_TICKS_IN_10_milliseconds (_u32)(10)
我还尝试增加 SYNC_pattern_timeout_in_msec、但它不会解析任何内容... 是否有提示?