关于cyw43907 spi The clock interval of each byte

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
不适用

1,When I was testing, I found that the clock of SPI was sent to 1Microsecond per byte. How do I set this time?

UJSX})P1K_1B2I]@C~I1)1Q.png

2,I find that when using this api(  wiced_spi_transfer(&spi_device , message, nsegments);), the time is probably 300 Microsecond.

I write only one byte.

0 点赞
1 解答
Anonymous
不适用

Thank

I am not using this API(spi_bb_transfer_nosetup).This API is slower.

pastedImage_0.png

There is no delay in the bottom function. I would like to check if there is a register that can set the clook delay.

在原帖中查看解决方案

0 点赞
8 回复数
Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

Hi:

please take a look at this blog to see if the clock delay can be set by the init function, thanks.

How to set SPI bit banging clock frequency in 4390X using WICED?

Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

and this one:

SPI in CYW43907

Anonymous
不适用

hi

I try to use (spi_bb_driver), which are analog SPI and IO ports are not very fast. Although clock is continuous, 10Microsecond sends only one byte.

The interval between each byte can not be set, resulting in SPI overall speed reduction.

0 点赞
Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

Hi :

  Please use platform_spi_transfer_nosetup for a try. It will reduce the cs core_clock toggle and cs active time .

Anonymous
不适用

Yes, I have debugged this function, I mean the interval between the bytes, and nothing to do with CS time.

Is there a register that can set this time?

0 点赞
Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

Hi :

  in spi_bb_transfer_nosetup , I can't see any delay in the while :

while ( length-- )

  {

  uint8_t send_byte = 0x00;

  uint8_t rcv_byte = 0x00;

  if ( send_ptr != NULL )

  {

  send_byte = *send_ptr++;

  }

// here should be a continuous TX/RX bytes in SPI bus.

  rcv_byte = spi_bb_transfer_byte( spi, config, send_byte );

  if ( rcv_ptr != NULL )

  {

  *rcv_ptr++ = rcv_byte;

  }

  }

Anonymous
不适用

Thank

I am not using this API(spi_bb_transfer_nosetup).This API is slower.

pastedImage_0.png

There is no delay in the bottom function. I would like to check if there is a register that can set the clook delay.

0 点赞
Anonymous
不适用

zhez

Can this byte time interval be reduced? This setting is very important to us. Now the problem is very difficult, so please reply as soon as possible. Thank

0 点赞