XVF3800 - 16 bit i2s possible? Topic is solved

Voice related projects and technical discussions
AnkhInnovationsLLC
Member++
Posts: 16
Joined: Mon Dec 25, 2023 12:19 am

XVF3800 - 16 bit i2s possible?

Post by AnkhInnovationsLLC »

Hello,

It looks like the I2S input / output mode is fixed at 32 bits... On our accompanying MCU this will double our DMA buffer sizes in internal RAM which is already constrained, and we will have to do resampling both up and then backdown in certain use cases, taking away valuable CPU time.

Any chance of 16 bit i2s, even if its hard coded?

Regards,
View Solution
User avatar
xhuw
Verified
Member++
Posts: 22
Joined: Wed May 22, 2024 2:36 pm

Post by xhuw »

Hey, XVF3800 uses github.com/xmos/fwk_io for the i2s implementation. This supports changing the sample bit depth via the `I2S_DATA_WIDTH` preprocessor macro.

https://github.com/xmos/fwk_io/blob/42c ... .c#L21-L23

So you would need to update the CMakeLists to include `-DI2S_DATA_WIDTH=16` as a compilation flag and you will get the behaviour that you desire.

This is not a configuration that we have tests for, so there might be some unexpected consequences. You can tests this out yourself or get in touch with xmos sales and they might be able to try it for you
XMOS Software Engineer

Image
User avatar
xhuw
Verified
Member++
Posts: 22
Joined: Wed May 22, 2024 2:36 pm

Post by xhuw »

There is a macro `appconfBCLK_NOMINAL_HZ` in the app_conf.h which would need updating. There may be others that I can't think of off the top of my head. you would need to ensure that the MCLK generation is updated to account for the reduced BCLK rate
XMOS Software Engineer

Image
AnkhInnovationsLLC
Member++
Posts: 16
Joined: Mon Dec 25, 2023 12:19 am

Post by AnkhInnovationsLLC »

Sounds good thanks for the i2s define, I would have glazed over that one. I did see the appconfBCLK_NOMINAL_HZ option... I'll try this out and do some poking around to see if I can get it working.
AnkhInnovationsLLC
Member++
Posts: 16
Joined: Mon Dec 25, 2023 12:19 am

Post by AnkhInnovationsLLC »

So this didn't work, there must be more assumptions about 32 bits somewhere. More than I have the current time for. Oh well it was worth a shot.
User avatar
xhuw
Verified
Member++
Posts: 22
Joined: Wed May 22, 2024 2:36 pm

Post by xhuw »

That is unfortunate. If you raise a ticket with xmos sales we may be able to investigate further, worth a shot.

Hopefully you will get some more time to investigate otherwise. XVF3800 is a great conferencing solution ;)
XMOS Software Engineer

Image
AnkhInnovationsLLC
Member++
Posts: 16
Joined: Mon Dec 25, 2023 12:19 am

Post by AnkhInnovationsLLC »

xhuw wrote: Fri Aug 16, 2024 8:57 am That is unfortunate. If you raise a ticket with xmos sales we may be able to investigate further, worth a shot.

Hopefully you will get some more time to investigate otherwise. XVF3800 is a great conferencing solution ;)
So far so good :)

The power consumption is quite something though, higher than we'd like as this is for a wearable.