Minimal MIDI decoder

Designing hardware that uses VLSI Solution's devices as slave codecs such as an external MP3 decoder chip for a host microcontroller.
User avatar
pasi
VLSI Staff
Posts: 1377
Joined: Thu 2010-07-15 16:04

Re: Minimal MIDI decoder

Post by pasi » Wed 2017-03-08 11:46

The datasheet has example schematics as well, and then you need to adjust according to your application.

The 1.4 simple schematics is ok as a starting point. You can eliminate the button connections, the real-time MIDI won't use them.

Also see the MIDI input circuit from http://www.vlsi.fi/en/support/evaluatio ... board.html
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

Davidelvig
Senior User
Posts: 21
Joined: Mon 2015-08-24 5:25

Re: Minimal MIDI decoder

Post by Davidelvig » Thu 2017-03-09 6:42

Thanks. I used your link to get to here:
http://www.vlsi.fi/fileadmin/evaluation ... xxus14.pdf
That appears to be for the VS1003. Is that pin-compatible with the VS1053?
I could redesign based on that using Eagle if I had the VS1053 part in a library. (Eagle Lbr file)

I have downloaded one Eagle LBR (library) file from VLSI - it shows what could be a 48 pin package, but only about half of the pins show and are labeled. It's labeled VS1053.
I downloaded it from here http://www.vlsi.fi/en/support/download.html
Search for "eagle"

The SCH files you have in this site should a 48-pin version of that object.
Can I get that Eagle library - and the matching footprint for QFN48?

User avatar
pasi
VLSI Staff
Posts: 1377
Joined: Thu 2010-07-15 16:04

Re: Minimal MIDI decoder

Post by pasi » Thu 2017-03-09 15:14

The package is LQFP-48. The pinout is backwards compatible, vs1053b requires 1.8V for CVDD. You can also check the vs1003 to vs1053 migration checklist. Basically designing for the latest one will allow any of the previous ones to be used by removing or changing the regulator values.

The vs1053b-L symbol should be correct and working in the Eagle library. You need to use Invoke to also get the separate symbol for the power pins.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

Davidelvig
Senior User
Posts: 21
Joined: Mon 2015-08-24 5:25

Re: Minimal MIDI decoder

Post by Davidelvig » Thu 2017-03-09 16:39

Thanks! Found the pins using Invoke as you suggested.

Is there any guidance on running nets under the VS1053?

Davidelvig
Senior User
Posts: 21
Joined: Mon 2015-08-24 5:25

Re: Minimal MIDI decoder

Post by Davidelvig » Mon 2017-05-15 5:28

I've constructed a board with the VS1053.
It worked well with a demo MIDI app running on a Teensy (Arduino, 3V3)
The audio output stops at seemingly random times.
(the Arduino app continues, as shown through serial outputs to the console)

I have the following to share:
- Eagle schematic and board
- Arduino code

How best to get assistance?
Dave

User avatar
pasi
VLSI Staff
Posts: 1377
Joined: Thu 2010-07-15 16:04

Re: Minimal MIDI decoder

Post by pasi » Mon 2017-05-15 11:52

Have you tried the RTMIDI Application from http://www.vlsi.fi/en/support/software/ ... tions.html ?
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

Davidelvig
Senior User
Posts: 21
Joined: Mon 2015-08-24 5:25

Re: Minimal MIDI decoder

Post by Davidelvig » Thu 2017-08-03 18:57

Good progress here.
I'm playing RTMIDI through serial, and controlling various attributes through SCI.
Three Questions:
  • Can I play a MIDI file (e.g. accompaniment) while playing a solo line through individual MIDI commands.
  • Can you link me to a microcontroller source code example for loading a midi file through SDI?
  • I have only exposed XCS (23) to the microprocessor (and not XDCS (13) which is tied LOW). With that in mind, can I still send SDI data to the VS1053 by setting SM_SDISHARE=1, and then sending SDI data (e.g. MIDI commands)? The data sheet refers to the SM_SDISHARE causing XDCS to appear as an inverted XCS. Does that change my chip select logic? i.e. when I use SCI, I pull XCS low. Would I still do that when using SDI and SM_SDISHARE=1? from the Data Sheet (7.1.1): "If SM_SDISHARE is 1, pin XDCS is not used, but the signal is generated internally by inverting XCS."

Thanks
Dave

Davidelvig
Senior User
Posts: 21
Joined: Mon 2015-08-24 5:25

Re: Minimal MIDI decoder

Post by Davidelvig » Fri 2017-08-11 6:28

Posting one question at a time here:

Can you link me to a microcontroller source code example for playing a midi file on the VS1053 through SDI?
(I'm using arduino c++, but any source language will do.)

Thanks
Dave

Davidelvig
Senior User
Posts: 21
Joined: Mon 2015-08-24 5:25

Re: Minimal MIDI decoder

Post by Davidelvig » Thu 2017-08-17 18:47

Bringing this up again.
I could use an example of feeding a MIDI file to the VS1053. The Datasheet was not enough for me.
Anyone want to be a hero?

User avatar
Panu
VLSI Staff
Posts: 2388
Joined: Tue 2010-06-22 13:43

Re: Minimal MIDI decoder

Post by Panu » Fri 2017-08-18 7:55

Pasi's your man as he wrote the decoder, but he's on a summer holiday :(

-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

Post Reply

Who is online

Users browsing this forum: No registered users