cancel
Showing results for 
Search instead for 
Did you mean: 

How to calculate speed and memory for an Internet Audio Project

Le Loc - Duc
Associate II

Hi all,

I'm conducting a project which require to Wireless Internet 3G: a remote speaker that can receive and broadcast audio file from a server. Until now, I have listed out some basic criteria for MCU selection mostly relating to peripherals requirements, such as: SDIO for SD card, I2S for audio, Ethernet and UART for Internet connection, STM32 MCU (cuz I'm familiar with it).

For these general requirements, many MCUs are able to adapt. So I need to list a more specific criteria.

Could you guys suggest me which items do I need to focus ( SRAM, Flash memory, clock speed ...) ?

Currently, I'm considering STM32F437VGT6, but I'm not sure it have enough power to run reliably or not ?

I know it quite of general, but if you need more information about my project, pls raise a question.

1 ACCEPTED SOLUTION

Accepted Solutions
M0NKA
Senior

Hey,

Using SAI/I2S at 48 Khz samplilng frequency and external codec (2xADCs + 2xDACs), CPU at 168 Mhz, every 700uS DMA interrupt is generated

and 128 words buffer is needed for the samples. This is off course stereo going both directions.

How is the 3G modem connected to the STM32 ? Where is the internet stack implemented ? Inside the modem or locally on the STM32 with lwIP.

I see the bottleneck here the connection between the modem and the STM32, also 3G means variable speed, which at point can get lower than

the I2S bandwidth, this means you need some buffer RAM for your audio file, assume it is streamed. Depending on how big your audio file is,

the internal RAM might not be enough, especially if you implement lwIP stack inside the CPU.

Is this hardware player for Internet Radio ? You also need the STM32 to handle LCD/UI ? Or some public announcement system, where you can

go with mono audio, download the audio file to a SD card and play it later ?

View solution in original post

4 REPLIES 4
Le Loc - Duc
Associate II

Does anyone have any idea about this ???

M0NKA
Senior

Hey,

Using SAI/I2S at 48 Khz samplilng frequency and external codec (2xADCs + 2xDACs), CPU at 168 Mhz, every 700uS DMA interrupt is generated

and 128 words buffer is needed for the samples. This is off course stereo going both directions.

How is the 3G modem connected to the STM32 ? Where is the internet stack implemented ? Inside the modem or locally on the STM32 with lwIP.

I see the bottleneck here the connection between the modem and the STM32, also 3G means variable speed, which at point can get lower than

the I2S bandwidth, this means you need some buffer RAM for your audio file, assume it is streamed. Depending on how big your audio file is,

the internal RAM might not be enough, especially if you implement lwIP stack inside the CPU.

Is this hardware player for Internet Radio ? You also need the STM32 to handle LCD/UI ? Or some public announcement system, where you can

go with mono audio, download the audio file to a SD card and play it later ?

Firstly, thank you for your reply. OMG, at last some one read my post . Could you go into more details instructions about this:

  1. Using SAI/I2S at 48 Khz samplilng frequency and external codec (2xADCs + 2xDACs), CPU at 168 Mhz. How to calculate this ? If it is too long to explain. could you share with me reference material, I'm really appreciate that.
  2. I'm using IC SIM7600 for 3G radio transceiver. It connect to MCU through UART.
  3. I use MQTT protocol to receive and send data.
  4. About streaming audio function. how can I calculate RAM for my audio file ??
  5. It is a Internet Radio for a neighborhood community. So it no need LCD/UI. It download audio file and store in a SD card. Then play it in the fixed time.

Looking forward your reply, bro

Hi MONKA,

Maybe my ask not clear enough.

It like a internet radio and send/receive data through MQTT broker.

After receiving audio file, it will broadcast through a speaker.