VS1053 in realtime MIDI mode

Designing hardware that use VLSI Solution's devices as the system controller for the entire design.
Post Reply
GertBaars
User
Posts: 6
Joined: Sat 2017-09-02 20:54

VS1053 in realtime MIDI mode

Post by GertBaars » Sat 2017-09-02 21:02

Designing a circuit for VS1053 in rt MIDI mode.
(GPIO0=L and GPIO1 =H)
The datasheet says Airspeaker control is defined
by GPIO2&3 in rt MIDI mode, doesn't mention how.
Are there any other inputs like chip-selects that
need to be defined H/L?

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

Re: VS1053 in realtime MIDI mode

Post by Panu » Sun 2017-09-03 10:54

VS1053 is a pure CMOS circuit. No inputs can be floating, all inputs must be tied high or low in the PCB. Please see the datasheet for a list of pins to see which pins are inputs. RX and TX need to be high (TX to avoid spurious output during reset).

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

GertBaars
User
Posts: 6
Joined: Sat 2017-09-02 20:54

Re: VS1053 in realtime MIDI mode

Post by GertBaars » Sun 2017-09-03 12:19

The only connection with a microcontroller
is Rx. So all other unused inputs can be tied low?

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

Re: VS1053 in realtime MIDI mode

Post by Panu » Sun 2017-09-03 16:09

Looking at the datasheet, here's a list of pull-ups and pull-downs that I would suggest for pins that you are not using actively:
XRESET: High (Important!, delayed with capacitor)
GPIO2/DCLK: Low
GPIO3/SDATA: Low
GPIO6/I2S_SCLK: Low
GPIO7/I2S_SCLK: Low
XDCS/BSYNC: High (Important!)
XCS: High (Important!)
GPIO5/I2S_CMLK: Low
RX: High (Important!)
TX: High (surprisingly important)
SCLK: Low
SI: Low
SO: Low
XTEST: High (Important!)
GPIO0: High to enable SPIBOOT, Low to disable SPIBOOT.
GPIO1: High to enable MIDI, Low for normal operation.
GPIO4: Low
RCAP: Capacitor to GND (Important!)
Missing those marked as "Important!" will cause the chip to malfunction in some circumstances. Missing others will cause extra current consumption or other smaller problems but the chip probably will run ok.

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

GertBaars
User
Posts: 6
Joined: Sat 2017-09-02 20:54

Re: VS1053 in realtime MIDI mode

Post by GertBaars » Sun 2017-09-03 16:51

XCS and XDCS are active low
chipselects. Tieing them
high would cause idle state
of the device.
May I ask what datasheet
you are using.

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

Re: VS1053 in realtime MIDI mode

Post by Panu » Sun 2017-09-03 18:38

GertBaars wrote:XCS and XDCS are active low chipselects. Tieing them high would cause idle stateof the device.
Panu wrote:here's a list of pull-ups and pull-downs that I would suggest for pins that you are not using actively
Any inactive chip select must be pulled high.
GertBaars wrote:May I ask what datasheet you are using.
This one: http://www.vlsi.fi/fileadmin/datasheets/vs1053.pdf

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

GertBaars
User
Posts: 6
Joined: Sat 2017-09-02 20:54

Re: VS1053 in realtime MIDI mode

Post by GertBaars » Sun 2017-09-03 21:13

This is the only info provided on RT MIDI in the datasheet (same version as mine):
Must I assume with GPIO0/1 = L/H after reset the whole chip goes idle
with tri-state on all I/O, except the MIDI synthesizer and its path?

10.10 Real-Time MIDI
If GPIO0 is low and GPIO1 is high during boot, real-time MIDI mode is activated. In this mode
the PLL is configured to 4.0×, the UART is configured to the MIDI data rate 31250 bps, and
real-time MIDI data is then read from UART and SDI. Both input methods should not be used
simultaneously. If you use SDI, first send 0x00 and then send the MIDI data byte.
EarSpeaker setting can be configured with GPIO2 and GPIO3. The state of GPIO2 and GPIO3
are only read at startup.
Real-Time MIDI can also be started with a small patch code using SCI.
Note: The real-time MIDI parser in VS1053b does not know how to skip SysEx messages. An
improved version can be loaded into IRAM if needed.

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

Re: VS1053 in realtime MIDI mode

Post by Panu » Sun 2017-09-03 21:27

Yes, most pins will be inputs.

But it would be good to be prepared for using the board for other purpose or loading a patch - then some pins might become outputs.
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

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

Re: VS1053 in realtime MIDI mode

Post by pasi » Mon 2017-09-04 12:08

During reset all GPIO pins are in high-impedance / input mode.

If GPIO0 is pulled high, SPI boot is tried, in which case GPIO1 will become output (SCLK).

If GPIO0 is pulled low, SPI boot is not tried, and the GPIO pins remain in input mode.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

Post Reply

Who is online

Users browsing this forum: No registered users