How to dynamically configure SPI baudrate?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to dynamically configure SPI baudrate?

1,145件の閲覧回数
fedora
Contributor III

Hi Team:

   I'm using S32K144 and configure the baudrate of spi2 to 100K through PE tools(refer to the attached image),  I want to dynamically configure the speed of spi2 to 50K/20K/10K/5K during the device running.

The following is the test code:

//***********************************************

uint32_t baud2;
status_t ret_sts;

lpspi_master_config_t spiConfig1;


spiConfig1.bitsPerSec = 10000; //10Kbps baudrate
spiConfig1.whichPcs = LPSPI_PCS2;
spiConfig1.pcsPolarity = LPSPI_ACTIVE_LOW;
spiConfig1.isPcsContinuous = false;
spiConfig1.bitcount = 16;
spiConfig1.clkPhase = LPSPI_CLOCK_PHASE_1ST_EDGE;
spiConfig1.clkPolarity = LPSPI_SCK_ACTIVE_HIGH;
spiConfig1.lsbFirst= false;
spiConfig1.transferType = LPSPI_USING_INTERRUPTS;

ret_sts = LPSPI_DRV_MasterConfigureBus(LPSPICOM2, (lpspi_master_config_t *)&spiConfig1, &baud2);
printf("ret_sts = %d,baud2=%d\r\n",ret_sts,baud2);

//****************************************************

After running, printf output:  ret_sts = 1,baud2=0

so LPSPI_DRV_MasterConfigureBus() return STATUS_ERROR,  trace into it and find the STATUS_ERROR is caused by the following code:

//****************************************************

if ((spiConfig->bitcount < 8U) || (spiConfig->bitcount > 4096U))
{

    printf("spi bitcount=%d\r\n",spiConfig->bitcount);
    return STATUS_ERROR;
}

//****************************************************

Then output   spi bitcount=0  ,  but the actual value of bitcount should be equal to 16.

 

May I ask where my method went wrong?

How to achieve dynamic configuration of SPI baudrate?

Thank you for your suggestion.

 

Best regards,

Fed

0 件の賞賛
返信
2 返答(返信)

1,115件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

Could you specify used RTD and example code?

0 件の賞賛
返信

1,110件の閲覧回数
fedora
Contributor III

Thanks !

I don't know what's the RTD.

The requirement is that when the device is activated, the speed of SPI can be 100k, but when the device is in sleep mode, the speed of SPI can only be 10k or even lower. Therefore, it is necessary to dynamically change the SPI speed.

Thanks and regards,

Fed

 

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2259213%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ESPI%20%E3%83%9C%E3%83%BC%E3%83%AC%E3%83%BC%E3%83%88%E3%82%92%E5%8B%95%E7%9A%84%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2259213%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E3%83%81%E3%83%BC%E3%83%A0%E3%81%AE%E7%9A%86%E3%81%95%E3%82%93%3A%3C%2FP%3E%3CP%3E%E7%A7%81%E3%81%AF%20S32K144%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81PE%20%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20spi2%20%E3%81%AE%E3%83%9C%E3%83%BC%E3%83%AC%E3%83%BC%E3%83%88%E3%82%92%20100K%20%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%EF%BC%88%E6%B7%BB%E4%BB%98%E7%94%BB%E5%83%8F%E3%82%92%E5%8F%82%E7%85%A7%EF%BC%89%E3%80%82%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AE%E5%AE%9F%E8%A1%8C%E4%B8%AD%E3%81%AB%20spi2%20%E3%81%AE%E9%80%9F%E5%BA%A6%E3%82%92%2050K%2F20K%2F10K%2F5K%20%E3%81%AB%E5%8B%95%E7%9A%84%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%9F%E3%81%84%E3%81%A8%E8%80%83%E3%81%88%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E4%BB%A5%E4%B8%8B%E3%81%AF%E3%83%86%E3%82%B9%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%2F%2F****************************************************%3C%2FP%3E%3CP%3Euint32_t%20%E3%83%9C%E3%83%BC2%3B%3CBR%20%2F%3E%20status_t%20ret_sts%3B%3C%2FP%3E%3CP%3Elpspi_master_config_t%20spiConfig1%3B%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EspiConfig1.bitsPerSec%20%3D%2010000%3B%20%2F%2F10Kbps%20%E3%83%9C%E3%83%BC%E3%83%AC%E3%83%BC%E3%83%88%3CBR%20%2F%3EspiConfig1.thatPcs%20%3D%20LPSPI_PCS2%3B%3CBR%20%2F%3E%20spiConfig1.pcsPolarity%20%3D%20LPSPI_ACTIVE_LOW%3B%3CBR%20%2F%3E%20spiConfig1.isPcs%E9%80%A3%E7%B6%9A%3D%20%E5%81%BD%3B%3CBR%20%2F%3E%20%3CSTRONG%3EspiConfig1.%E3%83%93%E3%83%83%E3%83%88%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%20%3D%2016%3B%3C%2FSTRONG%3E%3CBR%20%2F%3E%20spiConfig1.clkPhase%20%3D%20LPSPI_CLOCK_PHASE_1ST_EDGE%3B%3CBR%20%2F%3E%20spiConfig1.clkPolarity%20%3D%20LPSPI_SCK_ACTIVE_HIGH%3B%3CBR%20%2F%3E%20spiConfig1.lsbFirst%3D%E9%96%93%E9%81%95%E3%81%84%3B%3CBR%20%2F%3E%20spiConfig1.%E8%BB%A2%E9%80%81%E3%82%BF%E3%82%A4%E3%83%97%3D%20LPSPI_USING_INTERRUPTS%3B%3C%2FP%3E%3CP%3Eret_sts%20%3D%20LPSPI_DRV_MasterConfigureBus(LPSPICOM2%E3%80%81(lpspi_master_config_t%20*)%26amp%3BspiConfig1%E3%80%81%26amp%3Bbaud2)%3B%3CBR%20%2F%3E%20%3CSTRONG%3E%3CEM%3Eprintf(%22ret_sts%20%3D%20%25d%2Cbaud2%3D%25%20d%5Cr%5Cn%22%2Cret_sts%2Cbaud2)%3B%3C%2FEM%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%2F%2F****************************************************%3C%2FP%3E%3CP%3E%E5%AE%9F%E8%A1%8C%E5%BE%8C%E3%80%81printf%E5%87%BA%E5%8A%9B%3A%20%3CEM%3E%3CSTRONG%3Eret_sts%20%3D%201%2Cbaud2%3D0%3C%2FSTRONG%3E%3C%2FEM%3E%3C%2FP%3E%3CP%3ESO%E3%80%81LPSPI_DRV_MasterConfigureBus()%20%E3%81%AF%3CSTRONG%3ESTATUS_ERROR%20%E3%82%92%3C%2FSTRONG%3E%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CSPAN%3E%E3%81%93%E3%82%8C%E3%82%92%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B9%E3%81%97%E3%81%A6%E3%80%81STATUS_ERROR%20%E3%81%8C%E6%AC%A1%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2F%2F****************************************************%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EspiConfig-%26gt%3B%E3%83%93%E3%83%83%E3%83%88%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%8C8U%E6%9C%AA%E6%BA%80%E3%81%AE%E5%A0%B4%E5%90%88%20%7C%7C%20spiConfig-%26gt%3B%E3%83%93%E3%83%83%E3%83%88%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%8C4096U%E8%B6%85%E3%81%AE%E5%A0%B4%E5%90%88%3CBR%20%2F%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CEM%3E%3CSTRONG%3Eprintf(%22spi%E3%83%93%E3%83%83%E3%83%88%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%3D%25d%5Cr%5Cn%22%2CspiConfig-%26gt%3Bbitcount)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20STATUS_ERROR%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2F%2F****************************************************%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%20%3CSTRONG%3E%3CEM%3Espi%20bitcount%3D0%3C%2FEM%3E%3C%2FSTRONG%3E%E3%81%8C%E5%87%BA%E5%8A%9B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E5%AE%9F%E9%9A%9B%E3%81%AE%20bitcount%20%E3%81%AE%E5%80%A4%E3%81%AF%3CEM%3E%3CSTRONG%3E16%3C%2FSTRONG%3E%3C%2FEM%3E%E3%81%AB%E7%AD%89%E3%81%97%E3%81%8F%E3%81%AA%E3%82%8B%E3%81%AF%E3%81%9A%E3%81%A7%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%E7%A7%81%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%8C%E3%81%A9%E3%81%93%E3%81%A7%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E3%81%84%E3%81%9F%E3%81%AE%E3%81%8B%E6%95%99%E3%81%88%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ESPI%20%E3%83%9C%E3%83%BC%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E5%8B%95%E7%9A%84%E3%81%AA%E6%A7%8B%E6%88%90%E3%82%92%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E3%81%94%E6%8F%90%E6%A1%88%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E9%80%A3%E9%82%A6%E6%BA%96%E5%82%99%E5%88%B6%E5%BA%A6%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2259379%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20dynamically%20configure%20SPI%20baudrate%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2259379%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%EF%BC%81%3C%2FP%3E%3CP%3ERTD%20%E3%81%8C%E4%BD%95%E3%81%AA%E3%81%AE%E3%81%8B%E5%88%86%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%E8%A6%81%E4%BB%B6%E3%81%AF%E3%80%81%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%8C%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AF%20SPI%20%E3%81%AE%E9%80%9F%E5%BA%A6%E3%81%8C%20100k%20CAN%20%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%8C%E3%80%81%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%8C%E3%82%B9%E3%83%AA%E3%83%BC%E3%83%97%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AE%E3%81%A8%E3%81%8D%E3%81%AF%20SPI%20%E3%81%AE%E9%80%9F%E5%BA%A6%E3%81%8C%2010k%20CAN%20%E4%BB%A5%E4%B8%8B%E3%81%AB%E3%81%97%E3%81%8B%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82%E3%81%9D%E3%81%AE%E3%81%9F%E3%82%81%E3%80%81SPI%20%E9%80%9F%E5%BA%A6%E3%82%92%E5%8B%95%E7%9A%84%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E9%80%A3%E9%82%A6%E6%BA%96%E5%82%99%E5%88%B6%E5%BA%A6%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2259354%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20dynamically%20configure%20SPI%20baudrate%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2259354%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%9F%20RTD%20%E3%81%A8%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E