Re: Computer Audio Blasphemy, nige tries Another SD Card Player
Posted: Tue May 22, 2018 3:13 pm
Here's the correspondence with him - first option B - €3,000 for hardware & software development project
If we are building our own board, I would suggest:
* Use STM32F767 instead of STM32F407 as the main chip, mainly for its ability to use a newer 4-bit SDIO and I2S_CKIN at the same time, instead of being stuck with a buggy SDIO interface choked down to an 1-bit interface. This breaks the 32-bit 192kHz barrier too since the SDIO now maxes out at 96Mbps. STM32F7 series is also much faster.
* Since STM32F767 supports it, we can use 64MB external SDRAM instead of that 1MB low power SRAM as the buffer memory, if we ever need it. SDRAM is cheaper, faster and more spacious than the low power SRAM.
For a STM32-based stack, here is my idea:
* Chip: STM32F767ZI
* Core: Arm Cortex-M7F @216MHz
* RAM buffer: 64MB SDRAM
* Storage interfaces: microSD card slot in 4-bit mode or eMMC in 8-bit mode
* Connectivity: USB (hopefully high-speed if the pins for an external PHY can be arranged) and Wi-Fi (based on an ESP8266 module)
* Output interface: independently-clocked I2S
The files are read in from SD card or USB stick (if we implemented that - the USB hardware on STM32F767 does supports that,) decoded and placed in the DRAM buffer. The separately clocked I2S peripheral DMA’s the samples from the buffer to external DAC.
Price is dependent on the exact list of features to implement for each installment. Since there is flexibility being designed in, prices can come in installments that corresponds to feature sets, with 3000 euros for the hardware and base software, and additional installments for additional software features.Need some more detail, Max
- What is needed to provide a fixed price?
First installment:- Describe the deliverables, please, both hardware & software?
Hardware: one PCB design in KiCad of your preferred license, one or two assembled units, a few blank boards.
Software: Base software includes the drivers for SDIO, I2S and SDRAM, middleware for MBR, GPT, FAT32 filesystems and uncompressed WAV, AIFF, AIFC-sowt formats, as well as an basic audio playback application, all in a plugin-based architecture for future expansion.
Future installments are all software-only:
Drivers: USB (big driver,) Flashair-specific iSDIO, Ethernet (also a big one,) graphics LCD
Middlewares: decoders (FLAC, ALAC, AAC, Vobris, etc.) format containers (MP4, MKV, etc,) GUI,metadata reading, full UNICODE, etc.
Kind of yes: WAV, AIFF, AIFC-sowt are the three uncompressed formats. To me there is no difference between various container or compression algorithms, being uncompressed means there is a “null” compression algorithm. The software uses a plugin-based architecture, so it wouldn’t be hard to add new algorithms down the road, just not now in the first installment, since external libraries still need tweaking and wrapping to work.- When you say no compressed format - you mean it reads WAV but not FLAC files?
Everything needs drivers - USB, SD, Ethernet, I2S, SDRAM, all of them. For basic playback only SD, I2S and maybe SDRAM are needed.- The software drivers you are referring to are USB drivers, right?