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.

[参考译文] CC3235MODASF:未从通过 FTDI FT4232H 连接的自定义电路板接收到 ACK

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1236748/cc3235modasf-not-receiving-ack-from-custom-board-connected-through-ftdi-ft4232h

器件型号:CC3235MODASF
Thread 中讨论的其他器件: 嵌入式编程UNIFLASH

大家好!

我在连接自定义电路板上的 CC3235MODASF 时遇到困难。

CC3235通过 UART 桥接器(FTDI FT4232H-56Q)通过 UART 进行连接。 该引脚按如下方式连接:

  • CC3235 UART0 Tx (引脚46) <-> FTDI 通道 A Rx (引脚13)
  • CC3235 UART0 Rx (47) <-> FTDI 通道 A Tx (引脚12)
  • CC3235 nReset (35)<-> FTDI 通道 A RTS (引脚14)

我一直在按照 SWPA231 (使用 pyFTDI API)中的步骤进行操作、还尝试了嵌入式编程工具(无法 等待 ack)和 Uniflash。

SOP 设置为:[210]=[010 ](尽管我尝试了其他变体)。

下面是一个示例输出:

我不确定的几件事:

  1. 信号中断。 指令状态、"发送中止信号(发送连续间隔值、无起始位或停止位)"。 我尝试了各种间距值(上图中为0x20、全为0等)、但您能否确认我要发送什么内容?
  2. SOP1的行为是否正确、即它仅在复位时上拉、还是应永久拉至高电平?  
  3. 请注意、我得到(0x04、0x00、0xFF、0xE2、0x00)、它遵循通用消息格式、但我找不到操作码 E2。 我没有接收到预期的 ACK (使用操作码 CC)。
  4. 最后、在重置和刷新 UART 行后、我 已尝试发送获取存储列表命令、没有响应。

收到的带有中止信号的命令(0x04、0x00、0xFF、0xE2、0x00)

获取存储列表:

我试图只包含相关信息、但请告诉我是否有其他有用的信息。

否则,你有什么建议我做错了什么?

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

    嘿 Khalid、

    您能否分享 UART 连接的原理图部分? 我很担心、因为您提到的引脚编号与数据表不一致:

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

    尊敬的 Dylan:  

    这些是 CC3235MODASF 的引脚吗? 因为它们与 我的数据表不匹配:

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

    原理图

    CC3235MODASF

    FTDI FT4232H

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

    嘿 Khalid、

    抱歉、我看到的是 IC 引脚排列、而不是模块。 我又看了看你的连接,没有看到任何问题与它. SOP1的行为看起来也不错。 让我来让我的一位软件专家从软件角度更深入地了解一下这一点。

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

    您好!

    SOP 设置为:[210]=[010]正常、但您需要确保在释放 nRESET 时、SOP1检测为"1"。 从逻辑上来看、很难判断情况是否属实。 基本上、即使不向器件发送任何内容、如果目标连接良好、您也应该在释放 nRESET 后立即获得 ACK (0xcc)、前提是 SOP 线路正常且 UART RX 中断(持续取消置位为"0")。

    请检查是否就是这种情况。

    此致、

    什洛米

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

    谢谢 Shlomi、Dylan、

    我尝试过您的建议、但现在还没有运气。

    复位后在 SOP1为高电平时发送中断。

    我还将 SOP1固定为高电平:

    在这两种情况下、我都不会接收到来自 Tx 线的 ACK 或其他任何东西。

    奇怪的是、如果我发送非中断信号(例如、在我的开场文章中为0x20)、我会在 Tx (而不是 CC ack)中收到响应、而在触发复位后没有任何内容(请参阅第一个帖子)。

    当地的一个团队正在帮助我解决问题、因此如果我们找到解决方案、我会将其发布在这里。 同时,欢迎提出任何其他建议。

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

    您好!

    这很奇怪(可能是器件由于某种原因而损坏)。

    其他 SOP 线如何? 它们在 nRESET 期间是否处于逻辑"0"状态?

    什洛米

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

    尊敬的 Shlomi:

    Roger Monk 帮我解决了这个问题、我很高兴地说电路板现在工作正常。 我将在这里记录这些问题、以使其他经历类似经历的人受益。

    定制驱动程序 (pyFTDI API)和 Uniflash 之间存在两个不同的主要问题、部分原因是这两个问题使得识别起来更加困难:

    1. pyFTDI API:刷新 UART 后阻止 Rx/Tx 。 触发 nRESET 后、当我第二次刷新 UART 端口时、 不再能发送/接收。 这是我缺少通信的主要原因,因为在第二次冲洗之前,我会接收通信。  注:我尚未确定这是 pyFTDI 问题还是由我的驱动程序引起的;如果是后者(可能是 Python 中的线程)、我将更新此帖子。
    2. 带 FTDI 的 Uniflash FT4232H。 NRESET 引脚通过 FTDI 芯片保持高电平。 由于 Uniflash 不控制 FTDI 引脚、因此我有一个手动复位按钮。 但事实证明 nRESET 保持在硬高电平、因此 CC3235未检测到手动复位。 方法是断开连接到 FTDI 的 nRESET 线路。

    我在 pyFTDI 上遇到了一些其他的小问题、比如重置后等待 ack 的时间太长 、这意味着有时 ack 会被错过、但上面的两个问题是主要的问题。 感谢大家的帮助。