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.

[参考译文] LP55231:LP55231:发动机未触发

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1126514/lp55231-lp55231-engine-not-trigger

器件型号:LP55231

您好!  
我在 CC1312中遇到 LP55231引擎启动和触发器问题。  

我关注这个(https://github.com/sparkfun/SparkFun_LP55231_Arduino_Library)

我可以成功写入寄存器值。  但发动机不工作。

对于触发器、我正在使用 GPIO11 (每2秒 GPIO11高电平/低电平)。

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

    您好!

    我已经看到了您的问题、我有一些问题要问您:

    在 Github 链接中、我发现有10个示例、我不知道哪一个示例会让您感到困惑。

    2.LP55231具有三个独立的程序执行引擎、 我不知道您是否无法使用此函数或无法启动 LP55231器件。

    此外、还有一些建议可供您参考:

    您可以在 TI.com 上查看 LP55231数据表、确保正确配置了相对寄存器。

    我们还提供有关  LP55231的相关软件、您可以将其用作参考。

    如果您想评估芯片的性能、我真诚地建议您使用官方 EVM。

    谢谢、

    此致。

    Ives、Li

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

    您好!  
    感谢您的回答。


    1) 1)我遵循此示例(https://github.com/sparkfun/SparkFun_LP55231_Arduino_Library/blob/master/examples/engines-output-trigger/engines-output-trigger.ino)

    根据上述示例执行的步骤:-


    1)复位 WriteReg (0x3D、0xff);
    2)启用 WriteReg (0x00、0x40);
    3) REG_MISC WriteReg (0x36、0x53);
    4) 4)为所有通道设置 LogBrightness
    5) 5)为所有通道设置驱动电流、值0x6f/0x7F


    对于加载程序:-
    1)
    WriteReg (REG_CNTL1、0x00);
    WriteReg (REG_CNTL1、0x15);

    对于正在运行的发动机:-

    1)
    SetEngineEntryPoint (0、0);
    SetEnginePC (0、0);
    2)
    SetEngineModeFree (0);
    SetEngineRunning (0);

    并且每2秒为 LP55231的触发信号设置/复位 GPIO11

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

    您好!

    您可以共享您的邮件 ID 吗? 我可以共享我的源文件。

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

    您好!

    我 注意 到、您将 CNTL1寄存器设置为0x15、这意味着您不启用芯片、您可以尝试将 CNTL1的值更改为0x55。

    如果不起作用、您可以通过电子邮件联系: ives-li@ti.com。  

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

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

    您好!
    我通过  此邮件发送了一封邮件,地址是 :ives-li@ti.com
    请检查您的邮件

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

    您好!

    由于 NDA 限制、我无法接收您的源文件。

    我很抱歉。

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

    您好!

    共享文件的方法是什么?

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

    我认为我无法接收您的文件、我是一名硬件工程师、这意味着我可能无法检查您的代码。

    但我认为、如果您需要、我可以解释如何使用我们的产品、您可以按照指导找出错误的步骤。

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

    感谢您的响应。

    我很高兴您能指导我如何驱动 LED 驱动器。

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

    您好!

    我将向您展示您需要配置的寄存器:

    (00)启用/发动机控制:启用器件并选择发动机执行模式。

    (01)发动机 CNTRL2:使用该寄存器加载或运行您的程序。

    (04/05)输出开/关:D1-D9输出控制开/关

    (36) INT_CLK_EN:选择时钟源、我们需要32.7kHZ 才能正确运行。

    (3A)状态/中断:为引擎配置中断。

    (4C/4D/4E)发动机程序启动 ADDR:它是每个发动机程序的起始地址。

    (4F) PROG MEM 页面选择:用于选择您的程序存储器页面、我将向您展示有关吹扫照片的更多详细信息。

    (70H/75H)英文映射:您可以从此处读取映射信息。

    请检查这些寄存器。

    谢谢!

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

    感谢您的回复、但仍不能正常工作。

    写入寄存器及其下面列出的值、

    寄存器值
    00       60 //使能和发动机1使能
    36.       01 //int_clk_en
    01       20 //发动机1加载程序模式
    04       01 //D9输出模式
    05       FF //D1-D8输出模式

    Loadprogram (模式、16)

    4C       00 //ENG1 PROG START ADDR
    4f        01 //页选择1
    70       01 //ENG1映射 MSB
    71.       FF // ENG1映射 LSB

    3A       02 //STATUS/INT

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

    您好!

    我注意到你将01ENGINE CHONTROL2设定为20、这意味着位[5:4]是10。

    我想、首先应该将这些位设置为01以加载程序、然后将这些位更改为10以运行程序。

    此外、ENG1映射是只读寄存器、您只能读取每个输出的情况。

    如果要配置引擎或选择所需的输出、请使用 LED 驱动器说明(表4)和 LED 映射说明(表5)。

    如果要触发设备,可以在分支指令(表6)中找到触发指令。

    您还可以在数据表中找到每条指令的说明。

    谢谢。

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

    您好!
    STIL 不工作、
    寄存器       值
    0x3D          0xFF
    0x00          0x40
    0x36         0x53

    0x4f          0x00 //页0是写入值的选择
    0x4c         0x00 // 00 //ENG1 PROG 启动 ADDR

    0x3A         0x10 //清除引擎寄存器
    0x01         0x10 //发动机1处于加载程序模式
    0x04         0x01 // D9 LED 输出模式
    0x05         0xFF // D1-D8 LED 输出模式

    0x50         0x9d //写入数据50h
    0x51         0xf0 //写入数据51h

    0x01         0x20 //引擎1处于运行程序模式
    0x00         0x60 //运行程序模式中的 ENGINE1_EXEC 1
    0x37         0x00 //运行程序模式中的 ENGINE1_EXEC 1

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

    您好!

    我在您的代码中发现、PROG START ADDR 应为50。

    此外、您只编写一条指令、但您 尚未选择 要由 mux_SEL 指令选择的输出。

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

    您好!

    下面是一个让 LED 闪烁的示例:

    00h  0100 0000

    01h  0010 1111

    04h  0000 0001

    05h  1111 1111

    26H-2EH  10101111

    36h  0101 0001

    37h  0000 0010

    4通道  0000 0000

    4DH  0100 1111

    4Eh  0101 1111

    41h  1000 1111

    42H  0011 0010

    4FH  0000 0000

    程序存储器:

    00  9D03              MUX_SEL  3.

    01  40FF              SET_PWM  FFh

    02  5E00              等待0.24

    03  4000              SET_PWM  00h

    04  5E00

    05  A001              分支 0、  loop1

    06  C000              结束

    程序功能:  

    选择 LED3、在此环路中、PWM 将每0.24秒设置为0%或100%。

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

    寄存器值:

    00 55.
    01 2A
    02 00
    03 00
    04.01.
    05 FF
    06 00
    07 00
    08 00
    09 00
    0A 00
    0b 00
    0C 00
    0D 00
    0E 00
    16 00
    17 00
    18 00
    19 00
    1A 00
    1b 00
    1C 00
    1D 00
    1E 00
    26 AF
    27 AF
    28 AF
    29 AF
    2A AF
    2B Af
    2C AF
    2D AF
    2E Af
    36 51.
    37 02
    38 00
    39 00
    3A 00
    3B 00
    3c 00
    3D 00
    3e 00
    3F 19.
    40 00
    41 8F
    42 32.
    45 00
    46 00
    47 00
    48 00
    49 00
    4A 00
    4C 00
    4D 10.
    4e 20.
    4F 05
    70 00
    71 04
    72 00
    73 00
    74 00
    75 00
    76 00

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

    您好 、lves Li、

    我将 ESP32和 CC1312 launchpad 与 LP55231 SparkFun 板进行了比较。 我发现了一件事。 CC1312无法复位。 即复位时(0x3D 寄存器)的值不设为0xff。 其他寄存器可以成功写入/读取。

    在 Esp32重置值时写入 suceffuly。  

    在 CC1312和 LP55231中、仅(0x3D->0xff)写入失败。  


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

    那么、我能为您提供什么帮助呢?

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

    您好!

    它们是否有任何解决方案可用于在0x3D 寄存器上写入失败?
    我想、这可能是发动机不触发的原因之一。

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

     ESP32可以写入0x3D 寄存器吗?

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

    是的、我已选中。
    0x3D --> 0xff 写入成功。

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

    这是由您的 CC1312代码引起的。

    但很抱歉 、我无法 解决您的软件问题。

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

    只有该寄存器0x3D--> 0xff 值写入失败。
    其他寄存器和值写入 成功

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

    我知道