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,
XVF3800 - 16 bit i2s possible? Topic is solved
-
- Member++
- Posts: 16
- Joined: Mon Dec 25, 2023 12:19 am
-
Verified
- Member++
- Posts: 22
- Joined: Wed May 22, 2024 2:36 pm
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
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
-
Verified
- Member++
- Posts: 22
- Joined: Wed May 22, 2024 2:36 pm
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
-
- Member++
- Posts: 16
- Joined: Mon Dec 25, 2023 12:19 am
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.
-
- Member++
- Posts: 16
- Joined: Mon Dec 25, 2023 12:19 am
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.
-
Verified
- Member++
- Posts: 22
- Joined: Wed May 22, 2024 2:36 pm
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 ;)
Hopefully you will get some more time to investigate otherwise. XVF3800 is a great conferencing solution ;)
XMOS Software Engineer
-
- Member++
- Posts: 16
- Joined: Mon Dec 25, 2023 12:19 am
So far so good :)
The power consumption is quite something though, higher than we'd like as this is for a wearable.