-
Notifications
You must be signed in to change notification settings - Fork 4
Firmware Guide
The MISRC uses a basic or dumb design, with hardware control oriented configuration, i.e the only thing firmware/software does is just taking a 32-bit raw stream of digital data packaging it in some manner and sending it to the host system to be unpacked to 16-bit PCM streams for the two main ADCs and or your AUX bits for audio ADCs.
There is a few viable options for the data over YUV method, as new hardware has firmware written and ADC adaptor boards made this list will expand.
Tang Nano 20k
Today we are now using the more affordable Tang Nano 20k sending the data over HDMI this only needs to be flashed once via usb connection, we have pre-compiled firmware see releases for the latest version.
Install openFPGALoader
Connect your Tang to a USB 3.0 port via its Type-C, it will need this for 5V power after flashing, but not data.
Run via terminal inside the firmware directory
openFPGALoader -b tangnano20k -f hsdaoh_nano20k_misrc.fs
You have flashed your Tang Nano 20k!
EZ-USB FX3
The FX3 USB 3.0 board from Infineon is an industry standard for USB 3.0 product development, the original plan as to use it to neatly bundle data into a single interleaved stream and dump it to file on a host system, so the scope of complexity is very small as we are not doing much more than accepting the data and saving it to disk.
Sadly this method had issues with sample drops and was also annoying to build and deploy firmware for so was ditched for the Tang Nano 20k, this is considered legacy and will not be proactively developed for.
cypress-fx3-firmware-2023.fw
Open USB Control Center
Physically populate the J4 Jumper with spare included in FX3 box.
Plug FX3 in via USB 3.0 B
Install USB Driver onto West Bridge
device.
Now with Cypress FX3 USB BootLoader
you can flash the FX3 board.
Rename your firmware extension to .img
and open it.
The Window will show Programming of I2C EEPROM Succeeded
You are ready to use the MIRSC hardware.
MISRC uses a (modified) firmware for the FX3 provided by Infineon (Cypress) in the Infineon Developer Community
Download and install the EZ-USB FX3 SDK
Modifications:
- Change bus width in GPIF II Designer to 32 bit instead of 16 bit
- Change the top value of the counter variable from 8191 to 4095 in the state machine diagram
- Select external clock source (only for building a firmware to use external clock/oscillator)