Author Topic: MCU/MPU with HSUSB and Ethernet recommendation needed  (Read 1310 times)

0 Members and 1 Guest are viewing this topic.

Offline blueskullTopic starter

  • Supporter
  • ****
  • !
  • Posts: 367
  • Country: cn
  • BA7LKP
MCU/MPU with HSUSB and Ethernet recommendation needed
« on: December 09, 2017, 09:37:00 am »
I'm working on an audio design that involves a digital subsystem with the following needed:

1. USB 2.0 HS (480Mbps), USB audio class 2.0 device support.
2. Ethernet support, WiFi/BT are optional, if they come free, I will take it. If not, I won't miss it.
3. Ethernet protocol with at least UDP, WINS and supporting IP/ARP/RARP.
4. Enough processing power, looking at 400 32-bit MMACS with modulus addressing (FIR), the modulus addressing part can be replaced with banked linear addressing.
5. Fast SPI, SDI, QSPI, parallel port or whatever interface that can dump at least 100Mb/s to an FPGA.
6. SPDIF receiving up to 24/192.
7. 4 bi-quad sigma delta modulation (similar to IIR) at 12.288Msps, dual channel.

So far, I'm using ESP32 (Ethernet/WiFi/BT)+ADSP-BF706 (DSP, USBHS)+iCE40 (SPDIF MUX+receiving) combination, but there are 2 problems with this combination:

1. I don't know how well ESP32 will be supported in a long run -- will be be still available in 5 years? High end audio is a low volume, high profit, R&D intensive business, and a redesign due to unable to source components is unacceptable.
2. Multichip solution involves collaboration between chips, which may cause CPU overhead and is fundamentally not elegant.

Here I have an alternative: iMX6ULL+RAM
Pros: Single chip for all computing needs, plus native float support, and long term availability. With SPDIF receiver, Ethernet controller and dual USB HS built in.
Cons: Practically must run Linux, realtime performance not guaranteed, ALSA driver must be GPLed (so I need to mmap incoming data to user space, process with closed-source DSP code, and mmap to kernel). Also, it takes ~5 seconds to boot with my best optimization: minimal uboot, minimal kernel, no sysvinit/systemd (app is init), while ESP32 boots instantly.

So, can anyone give me a suggestion on whether should I use ESP32+DSP+FPGA or should I use iMX6+RAM solution? I have spent some time on both -- I have virtually all BF706 firmware done, but I have not started working on ESP32 yet, not on FPGA, though I can reuse my old AES RX IP. On the other hand, I've been working on iMX6ULL yocto also for a while and was able to reduce boot time to 5 seconds. I think with more in-depth modification on u-boot and kernel, I can reduce that to <3 seconds.
 

Offline mac.6

  • Regular Contributor
  • *
  • Posts: 226
  • Country: fr
Re: MCU/MPU with HSUSB and Ethernet recommendation needed
« Reply #1 on: December 21, 2017, 08:50:36 am »
i.MX RT? pretty much same peripheral as i.MX6ull but no linux required.
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 14089
  • Country: gb
    • Mike's Electric Stuff
Re: MCU/MPU with HSUSB and Ethernet recommendation needed
« Reply #2 on: December 21, 2017, 09:32:22 am »
PIC32MZ may be worth a look - covers most if not all of your I/O requirements and doesn't need Linux.
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 
The following users thanked this post: mrpackethead

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 14089
  • Country: gb
    • Mike's Electric Stuff
Re: MCU/MPU with HSUSB and Ethernet recommendation needed
« Reply #3 on: December 21, 2017, 10:02:59 am »
Maybe an MCU for all the I/O, and FPGA/DSP for the maths.
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf