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.

[参考译文] TLC5973:SDI 引脚

Guru**** 2551110 points
Other Parts Discussed in Thread: TLC5973

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/774489/tlc5973-sdi-pin

器件型号:TLC5973

您好!

我对 TLC5973有疑问

-能否使用微控制器的 GPIO 驱动 SDI 引脚? 如果否、请建议使用合适的引脚来驱动它

-此器件是否具有 EVM?

谢谢

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

    您好 LIH、

    是的、这取决于您传输的数据。 如果数据不是太多、可以使用 GPIO 进行传输。

    此致、

    肖恩。

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

    如何量化数据太多? 我使用此 LED 驱动器仅用于调光、闪烁和更改颜色。
    请告知是否可行?

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

    您好!

    如果级联太多器件、则数据将太多而无法传输。

    此外、如果 MCU GPIO 频率太小、仍会影响数据传输速度。

    此致、

    肖恩。

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

    非常感谢您的建议。 我只使用1个 TLC5973。 不需要级联。

    BTW、该器件是否可以进行调光、闪烁和更改颜色? 我对"单线"接口非常陌生。 您是否有有关如何控制它的示例代码?

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

    以下基于 MSP432E401的代码供您参考、谢谢。

    #define WRTCMD 0x3AA
    #define CAST_N 2.

    int main (空)

       uint8_t jj;
       uint64_t ii;
       uint64_t GSOUT0[STACK_N]={0x0FA};//GS 数据//从 IC1到 IC_N 的数据
       uint64_t GSOUT1[STACK_N]={0xF0F};
       uint64_t GSOUT2[STACK_N]={0xFFF};

       uint64_t 数据;

       uint32_t systemClock;

       /*将系统时钟配置为120 MHz */
       系统时钟= MAP_SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN |
                                             SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、
                                             120000000);
       /*启用 GPIO 端口 A 的时钟并等待其准备就绪*/
        MAP_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
        while (!(SysCtlPeripheralReady (SYSCTL_Periph_GPIOA)))
        {

        }

       MAP_GPIOPinTypeGPIOOutput (GPIO_Porta_base、GPIO_PIN_2);//将一根导线设置为单线、SDI 的输出

       //数据传输速率测量,设置 tcycle=48系统时间。 //速率500kHz
       MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、4);//写入1
       MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、0);//写入0
       MAP_SysCtlDelay (240);/2us
       MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、4);//写入1
       MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、0);//写入0
       //数据写入
       while (1)
       {
    //     GPIODirModeSet (、GPIO_PIN_2、GPIO_DIR_MODE_OUT);//将线缆设置为单线、SDI 的输出
           for (jj=1;<cascade_N;jj++)//N-1 cascaded device data
           {
               Data=((((uint64_t) WRTCMD)<<12)+GSOUT2[jj-1];
               Data=(Data<<12)+GSOUT1[jj-1];
               Data=(Data<<12)+GSOUT0[jj-1];
               for (ii = 48;ii > 0;ii -)//写入数据
               {
                   MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、4);//写入1
                   MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、0);//写入0
                   MAP_SysCtlDelay (60);//<50%
                   MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、Data>>(i-3));//写入数据
                   MAP_SysCtlDelay (160);
                   MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、0);//写入0
               }
               MAP_SysCtlDelay (960);//等待4.5 tcycle 以生成 EOS
           }

           Data=((((uint64_t) WRTCMD)<<12)+GSOUT2[STACK_N-1];
           Data=(Data<<12)+GSOUT1[STACK_N-1];
           Data=(Data<<12)+GSOUT0[STACK_N-1];
           for (ii = 48;ii > 0;ii -)//写入数据//最后一个数据
           {
               MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、4);//写入1
               MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、0);//写入0
               MAP_SysCtlDelay (60);//<50%
               MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、Data>>(i-3));//写入数据
               MAP_SysCtlDelay (160);
               MAP_GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2、0);//写入0
           }
           MAP_SysCtlDelay (2400);//LAT 生成、>8时钟

       }