[CYW43907] Full-Duplex I2S support ?

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

cross mob
JoLE_3168931
Level 3
Level 3
First like received Welcome!

Hello,

I am currently designing a wireless VOIP-like product based on the 43907 MCU.

Reviewing the audio libraries/drivers, I found out a worrying comment in the I2S platform driver (platform_i2s.c):

/* FIXME Revisit when full-duplex is fully implemented! */

  static inline void I2S_LOCK_PORT( platform_i2s_port_t port ) {

      (void)0; /* TODO */

  }

Does it mean that I should not use the audio API in a multi-threaded application (with one TX thread and one RX thread) ?

What about a single thread application ?

As far as I know, there is no mention of such limitation in the documentation.

For now, I patched the WICED audio module to allow async IO and managing the full duplex transactions in a single thread (without any wiced_audio_wait_buffer() blocking call).

But is this enough ?

Thank you for your help.

0 Likes
1 Solution
RaktimR_11
Moderator
Moderator
Moderator
500 replies posted 250 replies posted 100 replies posted

CYW43907 I2S hardware supports full-duplex communication but the driver for that is not completely developed which is why you can see the comment mentioned in platform_i2s.c.

If you have already allowed async IO and can manage the full duplex transactions, I believe that should be enough.

View solution in original post

0 Likes
6 Replies
RaktimR_11
Moderator
Moderator
Moderator
500 replies posted 250 replies posted 100 replies posted

CYW43907 I2S hardware supports full-duplex communication but the driver for that is not completely developed which is why you can see the comment mentioned in platform_i2s.c.

If you have already allowed async IO and can manage the full duplex transactions, I believe that should be enough.

0 Likes

But why is there no mention about this in the documentation?

This incomplete implementation would lead to really hard to catch audio issues.

When do you plan to release a complete audio driver ?

Which functions/drivers are still incomplete with respect to the (really light) hardware datasheet ?

Note: there is a LOT of FIXME and TODO in the current release (I'll create another thread about this).

0 Likes

I can understand your worries in this regard. We are consistently trying to improve our documentation. For now, if you face any difficulty, please feel free to create a community post and our Applications team will help you out with the sparsely documented areas.

0 Likes
PrS_4591811
Level 1
Level 1
First like given

Hello,

I am also using this same part BCM43907 part.

My IoT application is being completely used the internal RAM of BCM43907. Now I require external RAM to be added to this processor to perform better. So is there any option for this processor to get connect with external RAM (like FM24V02A, etc) via CSC interface, or any other ways?

Please help.

Regards

Pradeep. S

0 Likes

Dear Pradeep,

Since your query is not aligned with the thread topic, could you please create a new thread with the query posted above?

0 Likes

Thank you. will post separately

0 Likes