2022-02-23 03:55 AM
Hello everyone.
I need to implement a encoder/decoder for ADAT protocol (see https://ackspace.nl/wiki/ADAT_project for more details about ADAT protocol) and I don't know if some STM32 MCUs is able for that.
As you can see in the image the encoder must receive four I2S streams and encoding them for ADAT protocol. The decoder must receive the ADAT protocol and split it in four I2S streams.
Please, anyone can tell me how I can check if some STM32 MCU has enough processing for that?
Thank you in advanced.
Solved! Go to Solution.
2022-02-23 06:06 AM
Actually, what you want to build is a typical usecase for an FPGA because it is essentially just a muxer/demuxer.
Maybe an STM32G4 or an STM32F4 can do that, but an STM32G0 certainly can't. Of course, you are free to try this with one of these STM32 by using e.g. a NUCLEO board.
With the STM32H7, you will most likely have enough processing power to solve the task.
Regards
/Peter
2022-02-23 04:38 AM
Welcome, @Arubu, to the community!
You could consider the STM32H723, which already has four I2S interfaces and should be fast enough at 550MHz.
Regards
/Peter
2022-02-23 05:23 AM
Hello @Peter BENSCH
Thank you for your fast reply.
Do you think that STM32G0 and STM32G4 series have enough processing for the project? I know STM32G0 series has one I2S interface and STM32G4 has two I2S interface, so I could implement I2S via software.
Best regards
2022-02-23 06:06 AM
Actually, what you want to build is a typical usecase for an FPGA because it is essentially just a muxer/demuxer.
Maybe an STM32G4 or an STM32F4 can do that, but an STM32G0 certainly can't. Of course, you are free to try this with one of these STM32 by using e.g. a NUCLEO board.
With the STM32H7, you will most likely have enough processing power to solve the task.
Regards
/Peter
2022-02-23 06:11 AM
Yes, i agree with you. All samples I see until now were made with FPGA.
Has STMicroeletronics a FPGA line card?
2022-02-23 06:13 AM
No.
2022-02-23 06:14 AM
Good luck!
If the problem is resolved, please mark this topic as answered by selecting Select as best. This will help other users find that answer faster.
/Peter
2022-02-23 11:10 PM
That is - at least - a challenge... very interesting!
If I am not mistaken, ADAT is kinda 8 channels at 32 bit / 48 kHz in NRZI coding , so that's a bit rate of:
48 k * 32 bit * 8 = 12.288 Mbit / s
So my first thought was also, forget it, use an FPGA, but maybe with a fast CPU (H7) and some good ideas how to use DMA (double buffers) and timers for kinda PWM for output and input capture, this might work.
But it could also become a project to highly speed up your aging process! ;)
2022-02-24 03:12 AM
Hello @Community member
Thank you for your feedback.
Do you think to be possible making that with STM32G4 series?
2022-02-24 03:20 AM
My guess: no chance!
There's lots of bit shifting and bit inserting (for the NRZI code) involved, and that for each sample.
Even with a H7 I don't know if it would be feasible.
But just estimating and guessing...
If you have a G4 board anyway, you could just let it run at highest clock rate and perform the bit operations for a sample, and check how many CPU cycles that takes, maybe I'm wrong.