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.

[参考译文] TMS320F28377D:UART 自动波特率检测无法正常工作

Guru**** 2797785 points

Other Parts Discussed in Thread: TMS320F28377D, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly

器件型号: TMS320F28377D
主题: C2000WARE 中讨论的其他器件

尊敬的团队:

客户遇到了 TMS320F28377DZWTT 上的 UART 自动波特率检测问题。

他们以 100Kbps 的速度发送“A",“,但、但 F28377D 以 105Kbps 的速度返回“A"。“。

您能否说明原因和解决方法?

它会导致 FPGA 和 TMS320F28377DZWTT 之间的通信错误。

 

谢谢。此致、

哈拉

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

    器件型号:TMS320F28377D

    您好、

    在客户的现场产品上、尽管之前没有错误、但最近在检测到 F28377D 和 FPGA 之间的 UART 通信时发生了自动波特率错误。

    它们在引导时使用 100kbps、并使用自动波特率检测功能。 他们确认、从 2 年前到今年、FPGA 以 100kbps 的速率发送“A"后“后、返回了 100kbps 的“A"</s>“

    但是、该错误最近在 F28377 返回“A"且“且速率为 105kbps 的几乎所有系统上都发生。

     

    1. 自动波特功能或设备最近是否有任何变化?
    2. TRM 第 2315 页的注释中有以下说明。

    此压摆率会在较高波特率(通常超过 100k 波特)下限制可靠的自动波特率检测、并导致自动波特率锁定功能失败。

    他们使用 100kbps。 100kbps 是否正常? 或者、这是否会导致 autobaudlock 功能失败?

     

    谢谢。此致、

    英明

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

    Hi Hideaki、

    从现在到过去 2 年、F2837x 上的自动波特率检测功能(或 SCI 本身)没有变化。 他们是否能够在多个器件和多个电路板(ABA 交换)上重现此问题?

    此致、

    Delaney  

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

    尊敬的 Delaney:

    感谢您的回答。 他们发现他们的波特率设置值似乎是个问题。

     关于:TMS320F28377D:PERx。 引导序列中的 LSPCLK 频率 

    我们再次确认以下 Note.in 的 TRM 第 2315 页。

    是否可以使用他们现在设置的 104.16Kbps?

     

    此外、根据公式 SCI 异步波特率= LSPCLK /((BRR + 1)*8)、如果 LSPCLK 在启动时为 2.5MHz、则可以将波特率设置为 156kbps 或 78kbps(104.16Kbps 不可能)。

    主机 FPGA 是否应该以 78kbps 的波特率发送数据?

     

    由于 INTOSC 是一个相当多变的人、他们担心即使它以 78kbps 的速率发送、也会根据判断方法进行错误判断。

    谢谢。此致、

    英明  

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

    你好、松本山、  

    请注意,由于假日季,回复可能会有一些延迟。  

     此致、
    Aishwarya

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

    尊敬的 Aishwarya:

    感谢您的答复。 是的、理解。 如果我们能很快得到答复、我们将不胜感激。

    谢谢。此致、

    英明

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

    Hi Hideaki、

    对延迟深表歉意。  

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6170981

    是否可以使用他们现在设置的 104.16Kbps?

    [/报价]

    我已经向设计团队发送了一封电子邮件、以便更好地了解这种限制的来源。

    主机 FPGA 是否应该以 78kbps 波特率发送数据?

    是的、我建议在启动时配置 78kbps。 在此波特率下、已知误差(基于 2.5MHz 和波特率匹配)为 0.16%。 SCI 通信将正常工作、直到误差为 4.1%。 对于 INTOSC 的误差为+/- 3%、最大预期误差将为 3.16%、该值不超过 4.1%、因此他们不应看到通信错误。 不过、我仍会确保它们尽可能降低 SCIRX 引脚上的噪声。  

    此致、

    Delaney

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

    尊敬的 Delaney:

    感谢您的答复。 客户已评估了您建议的 78.125kbps SCI 通信。

    然后、F28377 的响应速度为 78.09kbps。

    如您所述、SCI 通信将正常工作、直到误差为 4.1%、他们尝试了提前 3%和 4%的速度、但无法收到 F28377 的响应。

    是否可以接受 4.1%的误差?

    这是规格吗? 数据表中描述的是什么?  

    谢谢。此致、

    英明

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

    Hi Hideaki、

    4.1%误差计算不是数据表规格、而是我们根据 SCI 模块的设计及其如何进行多数表决/逻辑电平解释在内部提出的一个数字。 有关他们如何执行此测试的一些问题:

    对于 SCIRX 引脚、配置了哪些 GPIO 限定设置?

    它们如何增加 3%或 4%的误差? 它们是否会将传输设备的波特率更改为错误值? 与振荡器+另一个器件上的振荡器的任何误差相关、仍可能会出现额外的误差。 我猜这两个器件在测试期间的实际误差%大于 4.1%。

    此致、

    Delaney

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

    尊敬的 Delaney:

    感谢您的回答、但请允许我进一步确认、因为客户的问题尚未解决。 我也回答了你在这篇文章的底部的问题。

     

    我们阅读了有关 SCI 自动波特率和自动波特率检测序列的 TRM、但客户和我本人想详细了解自动波特率机制和序列。

    https://www.ti.com/document-viewer/ja-jp/lit/html/SPRUHM8K#GUID-FAFB1E54-21F1-4DDB-A459-5EF2574FFFC2/TITLE-SPRUH18SPRU0518989

    您可以分享 Auto-Baud 的详细信息吗?

    我们想知道自动波特率检测逻辑如何检测和设置波特率。

     

    在 SCI 引导序列下、我认为 SCI 具有以下条件。 正确?

      INTOSC2:10.0MHz
      LSPCLK:2.5MHz  (SCI 引导序列中的 LOSPCP /4)

      然后、F28 上的 SCI 自动波特率模块可以设置以下波特率/无法设置以下波特率以外的其他波特率。

      BRR      波特率
      1           156.250k
      2           104.167k
      3.            78.125k
      4           62.500k
      。             。
      。             。

    在这种情况下、理论上、

    如果主机开始通过 SCI @91.146k 波特率与 F28377 进行通信、会发生什么情况? F28 无法检测波特率? 它不输出任何内容?

    如果主机通信@80.469k (78.125k + 3%)、会发生什么? F28 是否启动 SCI 通信@78.125k 波特率?

    如果主机通信@75.781k (78.125k - 3%)、会发生什么?

    如果主机通信@82.031k (78.125k + 5%)、会发生什么情况?  F28 无法设置 78.125k 波特率?

    如果主机通信@74.219k (78.125k - 5%)、会发生什么情况?  它可以设置 78.125k 波特率吗?

      

    对于 SCIRX 引脚、配置了哪些 GPIO 限定设置?

    由于这是 SCI 引导序列、我认为 GPIO 由 ROM 引导加载程序设置。 我的回答正确吗?

      

    它们如何增加 3%或 4%的误差? 它们是否会将传输设备的波特率更改为错误值? 与振荡器+另一个器件上的振荡器的任何误差相关、仍可能会出现额外的误差。 我猜两个器件在测试期间的实际误差百分比大于 4.1%。

    他们正在使用示波器观察波形、因此 3%或 4%的误差包括主机 FPGA 上振荡器的误差。

      

    谢谢。此致、

    英明  

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

    Hi Hideaki、

    我已经向设计团队发送了一封跟进电子邮件、询问相关问题、因为我仍然没有收到回复。  

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6193606

    他们正在使用示波器观察波形、因此 3%或 4%的误差包括主机 FPGA 上振荡器的误差。

      

    [/报价]

    我仍然有点困惑、他们正在定义信号范围、但他们如何计算误差? 他们是否将波形与 F2837x 器件的传输信号进行了比较?

    此致、

    Delaney

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

    尊敬的 Delaney:

    您是否收到了设计团队的任何反馈?

    关于如何产生错误、主机 FPGA 使用 80MHz 晶体振荡器来达到波特率。 因此、如果它为 78.9kbps、比 TI 建议的 78.125kbps 早 1%、则由 80MHz 的 1014 分频生成。

    由于 FPGA 上的晶体振荡器精度为 50ppm、因此他们认为在此通信中不需要考虑 FPGA 侧的误差。

    谢谢。此致、

    英明

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

    Hi Hideaki、

    可以看到、如果 FPGA 使用晶体振荡器、那么该侧振荡器引入的误差可以忽略不计。 仍可能存在一些与 FPGA 所使用的波特率+时钟速度相关的已知错误、与 F28377 器件类似。 这还有其他要检查的地方 — FPGA 是否可以恰好生成 78kbps 的波特率?

    据我所知:SCI 引导序列使用 SCI 的自动波特率检测功能来 读入字母“A"(“(使用(使用与 eCAP 模块类似的机制)、并根据捕获的信号计算位时序。 然后根据此计算、SCI 会自动设置其波特率寄存器、以匹配(尽可能接近)计算出的波特率。 如果 F28377 使用时另一个器件发送的波特率存在一些已知错误(例如,78kpbs 在 LSPCLK=SCI 时具有 0.16%的已知错误)、则 2.5MHz 引导序列固件发回的“A"将“将包含此错误、因此实际会以 78.125kbps 的波特率生成字符。 未来在具有此波特率设置的两个器件之间进行的任何通信将使得 F28377 使用 78.125kbps 的波特率、而另一个器件则恰好使用 78kbps(假定其他器件上没有已知错误)。 该差异加上任何相关的 INTOSC2 误差、即+/–3%、意味着两个器件之间的最大波特率差异将具有 3.16%的误差。   与温度、老化等环境因素相关的可能会增加一些误差、这可能会使此误差增加%、但在这种特定情况下、这些误差听起来似乎不是问题。   

    我需要从设计中了解的内容:

    1. 当 F28377 输入“A"时“时,时,自动波特检测逻辑是否引入任何其他错误 — 检测逻辑的容差是多少?
    2. 为什么存在这个 100k 限制?
    3. 自动波特率检测逻辑是如何工作的?

    当我得到他们的回复时、我会告诉您。  

    此致、

    Delaney

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

    尊敬的 Delaney:

    感谢您的答复。 您是否还没有得到设计团队的回应?

    我们确实需要尽快提供以下信息。 请继续支持此功能。

    [引述 userid=“573616" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6204444
    • 当 F28377 输入“A"时“时,时,自动波特检测逻辑是否引入任何其他错误 — 检测逻辑的容差是多少?
    • 为什么存在这个 100k 限制?
    • 自动波特率检测逻辑是如何工作的?
    [/报价]

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6193606

    在 SCI 引导序列下、我认为 SCI 具有以下条件。 正确?

      INTOSC2:10.0MHz
      LSPCLK:2.5MHz  (SCI 引导序列中的 LOSPCP /4)

      然后、F28 上的 SCI 自动波特率模块可以设置以下波特率/无法设置以下波特率以外的其他波特率。

      BRR      波特率
      1           156.250k
      2           104.167k
      3.            78.125k
      4           62.500k
      。             。
      。             。

    在这种情况下、理论上、

    如果主机开始通过 SCI @91.146k 波特率与 F28377 进行通信、会发生什么情况? F28 无法检测波特率? 它不输出任何内容?

    如果主机通信@80.469k (78.125k + 3%)、会发生什么? F28 是否启动 SCI 通信@78.125k 波特率?

    如果主机通信@75.781k (78.125k - 3%)、会发生什么?

    如果主机通信@82.031k (78.125k + 5%)、会发生什么情况?  F28 无法设置 78.125k 波特率?

    如果主机通信@74.219k (78.125k - 5%)、会发生什么情况?  它可以设置 78.125k 波特率吗?

    [/报价]

    谢谢。此致、

    英明

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

    Hi Hideaki、

    我收到了设计部门的回复、今天上午我与他们会面。 他们仍在研究一些事情、但为了进行更新、我目前的理解如下:

    TRM 中的注释讨论了电路板上外部元件增加的压摆率误差、这些元件会影响接收信号的占空比。 在高波特率下、此错误更有可能影响通信/导致通信问题。 设计人员仍在研究为什么在文档中专门使用了该 100kbps 编号、但它可能已被任意选择为低于 100kbps 的任何值、即“较低“的波特率。  

    自动波特机制在 LSPCLK 上运行、在每个 LSPCLK 边沿上以逻辑低电平或逻辑高电平读取。 由于 LSPCLK 频率只有特定的波特率、它可以在 0%误差下实现、因此通过自动波特率机制设置的波特率仍然存在“已知错误“。 对于 LSPCLK=LSP, 2.5MHz 以下是您列出的波特率: 156.250k、104.167k、78.125k。 62.5k 等  

    假设没有振荡器误差:

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6209078

    如果主机开始通过 SCI @91.146k 波特率与 F28377 进行通信、会发生什么情况? F28 无法检测波特率? 它不输出任何内容?

    [/报价]

    发送 91.146k 时的“A"或“或“A"后“后、波特率寄存器会设置为 104.167kbps。 然后、SCI ROM 引导将以 104.167kbps 波特率回显字符。

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6209078

    如果主机通信@80.469k (78.125k + 3%)、会发生什么? F28 是否启动 SCI 通信@78.125k 波特率?

    [/报价]

    没错。

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6209078

    如果主机通信@75.781k (78.125k - 3%)、会发生什么?

    [/报价]

    它将为 78.125kbps 设置波特率寄存器并以该波特率进行通信。 如果振荡器误差为 0%、它应该能够正确接收以 75.781kbps 速率发送的来自其他器件的消息。 如果振荡器误差>1%、它们将出现通信问题。

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6209078

    如果主机通信@82.031k (78.125k + 5%)、会发生什么情况?  F28 无法设置 78.125k 波特率?

    [/报价]

    f28377 将设置 78.125kbps 波特率。 但是、当它随后以 82.031kbps 波特率接收来自发送器件的消息时、将无法正确读取它们、因为此错误太高、SCI 模块无法正确读取每个位(大于 4.1%)、存在或不存在振荡器错误。

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6209078

    如果主机通信@74.219k (78.125k - 5%)、会发生什么情况?  它可以设置 78.125k 波特率吗?

    [/报价]

    这里与上面的内容相同。

    如果 在接收初始“A"或“或“A"字符“字符期间振荡器出现错误、我仍在研究波特率设置会发生什么、并与设计/其他专家进行讨论。 明天我将更新。

    此致、

    Delaney

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

    尊敬的 Delaney:

     

    非常感谢您回答我们的一些问题。 让我再确认一点。

    [引述 userid=“573616" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6210316

    如果主机通过 SCI @91.146k 波特率开始与 F28377 通信、会发生什么情况? F28 无法检测波特率? 它不输出任何内容?

    发送 91.146k 时的“A"或“或“A"后“后、波特率寄存器会设置为 104.167kbps。

    [quote userid=“573616" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6210316

    如果主机通信@82.031k (78.125k + 5%)、会发生什么情况?  F28 无法设置 78.125k 波特率?

    f28377 将设置 78.125kbps 波特率。

    [/报价]

    从您的答案上方、

    主机通信@91.146k => F28 设置 104.167kbps 波特率。

    主机通信@82.031k => F28 设置 78.125kbps

    怎么样  89.843k (78.125k+15%) 从主机?   F28377 将设置为 78.125k? 或 104.167k 波特率?

    您能详细告诉我们如何确定波特率吗?

    选择较低或较高频率的边界线是什么?  

     

    谢谢。此致、

    英明

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

    Hi Hideaki、

    我不确定在这种情况下它是向上还是向下舍入 — 我的假设是自动波特率计算 BRR 的方式与 SCI_setBaud () 函数的方式相同:

    我还会向设计团队询问这一点。

    此致、

    Delaney

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

    尊敬的 Delaney:

    不幸的是、这个问题尚未得到解决。 Autobaudrate 检测无法正常工作。 请查看他们的测试结果、您能否提供以下一些问题的答案。

      

    客户确认、当主机 FPGA 发送“A"@“@78.125k 时、F28377D 发回“A"@“@78.125k 波特率。

      

      

    但是、当主机发送“A"@“@80.469k (78.125k + 3%) 时、F28377D 没有输出、即使您按如下方式提到也是如此。

    [引述 userid=“573616" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6210316

    如果主机通信@80.469k (78.125k + 3%)、会发生什么? F28 是否启动 SCI 通信@78.125k 波特率?

    没错。

    [/报价]

      

    让我再次确认、当主机 FPGA 发送“A"@“@80.469k 波特率 (78.125k + 3%) 时、F28377 应发回“A",“,正确、正确吗?

    您认为 F28377 无输出是什么?
      无法检测到 80.469k 波特率?
      可以检测波特率但无法计算波特率?
      无法设置波特率?
      自动波特率检测正常工作、但 SCI 由于某些问题而无法正常工作?

      

    他们测试了一些波特率、如下所示、每个波特率低于 10 倍。

    波特率[kbps]

     

    故障率

    81.21827

    +4%

    100%

    80.80808

    +3.5%

    100%

    79.68127.

    +2%

    60%

    79.28642.

    %μ s

    60%

    78.89546

    +1%

    30%

    78.125

    0%

    0%

    客户想知道自动波特率检测有问题。

    请尽快帮助解决此问题。

     

    谢谢。此致、

    英明  

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

    Hi Hideaki、

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6217092

    让我再次确认、当主机 FPGA 发送“A"@“@80.469k 波特率 (78.125k + 3%) 时、F28377 应发回“A",“,正确、正确吗?

    [/报价]

    是的、这应该是我理解的行为。 如果不从引导 ROM 逐步执行 SCI 引导的代码、就很难说发生了什么。 他们能否尝试连接到 CCS 并加载引导 ROM 符号、 如此处所述? 他们可以在 SCI_Boot.c 的 SCI_Boot () 函数中添加一个断点、作为参考、此源位于 C2000ware 路径中:\libraries\boot_rom\f2837xd\RevB\ROM_Sources\F2837x_bootROM\cpu01-bootROM\source\SCI_Boot.c 在 FPGA 以其中一个未通过的波特率发送“A"后“后、代码是否退出等待自动波特率锁定的 while 循环:

        // Wait until we correctly read an
        // 'A' or 'a' and lock
        while(SciaRegs.SCIFFCT.bit.ABD != 1) {}

    是否已达到以下行?

        SciaRegs.SCITXBUF = byteData;

    请告诉我代码执行是什么样子的、程序是否挂起? 在连续刷新也打开的情况下检查 SCIA 寄存器的状态会有所帮助。

    此外、为了确保将其引导引脚直接设置为 SCI 引导模式?

    • GPIO72 — 拉至低电平
    • GPIO84 — 拉至高电平

    此致、

    Delaney

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

    尊敬的 Delaney:

    很抱歉我们延迟的回复。 客户检查了 SCI_Boot () 来设置系统行为。 他们观察到代码没有从 while 循环中跳出并跳到 asm(“ ESTP0“) ;在中 c1brom_itrap_isr () 上述问题发生的时间。

    您可以帮助回答以下问题吗?  

    1. 是否可以从该结果中找出此问题的根本原因?  
    1. 你能告诉我们,从 while 循环中断的条件是什么?  
    1. 发送 0xFF 意味着什么?
       当 SCI 引导正确操作时、F28 会将 0x41 “A"发“发送回主机 (FPGA)
       但是、当问题发生时、F28x 会在发送 0x41 或 F28x 之前发送 0xFF、不会发送任何内容。  
    1. 您能否检查他们测试的以下过程中是否存在错误的步骤或任何问题?
       
       1) 启动 CCS
       2) 将 JTAG 连接到电路板上的 F28377D
       3) 关闭电路板电源
       4) 电路板上电(需要关闭/打开电源以重新启动主机 FPGA。)
       5) CCS 上的“Connect"</s>“
       6) 在“处添加断点 返回 EntryAddr; SCI_BOOT ()
            他们做的很快,但它需要大约 3 到 5 秒从 4 ) 上电到 6 ) 添加断点。

      <正常情况>
       7) 紧随 6) 添加断点、代码在 SCI_BOOT () 底部的断点处停止。

      <失败案例>
       7) 紧跟在 6) 添加断点、 代码停止在 asm(“ ESTP0“);在 c1brom_itrap_isr () 中
           代码永远不会转至 SCI_Boot () 的末尾。

     

    谢谢。此致、

    英明

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

    Hi Hideaki、

    我将对此进行研究、并在 1-2 天内回复您。  
    此致、

    Delaney

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

    尊敬的 Delaney:

    虽然我昨天刚问过你、但很抱歉催促你。 你能帮助回答以下两个问题明天上午在日本时间? 因为我们明天下午将与客户会面。

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1598114/tms320f28377d-uart-auto-baud-detection-doesn-t-work-correctly/6252217
    1. 你能告诉我们,从 while 循环中断的条件是什么?  
    1. 发送 0xFF 意味着什么?
       当 SCI 引导正确操作时、F28 会将 0x41 “A"发“发送回主机 (FPGA)
       但是、当问题发生时、F28x 会在发送 0x41 或 F28x 之前发送 0xFF、不会发送任何内容。  
    [/报价]

     

    谢谢。此致、

    英明

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

    Hi Hideaki、

    以下是有关 ITRAP ISR 及其可能原因的一些信息:

    当 CCS 在 c1brom_itrap_isr () 中的 Estop 行停止时、他们能否检查将哪个地址写入 iTrap_addr? 这可以告诉我们是哪条线路导致了问题。

    他们是否看到附加了 CCS 的 0xFF 或在独立期间?  

    此致、

    Delaney

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

    尊敬的 Delaney:

    感谢您的答复。

    当 CCS 在 c1brom_itrap_isr () 中的 Estop 行停止时、他们能否检查将哪个地址写入 iTrap_addr? 这可以告诉我们是哪一行导致了问题。

      

    它似乎从 0x0008 0000 跳转。

      

      

    他们看到的是附加了 CCS 的 0xFF 还是在独立期间?  [/报价]

    都是使用 CCS 和独立器件。

     

    谢谢。此致、

    英明

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

    Hi Hideaki、

    您能否检查其映射文件以查看位于 0x00080000 的位置?

    此致、

    Delaney

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

    尊敬的 Delaney:

    它们不使用闪存 (0x0008 0000)。

    此致、

    英明

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

    Hi Hideaki、

    让我在引导 ROM 专家中循环解释更多有关代码的信息。

    此致、

    Delaney

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

    Hi Hideaki、

    请在电子邮件链上查看我的回复、让我知道他们在执行我提到的测试时看到的内容。

    此致、

    Delaney