midi to voltageconverter part 1 -...

41
MIDI to Voltage Converter Part1 MIDI to Voltage Converter Part 1 MAX 525 12BIT DAC with an Arduino Board 1

Upload: phungthuan

Post on 05-Mar-2018

251 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

MIDI to Voltage Converter

Part 1

MAX 525 12BIT DAC with an Arduino

Board

1

Page 2: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

What you need:

2

Page 3: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

What you need :

• Arduino Board (Arduino Mega 2560)

3

Page 4: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

What you need :

• Arduino Board (Arduino Mega 2560)

• Digital Analog Converter with SPI (MAX525)

4

Page 5: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

What you need :

• Arduino Board (Arduino Mega 2560)

• Digital Analog Converter with SPI (MAX525)

• MIDI Plug + Opto coupler

5

Page 6: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Arduino Board

6

Arduino Mega 2560

1 RX 13 Gate

51 SDI

52 CLK

53 CS

Page 7: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Arduino Board + SPI Converter

7

Arduino Mega 2560

1 RX 13 Gate

51 SDI

52 CLK

53 CS

SPI Converter

SDI Out

CLK

CS

Gate

CV

Page 8: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Arduino Board + SPI Converter

+ Midi Board

8

Midi Board

RX

Arduino Mega 2560

1 RX 13 Gate

51 SDI

52 CLK

53 CS

SPI Converter

SDI Out

CLK

CS

Gate

CV

Page 9: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

DAC Converter Board

On the board there is MAX525 with 4 12bit DACs inside.

Beside the converter and the buffer OpAmps there is a LT1236

5V voltage reference and a 74HC14.

I use LF356 as Buffer OpAmps.

The output voltage range is 0 to 2V

9

Page 10: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

DAC Converter Board

Ouput Port B

LT1236

MAX52574HC14

LF356

+-15V

+5V

Output

SPI

10

Reference voltage is

trimmed to 2V

Vref = Vdd -1,4V!!

See Datasheet page 8.

Page 11: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

SPI Connector

• SDO (Serial Data Out) / MISO (Master in, Slave out)

• SDI (Serial Data In) / MOSI (Master out, Slave in)

• SCK (Serial Clock) / SCLK

• CS (Chip Select)

11

Page 12: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

SPI Communication Timing

SCK

SDI

CS

12

Page 13: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

SPI Communication Timing

SCK

SDI

CS

13

• If the chip select pin gets low the data on the SDI pin is transfered to the

internal register on every falling edge of the clock signal.

Page 14: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

SPI Communication Timing

SCK

SDI

CS

14

• If the chip select pin gets low the data on the SDI pin is transfered to the

internal register on every falling edge of the clock signal.

• With the rising edge of the chip select the data is transfered to the DAC

output.

Page 15: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

The serial Datastructure

15

Page 16: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

The serial Datastructure

16

MSB LSB

16 Bit seriel data

Page 17: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

The serial Datastructure

17

Address

Bits

Control

Bits

Data

MSB LSB

A1 A0 C1 C0 D11…………………………………………………………………………………………………..D0

MSB LSB

16 Bit seriel data

Page 18: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

The serial Datastructure

18

4 Address/

Control Bits12 data bits

Address

Bits

Control

Bits

Data

MSB LSB

A1 A0 C1 C0 D11…………………………………………………………………………………………………..D0

MSB LSB

16 Bit seriel data

Page 19: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

MSB and LSB

128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1

MSB LSB

19

4 Address/

Control Bits12 data bits

Page 20: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

MSB and LSB

128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1

MSB LSB

20

Page 21: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

MSB and LSB

128 64 32 16 8 4 2 1

1 0 0 0

128 64 32 16 8 4 2 1

MSB LSB

This command is loading

all DAC registers with the

value of the input register.

All outputs have the same

value.

See datasheet page 10

table 1.

21

Page 22: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

MSB and LSB

128 64 32 16 8

2048

4

1024

2

512

1

256

1 0 0 0 0 0 0 0

128 64 32 16 8 4 2 1

0 0 0 0 0 0 0 0

MSB LSB

128 0+ 0

22

Page 23: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

MSB and LSB

128 64 32 16 8

2048

4

1024

2

512

1

256

1 0 0 0 0 0 0 0

128 64 32 16 8 4 2 1

0 0 0 0 0 0 0 0

MSB LSB

128 0+ 0

0 Volt output voltage

128

23

Page 24: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Timing chart

Output value 0

24

SCK

SDI

CS

Page 25: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Timing chart

Output value 0

25

SCK

SDI

CSMSB

Page 26: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Timing chart

Output value 0

26

SCK

SDI

CSMSB LSB

Page 27: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

MSB and LSB

128 64 32 16 8

2048

4

1024

2

512

1

256

1 0 0 0 1 1 1 1

128 64 32 16 8 4 2 1

1 1 1 1 1 1 1 1

MSB LSB

128 15+ 255

143

27

Page 28: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

MSB and LSB

128 64 32 16 8

2048

4

1024

2

512

1

256

1 0 0 0 1 1 1 1

128 64 32 16 8 4 2 1

1 1 1 1 1 1 1 1

MSB LSB

128 15+ 255

143

Output voltage = VRef * (Value/4096)

28

Page 29: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

MSB and LSB

128 64 32 16 8

2048

4

1024

2

512

1

256

1 0 0 0 1 1 1 1

128 64 32 16 8 4 2 1

1 1 1 1 1 1 1 1

MSB LSB

128 15+ 255

143

Output voltage = 2V * (4095/4096)

= 1,99V

29

Page 30: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Timing chart

Output value 4095

30

SCK

SDI

CS

Page 31: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Timing chart

Output value 4095

31

SCK

SDI

CSMSB

Page 32: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Timing chart

Output value 4095

32

SCK

SDI

CSMSB LSB

Page 33: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Program sequence

33

Page 34: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Program sequence

• Define the CS pin, settting to output, set value = high

34

Page 35: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Program sequence

• Define the CS pin, settting to output, set value = high

• Activate SPI interface

35

Page 36: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Program sequence

• Define the CS pin, settting to output, set value = high

• Activate SPI interface

• Setting the SPI parameter

36

Page 37: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Program sequence

• Define the CS pin, settting to output, set value = high

• Activate SPI interface

• Setting the SPI parameter

• Set CS = low -> shifts the following data to the input register

37

Page 38: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Program sequence

• Define the CS pin, settting to output, set value = high

• Activate SPI interface

• Setting the SPI parameter

• Set CS = low -> shifts the following data to the input register

• Transmit MSB thru SPI

38

Page 39: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Program sequence

• Define the CS pin, settting to output, set value = high

• Activate SPI interface

• Setting the SPI parameter

• Set CS = low -> shifts the following data to the input register

• Transmit MSB thru SPI

• Transmit LSB thru SPI

39

Page 40: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

Program sequence

• Define the CS pin, settting to output, set value = high

• Activate SPI interface

• Setting the SPI parameter

• Set CS = low -> shifts the following data to the input register

• Transmit MSB thru SPI

• Transmit LSB thru SPI

• Set CS = high -> shifts the value to the output register of the

DAC

40

Page 41: MIDI to VoltageConverter Part 1 - itist.deitist.de/wordpress/wp-content/uploads/2013/11/MIDI-to-VoltageSPI... · MIDI toVoltageConverter Part1 MIDI to VoltageConverter Part 1 MAX

MIDI to Voltage Converter Part1

End Part 1

• MAX 525: http://www.maximintegrated.com/datasheet/index.mvp/id/1445

• LT1236: http://www.linear.com/product/LT1236

• LF356: http://www.ti.com/product/lf356

• 6N139: http://www.ti.com/product/6n139

• 74HC14: http://www.ti.com/product/cd74hc14

• Arduino: http://www.arduino.cc/

41