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.

[参考译文] CC1310:检查生效函数是否合法时出错

Guru**** 2481465 points
Other Parts Discussed in Thread: CC1310, CC1312R, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1296896/cc1310-error-checking-for-assert-function-dionumberlegal

器件型号:CC1310
主题中讨论的其他器件: CC1312RSysConfig

大家好、

目前、当调试 CC1310程序时、有时 dionumberlegal 返回0、而 iocount 的值为0。 iocount 是从 FCFG1中 IOCONF 的低8位获得的、请检查它是否为0x1E、这是什么导致了此读取错误、是否有人遇到了此问题?

注:

1、这个函数并不总是有问题、但偶尔会有过多的问题、所以位偏移和位掩码不是问题

2、在 debug 下的 gpio.c dionumberlegal 函数中、在返回 dionumber<iocount 内添加一个断点。 有时在这里停留,但不是每次都

3、通常不会出现、但有时我会调用仿真 i2c 来实现一些 IO 端口操作、有时会进入故障 ISR、不知道这是否与此相关、不知道如何对进入故障 ISR 的原因进行故障排除  

这是最令人兴奋的发展:

我们发现、当另一个模块开启时、由模拟 i2c 引起的 VSYS 压降。 VSYS 是 CC1310的 Vdd、电压从3.54V 到2.28V、100us 下降约1.26V、恢复时间300us、数据手册中允许的最大下降值是20mV/us、应该在范围内、Vdd 还具有1.8V 以上的电压、 但低功耗闪存允许的最大下降率为3mV/us。 这是否会影响 FCFG1寄存器的读取?  

谢谢、此致、

约兰德

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

    尊敬的 Yolande:

    您使用的是哪个版本的1997年2月3日? 我们过去遇到过这样的已知问题、但在2018年修复了。

    您是否定义了 DRIVERLIB_DEBUG?

    谢谢、

    M·H

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

    尊敬的  Marie H:

    在这方面、我使用的 SDK 很旧、具体版本尚不清楚、GPIO.c 的更新时间为2015年01月13日 版本号为42365。 一个宏已经被定制为 DRV_LIB_DEBUG_EN、有可能改变了名称。 您能告诉我2018年修复了哪些错误吗? 具体的代码可以发布,以便我可以比较它.

    谢谢、此致、

    约兰德

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

    尊敬的 Yolande:

    您可以发布您的 driverlib/gpio.h 版本吗?

    对于 CC13x0器件、使用 DioNumberLegal 的方式返回合法范围:

    return (( dioNumber > 0 ) && ( dioNumber <= ioCount ));

    谢谢、

    M·H

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

    尊敬的 Marie H:

    代码和文件已经过检查、不应与该代码相关。 或者使用 CC1310电源电压 VSYS 快速压降相关、VSYS 是 CC1310 Vdd、电压从3.54V 到2.28V、100us 约下降1.26V、恢复300us、根据数据手册请参见、允许的最大压降为20mV μs μ V/us、应在范围内、Vdd 也高于1.8V、 但低功耗闪存允许的最大下降率为3mV μs μ V/us。 这是否会影响 FCFG1寄存器的读取?  

    谢谢、此致、

    约兰德

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

    尊敬的 Yolande:

    您是否能够使用稳定的电源进行测试并验证问题是否仍然存在?

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

    尊敬的 Diego P:

    在稳定的电源上运行程序没有问题。 但是,要知道 VSYS 的当前下降是否在数据集中,以及某些外设是否处于允许下降范围内的异常状态,这将是一件有趣的事情。

    谢谢、此致、

    约兰德

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

    尊敬的 Diego P:

    有任何更新吗?

    谢谢、此致、

    约兰德

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

    尊敬的 Yolande:

    默认情况下 、该器件以低功耗闪光灯模式运行、因为使用高功率闪光灯模式时电流消耗会增加。  

       如 数据表中所述、电源电压的最大下降速率为3mV/us。 您电路板上的电源电压远高于此速率。 因此、 正如预期的那样、您将无法正确读取闪存。

    此致、

    Hg

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

    您好、HG:

    如何配置低功率闪存模式,我检查程序是否处于低功率闪存模式。

    谢谢、此致、

    约兰德

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

    您好、HG:

    有任何更新吗?

    谢谢、此致、

    约兰德

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

    尊敬的 Yolande:

    默认情况下、   当您使用 SDK 或 SmartRF Studio 时、器件会配置为低功耗模式。 我将与我们的研发团队核实如何查看器件使用的是哪种模式。 我会在星期一之前回来找你。

    为何您不尝试在硬件级别解决此问题? 电源电压下降1.26V 的幅度相当大。 我建议尝试找出这种电源压降的原因并防止其发生、而不是尝试在软件中解决。  

    此致、

    Hg

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

    您好、HG:

    我  期待收到您的回复。

    谢谢、此致、

    约兰德

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

    您好,HG,

    对于未制造的设备、我们肯定会使用硬件解决方案来避免电源压降;

    然而,对于已经制造的设备,由于该机器不能拆卸和修理,希望如果有办法解决问题,它将暂时使用。 希望你能给我们一个复习的方法和改变的方法,非常感谢。

    谢谢、此致、

    约兰德

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

    尊敬的 Yolande:

    我仍在研究如何启用 高功率闪光灯模式。 到目前为止、我们 认为可  通过在闪存:FSEQPMP:VIN_BY_PASS (0x4003 20A8 [8])中写入0x1并在 闪存:FSEQPMP:VIN_AT_X 中设置0x0来启用高功率模式。0x4003 20A8 [14:12]。

    我必须测试一下、并 在星期三之前与您联系。 您是否还可以在终端进行测试、看看它是否有帮助? 您可能必须首先在 FLASH:FLASH 0x4003 2064上写入0xAAAA、然后才能写入寄存器 FLASH:FSEQPMP。

    此致、

    Hg

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

    尊敬的 Yolande:

    我现在已经测试了上述设置。 它是启用高功率闪光灯模式的方法。 在可以写入 FLASH:FSEQPMP 寄存器之前、必须存储 FLASH:FLOCK 的值并将0xAAAA 写入 FLASH:FLOCK 寄存器。 当您写入 FLASH:FSEQPMP 后、必须 将 FLASH:Flock 寄存器重写为其默认值。 请记住、此模式会增加电流消耗。

    此外、 如果您使用 NVS_WRITE 函数、 FLASH:FSEQPAMP 寄存器将恢复到其默认值。 这意味着器件将返回到低功耗闪存模式。

    此致、

    Hg

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

    您好、HG:

    感谢您收到配置消息。

    我们准备好在打开附加电路之前打开高功率闪光灯模式、然后在电路稳定后关闭高功率闪光灯模式。

    这是可行的吗? 想知道硬件在高功率闪光灯模式开启前不会生效多长时间、从而实现20mV μus μA 的下降率

    谢谢、此致、

    约兰德

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

    您好!

    可以将模式改回低功耗模式。 只需将0x7写入 闪存:FSEQPMP:VIN_AT_X 并将0x0写入 闪存:FSEQPMP:VIN_BY_PASS 即可返回默认模式。 我 不确定此开关的时间、但不应花费 太多时间。 您应该在末端进行评估。

    此致、

    Hg

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

    您好、HG:

    我使用了 cc1310、现在由于内存等原因切换到1312、我在1310上使用的初始化配置如下所示:

    #define CC1310_LAUNCHXL_SPI_ACC_CS IOID_4

    静态 PIN_Config BoardACCPinTable[]=
    {
    CC1310_LAUNCHXL_SPI_ACC_cs | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PushPULL | PIN_DRVSTR_MIN、

    引脚终止
    };

    HAccPin = PIN_OPEN (&pinState、BoardACCPinTable);

    应如何配置切换到1312?

    以下配置是否正确?

    #define CC1310_LAUNCHXL_SPI_ACC_CS IOID_4

    GPIO_setConfig (CC1310_LAUNCHXL_SPI_ACC_CS、GPIO_CFG_OUTPUT | GPIO_CFG_OUT_HIGH |GPIO_CFG_OUT_STR_LOW);

    谢谢、此致、

    约兰德

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

    还有此 SPI 的配置、

    CONST PIN_Config BoardGpioInitTable[]={
    CC1310_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN、/*通过调试器反向通道进行 UART RX */
    CC1310_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PushPULL、/*通过调试器反向通道 UART TX */
    CC1310_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN、/* SPI 主器件输出-从器件输入*/
    CC1310_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN、/* SPI 主器件输入-从器件输出*/
    CC1310_lunchxL_spi0_CLK | PIN_INPUT_EN | PIN_PULLDOWN、/* SPI CLOCK */

    引脚终止
    };

    如果我在1312的 ti_drivers_config.c 文件中添加到下面的数组、下面的配置应该是错误的、请 告诉我 正确的配置应该是什么?

    GPIO_PinConfig gpioPinConfigs[31]={GPIO_CFG_INPUT_INTERNAL | GPIO_CFG_INPUT|GPIO_CFG_PULL_DOWN_INTERNAL、}

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

    使用 CC1312R 时、您首先应导入最新 SDK (simplelink_cc13xx_cc26xx_sdk_7_10_02_23)中的新示例。 请勿尝试更改现有的 CC1310项目以在 CC1312R 上运行。

    驱动程序和使用的引脚通过 SysConfig 进行设置:

    Siri

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

    你好,Siri,ć

    此业务尚未迁移。 在使用 SysConfig 进行配置时、例如配置 SPI 时、引脚为灰色、无法选择。

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

    尊敬的 Siri:

    1.将1310迁移到1312的原因是1310的存储器和闪存空间不足以满足当前的业务需求。

    2.我们只将业务职能转移到1312处,不会改变其他地方。

    请告诉我1310 IOID_9 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PushFull |PIN_INPUT_DIS | PIN_DRVSTR_MED 中的 PIN 配置

    应该如何在1312中配置它? 请帮我核对一下。 谢谢你。

    谢谢、此致、

    约兰德

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

    我不确定我是否理解您的问题、以及为什么有些东西显示为灰色(我看不出相同的事情)。

    我从  simplelink_cc13xx_cc26xx_sdk_7_10_02_23中导入了 CC1312R 的空示例:

    当我打开 SysConfig 并添加 SPI 时、我会看到以下内容:

    如果您导入 empty 项目、您是否能够看到这种情况?

    如果没有、您需要告诉我您从 SDK 等导入的哪个项目以及从哪个项目导入的项目、以便我可以复制与您看到的项目相同的内容。

    Siri