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.

[参考译文] TM4C129ENCPDT:从晶体更改为外部振荡器和 I2C

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/590583/tm4c129encpdt-changing-from-crystal-to-external-oscillator-and-i2c

器件型号:TM4C129ENCPDT

你好。

由于某些硬件要求、我们必须从使用25MHz 晶体更改为 OSC0引脚上的25MHz 外部振荡器(由50MHz 除以2)。 软件根本没有改变(我们使用的是 Tivaware 2.1.0.12573版本)。

是否有必要更改我们对 SysCtlClockFreqSet 函数的调用? 现在是:

G_ui32SysClock = MAP_SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000); 

另一方面、我们在 I2C 端口上看到一些奇怪的行为(SDA 和 SCL 以及超时)。

由于外部振荡器、I2C 时钟是否有任何变化?  I2CMasterInitExpClk 调用保持不变。

谢谢你

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

    [引用 USER="Pak ]]是否有必要更改我们对 SysCtlClockFreqSet 函数的调用?[/引用]TM4C129ENCPDT 数据表对  主振荡器控制(MOSCCTL)寄存器中的 PWRDN 字段有以下说明:

    从查看  TivaWare_C_Series-2.1.4.178中的 SysCtlClockFreqSet 源可以 始终清除 SYSCTL_MOSCCTL_PWRDN 位。

    因此、在现有 的 SysCtlClockFreqSet 之后、我认为您可能需要添加:

    SysCtlMOSCConfigSet (SYSCTL_MOSC_PWR_DIS); 

    请注意、我没有测试过这个、不确定  在 SysCtlClockFreqSet 尝试同步之后是否设置 PWRDN 位、PLL 将生成一个有效的时钟。 似乎有一个遗漏、 SysCtlClockFreqSet ()没有允许为主振荡器指定单端输入的选项。

    您可能需要创建一 个修改后的 SysCtlClockFreqSet ()、在 尝试同步 PLL 之前、该函数不会清除 PWRDN 位。

    [引用 USER="Pak ]另一方面、我们在 I2C 端口上看到了一些奇怪的行为(SDA 和 SCL 以及超时)。我的猜测是硬件检测到不存在的晶体出现故障、因此系统频率未正确设置。

     SysCtlClockFreqSet 函数是否返回零值以指示故障?

    编辑:将 SYSCTL_MOSC_SESRC 更正为 SYSCTL_MOSC_PWR_DIS。

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

    [引用用户="Chester Gillon"]

    Pak
    是否有必要更改我们对 SysCtlClockFreqSet 函数的调用?

    TM4C129ENCPDT 数据表对  主振荡器控制(MOSCCTL)寄存器中的 PWRDN 域进行了以下说明:

    从查看  TivaWare_C_Series-2.1.4.178中的 SysCtlClockFreqSet 源可以 始终清除 SYSCTL_MOSCCTL_PWRDN 位。

    因此、在现有 的 SysCtlClockFreqSet 之后、我认为您可能需要添加:

    SysCtlMOSCConfigSet (SYSCTL_MOSC_PWR_DIS); 

    请注意、我没有测试过这个、不确定  在 SysCtlClockFreqSet 尝试同步之后是否设置 PWRDN 位、PLL 将生成一个有效的时钟。 似乎有一个遗漏、 SysCtlClockFreqSet ()没有允许为主振荡器指定单端输入的选项。

    您可能需要创建一 个修改后的 SysCtlClockFreqSet ()、在 尝试同步 PLL 之前、该函数不会清除 PWRDN 位。

    Pak
    另一方面、我们在 I2C 端口上看到一些奇怪的行为(SDA 和 SCL 以及超时)。

    我猜硬件检测到不存在晶体的故障、因此系统频率设置不正确。

     SysCtlClockFreqSet 函数是否返回零值以指示故障?

    编辑:将 SYSCTL_MOSC_SESRC 更正为 SYSCTL_MOSC_PWR_DIS。

    [/报价]

    感谢切斯特的快速回答。

    但是、请致电:  

    SysCtlMOSCConfigSet (SYSCTL_MOSC_PWR_DIS); 

    在 SysCtlClockFreqSet 不工作之后(至少我遇到了与 I2C 相同的问题)。 通过 UART 和以太网的通信正常、程序似乎正在运行、但 I2C 无法正常工作。

     SysCtlClockFreqSet 的返回调用显示 g_ui32SysClock=120000000。 我认为即使与外部振荡器一起使用也可以用作系统时钟、对吧?

    再次感谢

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

    [引用 user="paka]UART 和以太网通信正常、程序似乎运行、但 I2C 无法正常工作。不同的外设具有不同的时钟源。 从数据表中可以看出:

    a) EMAC (以太网)使用主振荡器、需要25MHz 晶振。

    b) UART 可以使用系统时钟或 全局备用时钟作为波特率时钟源。 [其中 全局备用时钟默认为修整后的16MHz PIOSC]

    C) I2C 使用系统时钟作为时钟源。

    因此、如果将系统时钟设置为错误的频率、I2C 外设将受到影响、但以太网和 UART (使用全局备用时钟)可以继续正常运行。

    我一直在使用代码来验证 SysCtlClockFreqSet()已将实际系统时钟频率设置为正确的值 ,方法是运行两个计时器,这些计时器由 PIOSC (固定标称值16MHz)和系统时钟计时。 代码为:

    /*
    main.c
    */
    
    #include 
    #include 
    #include 
    
    #include 
    #include 
    #include 
    
    /**在测试器件时钟频率设置为 TM4C129器件允许的最大值的情况下*/
    #define CLOCK FREQUENCY _Hz 120000000
    
    /**修整的内部 PIOSC 频率*/
    #define PIOSC_FREQUENCY Hz 16000000
    
    /**
    *@简短初始化系统时钟, 并执行完整性检查、确保已设置预期频率
    *
    /静态 void initial_clock (void)
    {
    uint32_t reported_frequency;
    uint32_t pioosc_start_ticks、pioosc_stop_tick;
    uint32_t sys_clock_start_tick、sys_clock_stop_tick;
    
    已报告频率= SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、
    Clock_frequency Hz);
    
    SysCtlPeripheralDisable (SYSCTL_Periph_TIMER0);
    SysCtlPeripheralDisable (SYSCTL_Periph_Timer1);
    SysCtlPeripheralReset (SYSCTL_Periph_TIMER0);
    SysCtlPeripheralReset (SYSCTL_Periph_Timer1);
    SysCtlPeripheralEnable (SYSCTL_Periph_TIMER0);
    SysCtlPeripheralEnable (SYSCTL_Periph_Timer1);
    while (!SysCtlPeripheralReady (SYSCTL_Periph_TIMER0)||!SysCtlPeripheralReady (SYSCTL_Periph_Timer1))
    {
    }
    
    /*将 timer0设置为从系统时钟驱动的32位周期递增计数器*/
    TimerClockSourceSet (TIMER0_BASE、TIMER_CLOCK 系统);
    TimerConfigure (TIMER0_BASE、TIMER_CFG_PERIODICY_UP);
    TimerLoadSet (TIMER0_BASE、TIMER_A、0xFFFF);
    TimerEnable (TIMER0_BASE、TIMER_A);
    
    /*将 Timer1设置为从 PIOSC 驱动的32位周期性上数计数器*/
    TimerClockSourceSet (Timer1_base、timer_clock_PIOSC);
    TimerConfigure (Timer1_base、timer_CFG_PERIODIC_UP);
    TimerLoadSet (Timer1_base、timer_A、0xffffffff);
    TimerEnable (Timer1_base、timer_A);
    
    /*根据从 PIOSC 驱动的定时器等待一秒钟*
    pioosc_start_tick = TimerValueGet (Timer1_base、timer_A);
    SYS_CLOCK _START_TICKs =定时器 ValueGet (TIMER0_BASE、定时器_A);
    操作
    {
    piosc_stop_tick = TimerValueGet (Timer1_base、timer_A);
    SYS_CLOCK_STOP_TICKs = TimerValueGet (TIMER0_BASE、TIMER_A);
    } while (((piosc_stop_tick - piosc_start_tick)< PIOSC_FREQUENCY);
    
    const uint32_t sys_clock_tICKS_per_sec = sys_clock_stop_tick - sys_clock_start_ticks;
    printf ("请求的时钟频率:%u Hz\n"、clock_frequency _Hz);
    printf (" SysCtlClockFreqSet()报告的时钟频率:%u Hz\n",reported_frequency);
    printf ("测得的时钟频率=%u Hz\n"、sys_clock_tics_per_sec);
    }
    
    int main (void)
    {
    initialize_clock ();
    
    返回0;
    } 

    在带有25MHz 晶体的 LaunchPad 上运行时、结果为:

    请求的时钟频率:120000000Hz
    SysCtlClockFreqSet()报告的时钟频率:120000000Hz
    测得的时钟频率= 119011383Hz 

    明显有0.8%的误差、但这可能会下降至用作时序基准的 PIOSC。

    如果您在硬件上运行上述代码、则报告的测量时钟频率是多少?

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

    Chester 在这里展示的努力和细节是典范-是否不会证明比"通过定时器-强制进入 PWM 模式"输出和测量系统时钟的"频率分频"(可能的最小分频值)副本快/容易得多?"   (这假定此 MCU (129x)可能会将系统时钟用作计时器的输入时钟源。)

    也没有海报的报告-他对 SCL 频率的测量-在"之前"和"发布" MCU 时钟源的更改。   

    而且-一如既往-是否为"单板"而不是(更有意义的)"多板"的出现发起了这一努力?   "任何可能的/可疑的事情"加上"单板"-在多个板/MCU 上记录(并重复)相同的效果-大大提高了(真实的) MCU 问题的可能性。   (不是电路板构建/组装错误-只见一次!)

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

    谢谢切斯特。

    在运行程序两次后、我使用 JTAG 探针获得以下结果:

    [Cortex_M4_0]请求的时钟频率:120000000Hz
    SysCtlClockFreqSet()报告的时钟频率:120000000Hz
    测得的时钟频率= 119467097Hz

    请求的时钟频率:120000000Hz
    SysCtlClockFreqSet()报告的时钟频率:120000000Hz
    测得的时钟频率= 119507513Hz

    99.5%… 即使我没有使用 SysCtlMOSCConfigSet (SYSCTL_MOSC_PWR_DIS);调用。

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

    [报价 USER="Pak ]SO 99.5%[/QUESP]OK、由计时器测量的系统时钟频率是正确的。

    您能否展示 如何设置2C 主计时器周期、并提供有关 I2C 计时问题的更多详细信息?

    例如、显示了工作(25MHz 晶体)和非工作(OSC0上的25MHz 单端输入)情况的示波器捕获。

    此外、使用 CCS 调试器、您可以检查  I2C 主机定时器周期(I2CMTPR)寄存器的值、以了解工作和非工作情况。

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

    谢谢切斯特。

    I2C 的问题是、使用相同的代码、I2C 信号如下所示:

    在晶体板上、如下所示:

    这似乎是它们之间的延迟(在同一引脚上)。

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

    您对"比较范围跟踪"(正如我的初始帖子所建议)的演示已启用"真实分析"。   虽然您最初注意到"奇数行为"-单个迹线表明、I2C 完全无法正常工作!

    顶部走线显示了 SCL 和 SDA 之间的完整"中断"!   请注意、示波器将 SCL 记录为128.9KHz。   这几乎肯定会发出一个重大的 MCU"设置"问题-或该 MCU 无法接受您更改后的输入源。   回到您的"奇数行为"报告-如果事实证明(某些) I2C 传输成功-那么您的 SCL 到 SDA 的时序"必须"变化-这是非常难以理解的。   在您的新操作下-您是否知道 I2C 传输成功?   这远远超出了"奇数行为"、并且需要和请求明确性(有一个新的转移)。

    底部曲线显示了 SCL 时钟 SDA 的预期(正确)显示。 SCL (看起来)为98.5KHz -更接近100KHz 标准。

    这远远超出了"延迟"-顶部迹线报告了不可用(和非法) I2C 输出。   I2C 时钟必须与 I2C 数据良好同步-显然您的时钟无法"接近"。

    为了简化此类比较-事实证明、传输相同的数据-并尝试适应信号、以便它们尽可能"填充"范围。 (怀疑扩大时基一次点击可以获得更好的填充效果-从而更容易读取信号边沿)

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

    [引用 USER="CB1_MOBILE "]

    您对"比较范围跟踪"(正如我的初始帖子所建议)的演示已启用"真实分析"。   虽然您最初注意到"奇数行为"-单个迹线表明、I2C 完全无法正常工作!

    顶部走线显示了 SCL 和 SDA 之间的完整"中断"!   请注意、示波器将 SCL 记录为128.9KHz。   这几乎肯定会发出一个重大的 MCU"设置"问题-或该 MCU 无法接受您更改后的输入源。   回到您的"奇数行为"报告-如果事实证明(某些) I2C 传输成功-那么您的 SCL 到 SDA 的时序"必须"变化-这是非常难以理解的。   在您的新操作下-您是否知道 I2C 传输成功?   这远远超出了"奇数行为"、并且需要和请求明确性(有一个新的转移)。

    底部曲线显示了 SCL 时钟 SDA 的预期(正确)显示。 SCL (看起来)为98.5KHz -更接近100KHz 标准。

    这远远超出了"延迟"-顶部迹线报告了不可用(和非法) I2C 输出。   I2C 时钟必须与 I2C 数据良好同步-显然您的时钟无法"接近"。

    为了简化此类比较-事实证明、传输相同的数据-并尝试适应信号、以便它们尽可能"填充"范围。 (怀疑扩大时基一次点击可以获得更好的填充效果-从而更容易读取信号边沿)

    [/报价]

    没错...我还在振荡器板上以400kHz 的频率进行了测试、我得到了330kHz 的时钟。 I2C 从未在这个电路板上工作过、希望总线的每个速度的延迟看起来是恒定的。

    在使用外部振荡器(而不是外部晶振)时、TI 员工可能会为 I2C 配置一些东西。

    此致

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

    [引用 user="pak"]使用外部振荡器(而不是外部晶体)时,可能需要为 I2C 配置一些内容

    的确-尽管海报切斯特在识别"设置和配置"(潜在)限制方面做出了巨大努力-这是您使用外部振荡器造成的。   我们必须注意是、"多个/大多数" MCU 在外部振荡器下确实可以接受并表现良好-器件的以太网功能(很可能)增加了对输入时钟源的灵敏度。

    该工厂具备在这方面(真正/深入)提供建议的最佳设备。   (并非器件的所有"输入/输出"均由该供应商或(类似)其他供应商发布)

    我知道您对"保存"有一定的要求-但必须注意的是、您的(返回)过去(成功) 25MHz xtal 电路-完全避免了这一问题(新:I2C 故障)。

    您是否可以更好地以书面形式表示您的意图、"奇怪的 I2C 行为?"   从显示的单个(失败)波形-我不能接受任何 I2C 传输都能成功!  ("时钟到数据同步"的损失非常大!)

    至于"潜在解决方案"-您的(新增的)振荡器是否有可能会在从振荡器到 MCU 的路径中强制增加布线长度?   其他高速信号是否可以接近和/或并行运行到振荡器的连接轨道"?   此外-如果在添加振荡器时不考虑正式的"为适应振荡器而重新设计的 PCB "、您是否只需"连接"振荡器的输出?  MCU 的晶体输入电路"期望"2个输入-您是如何处理(现在)空(我认为是 OSC1)输入的?    如果您的问题在 MCU 外部、此详细信息/说明非常有用-因此供应商的技术人员不知道!

    你说"除以2"-这是通过振荡器实现的-是这样吗?  (我不相信 MCU 可以接受如此高的频率(50MHz)、然后实现您的"除法"。  再次-请说明。)

    只会产生问题-您是否可以用不同供应商提供的其他几个振荡器替换现有的50MHz 振荡器-以及测试/观察?   (这里的一名员工回顾了这样一个问题-尽管有另外一个 Cortex M4 -振荡器的改变确实起了作用!)   请注意、这种"替代其他振荡器制造"可能最有意义(仅限)、这在揭示了此处列出的其他电路板设计/实施问题后才有意义!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在使用晶体或频率相同的外部振荡器方面没有固有的差异。 但是、当使用外部振荡器时、您需要确保 OSC0线路上没有反射。 PLL 可能会将反射解释为额外的时钟边沿、并尝试瞬间加速至频率的两倍、从而导致不可预测的结果。

    作为实验、您可以尝试从16MHz 精密内部振荡器运行 PLL、以查看这是否解决了问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    发现了这个问题...避免使用某些上拉电阻器的制造错误、使得总线上的一些 I2C IC 具有 UART 行为。 可能透析的信号是该器件(对我们的信号 SCL)的应答。

    很抱歉这个错误、感谢大家的大力帮助。

    我希望这对将来的人有所帮助、对我来说、它澄清了使用晶体或外部振荡器的情况是一样的。  

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

    [引用用户="Bob Crosby">出于好奇、使用晶体或相同频率的外部振荡器没有内在差异[/quot]这是否意味着需要  为单端模式设置主振荡器控制(MOSCCTL)寄存器中 PWRDN 字段的数据表注释不正确?

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

    Bob -谢谢您-谢谢。

    您是否可以建议-当振荡器而非 xtal 驱动 OSC0时、正确处理"MCU 的 OSC1"?   在大多数(过去) MCU 中、"OSC1"用作晶体电路的输出反馈-因此可能保持未连接状态。

    O.P.的诊断证明(并非)特别令人信服。

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

    设置 PWRDN 位会禁用驱动晶体的非缓冲反向器。 从而降低功耗和电气辐射。  您正确地告知原始海报、在单输入模式下运行时应设置该海报、但这不可能是导致频率不正确的原因。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 CB1、
    正确、当 OSC0由振荡器驱动时、OSC1应保持未连接状态。

    我认为 Pak 的问题与从晶体到振荡器的变化完全无关。 我的理解是(如果我错了、请纠正我的问题)带有晶振的原始板工作正常、但带有振荡器的修改后的板工作正常。 唯一的"有意"更改是从晶体到振荡器、但无意中缺少电阻器、导致其中一个 I2C 从器件将其 I2C 线路配置为 UART 线路。 我认为这会导致驱动冲突、因此 TM4C 无法将 SDA 线路驱动为低电平。 回顾故障场景示波器屏幕截图、您可以看到 SDA 上的驱动器与第一个 SCL 边沿发生冲突。 当它无法将 SDA 驱动为低电平时、I2C 保持计时、但停止驱动 SDA。 第二个传输很有趣、因为它看起来像是 SCL 上的驱动器冲突、而 SDA 现在是正确的。 有趣,但问题现在已经解决了,很学术。 (我也没有缺少需要思考的有趣问题。)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    特别是那些(总有深思熟虑)"有趣的问题"的"不缺"、表现为"不起作用!"   (建议这是"您的"错误!)

    感谢您确认"OSC1"的处理方式。   海报对"奇数 I2C 行为"的描述(显然没有 I2C 功能)、然后修复的"偶数"使我的"八弹球"预测"海报的返回"。

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

    [引用 user="Bob Crosby">您好 CB1、
    正确、当 OSC0由振荡器驱动时、OSC1应保持未连接状态。

    我认为 Pak 的问题与从晶体到振荡器的变化完全无关。 我的理解是(如果我错了、请纠正我的问题)带有晶振的原始板工作正常、但带有振荡器的修改后的板工作正常。 唯一的"有意"更改是从晶体到振荡器、但无意中缺少电阻器、导致其中一个 I2C 从器件将其 I2C 线路配置为 UART 线路。 我认为这会导致驱动冲突、因此 TM4C 无法将 SDA 线路驱动为低电平。 回顾故障场景示波器屏幕截图、您可以看到 SDA 上的驱动器与第一个 SCL 边沿发生冲突。 当它无法将 SDA 驱动为低电平时、I2C 保持计时、但停止驱动 SDA。 第二个传输很有趣、因为它看起来像是 SCL 上的驱动器冲突、而 SDA 现在是正确的。 有趣,但问题现在已经解决了,很学术。 (我也没有缺少需要思考的有趣问题。)

    [/报价]

    这是对发生的事情的完美描述。

    感谢你能抽出时间

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是对所发生事件的完美描述。

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

    由于描述被认为是"完美"的-也许您能识别出(麻烦的) I2C 从器件-和"错过"所需上拉的引脚-以便 您(有趣但不寻常)的发现可以被复制。

    由于公司/我不是129x 粉丝-我已要求客户"复制您的设置"和测试/报告。   正如我先前所指出的那样、它们也存在 I2C 问题-事实证明这是施加在振荡器输出上的噪声。   客户非常感谢您列出这两个简单的详细信息。   (即从器件制造/模型和引脚"缺失"上拉)   我们尝试提供帮助、非常感谢您的输入...

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

    是的、BOSCH BNOXXX IMU 设备。

    该行为在电路板上重复发生

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

    谢谢-哪个引脚"错过了"上拉电阻?   我们公司从未/从未见过或听说过合法的 I2C 从设备以这种方式运行!

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

    谢谢-非常感谢... BTW -我们应该将"PM"改为:"相控阵雷达"中使用的"元材料"。 (公司/我有最新/最大的-可能会接受您在贸易领域的"第一出生"。   (当然、前提是他/她证明在 SMT 焊接中是足够的!)

    好的-解决了问题(以及最意想不到的)、似乎不是缺少上拉电阻器-而是(专门) Adafruit Eval 板的"PS1"到3V3的连接-它将 Bosch 器件从 I2C 切换到 UART。   ("唯一"表示这样做)  此处-对于感兴趣的人-是链接页面的真实副本:

    "您需要将 PS1引脚从顶行连接到3.3V 电源、以将 BNO055置于 UART 模式。  一旦进入 UART 模式、BNO055的 SCL 和 SDA 引脚将成为串行 RX 和 TX 引脚。"

    请注意、电路板在(SCL 和 SDA)上都包含了上拉电阻器(电阻器 R6和 R7)、因此、"缺少上拉电阻器"的报告(这是出于此考虑)显示为"不是这种情况"。

    实际上、您选择了一个强大的传感器、但"更新速度"-当 I2C 将其调低时-似乎并不是特别受启发!   (SPI 可能会实现100:1的加速-也许即将到来...)

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

    [引用 USER="CB1_MOBILE "]

    谢谢-非常感谢... BTW -我们应该将"PM"改为:"相控阵雷达"中使用的"元材料"。 (公司/我有最新/最大的-可能会接受您在贸易领域的"第一出生"。   (当然、前提是他/她证明在 SMT 焊接中是足够的!)

    好的-解决了问题(以及最意想不到的)、似乎不是缺少上拉电阻器-而是(专门) Adafruit Eval 板的"PS1"到3V3的连接-它将 Bosch 器件从 I2C 切换到 UART。   ("唯一"表示这样做)  此处-对于感兴趣的人-是链接页面的真实副本:

    "您需要将 PS1引脚从顶行连接到3.3V 电源、以将 BNO055置于 UART 模式。  一旦进入 UART 模式、BNO055的 SCL 和 SDA 引脚将成为串行 RX 和 TX 引脚。"

    请注意、电路板在(SCL 和 SDA)上都包含了上拉电阻器(电阻器 R6和 R7)、因此、"缺少上拉电阻器"的报告(这是出于此考虑)显示为"不是这种情况"。

    实际上、您选择了一个强大的传感器、但"更新速度"-当 I2C 将其调低时-似乎并不是特别受启发!   (SPI 可能会实现100:1的加速-也许即将到来...)

    [/报价]

    下午。

    I2C 速度足够 ìn 我们的应用、在其他更复杂的传感器上使用 SPI 端口。

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

    [报价 USER="Pak ]SPI 端口用于其他更复杂的传感器

    我可以看到(我真的可以)博世产品经理的脸收紧了-正如他所说的!   "9-DOF"传感器是否(不)被判定为复杂?   (我将尝试与 Wolfgang 一起"流畅"。)

    如果您(真的)想要"复杂"-您可能会注意到我们最新/最出色的 ARM Cortex MCU -"R52"。   此 MCU 面向直接/独特的"安全关键型应用"(即自主/辅助汽车、医疗、关键工业)

    在完成此帖子时-刚刚看到"PM Light Turn On!"    必须是"你"-昨天派送的所有赡养费支票...   (并且..."增强"(和复杂)优惠"不可能"降落-这是一个备受推崇的空间...)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通过"复杂"我认为"时间关键型"...in、我们的产品系列。 实时世界可能很难...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请阅读(刚刚添加)最后一段 ——我之前的帖子。 也许我会解释"为什么"我会要求您来此。 (元材料不便宜)

    BTW -如果"时间关键型" MCU 速度不会快得多-将您的"雷达"吸一下!    (CB1今日-火警!)   (朋友 Pak 公司生产基于雷达的设备!)

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

    明天、我都会听到 eyes....promise 的声音...现在已经很晚了。
    在大多数工程师雷达的支持下、新设备领域正在发生很多变化!!! (也在火上)

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

    [引用 USER="Pak ]大多数工程师雷达之外的新器件领域正在发生很多变化!!! [/报价]

    不在 CB1之外-谁(也许是巧妙的)聘请天才高中 Kidz 扫描20多种出版物-寻找"关键词"。   

    熟悉后-这些聪明的年轻人"知道"公司/我需要什么-这节省了我们的时间/精力。   (以便我们可以"更好地获取"高级材料、最新 MCU 等)

    我的 PM 指示灯不是来自您、也不是来自"增强型"。   好极了!    

    BTW -不需要"跳跃"-我们进入"自主"为我们提供了更多的互动机会。   (也许)  (我总是"尽力"。)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    向您的两个 accounts....it 发送了一条消息、似乎我先将其发送给了错误的一条消息
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    的确-著名的"CCB1"账户(暂时)"处于中断状态"。
    我已通过与此"移动"帐户绑定的 PM 回答(详细)。