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

Similar documents
Using the HT46R46 I/O Ports to Implement Half-Duplex SPI Communication

Arduino DUE + DAC MCP4922 (SPI)

Introduction the Serial Communications Huang Sections 9.2, 10.2 SCI Block User Guide SPI Block User Guide

Implementing SPI Communication Between MSP430 G2452 and LTC ADC

Data Sheet. Adaptive Design ltd. Arduino Dual L6470 Stepper Motor Shield V th November L6470 Stepper Motor Shield

FR FAMILY MB91460 SPI - DAISY CHAIN COMMUNICATION 32-BIT MICROCONTROLLER APPLICATION NOTE. Fujitsu Microelectronics Europe Application Note

ADS9850 Signal Generator Module

WICE-SPI Hardware Operation Manual

JTAG-HS2 Programming Cable for Xilinx FPGAs. Overview. Revised January 22, 2015 This manual applies to the HTAG-HS2 rev. A

User s Manual of Board Microcontroller ET-MEGA2560-ADK ET-MEGA2560-ADK

DAC Digital To Analog Converter

Embedded Systems Design Course Applying the mbed microcontroller

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

Microcomputers. Analog-to-Digital and Digital-to-Analog Conversion

Internal Oscillator. I 2 C Interface. SPI Interface. Controller. Internal Registers Port Controller. Eight I/O Pins. Figure 1.

AND8336. Design Examples of On Board Dual Supply Voltage Logic Translators. Prepared by: Jim Lepkowski ON Semiconductor.

Interfacing Analog to Digital Data Converters

SafeSPI - Serial Peripheral Interface for Automotive Safety

PHY-2464 Physical Basis of Music

Serial Communications

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Electronic Circuits Spring 2007

Wireless Security Camera

A DIY Hardware Packet Sniffer

Arduino ADK Back. For information on using the board with the Android OS, see Google's ADK documentation.

MicroMag3 3-Axis Magnetic Sensor Module

TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT

AVRprog. programmer by MikroElektronika

DS2186. Transmit Line Interface FEATURES PIN ASSIGNMENT

US-SPI New generation of High performances Ultrasonic device

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide

DS Wire Digital Thermometer and Thermostat

TS5010 TeraTune Programmable Bandpass Filter

10-Bit Digital Temperature Sensor in 6-Lead SOT-23 AD7814

Design and Functional Verification of A SPI Master Slave Core Using System Verilog

In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM

Memory Module Specifications KVR667D2D4F5/4G. 4GB 512M x 72-Bit PC CL5 ECC 240-Pin FBDIMM DESCRIPTION SPECIFICATIONS

2.2" TFT Display. Created by Ladyada. Last updated on :15:09 PM EDT

Final Project Example

Wireless In-Ear Audio Monitor

CAN bus board. EB018

HP03 BAROMETER MODULE Version: 1.1

DECT Module UM-9802 Datasheet

QUICK START GUIDE FOR DEMONSTRATION CIRCUIT BIT DIFFERENTIAL ADC WITH I2C LTC2485 DESCRIPTION

CS5531/32/33/34-AS 16-bit and 24-bit ADCs with Ultra-low-noise PGIA

USER GUIDE EDBG. Description

DS1621 Digital Thermometer and Thermostat

Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A

PCAN-MicroMod Universal I/O Module with CAN Interface. User Manual. Document version ( )

DS1621 Digital Thermometer and Thermostat

±1 C Accurate, 13-Bit, Digital Temperature Sensor ADT7301

Hardware. NetDCUA5. Documentation. PRELIMINARY This document is subject to change without notice. Version 0.01 ( )

FLYPORT Wi-Fi G

How to Move Canon EF Lenses. Yosuke Bando

Serial Input, Voltage Output 12-/14-Bit Digital-to-Analog Converters AD5530/AD5531

Memory Module Specifications KVR667D2D8F5/2GI. 2GB 256M x 72-Bit PC CL5 ECC 240-Pin FBDIMM DESCRIPTION SPECIFICATIONS

CS bit ADC with Ultra-low-noise Amplifier

MSFET MICROSENS Miniature ph Sensor Module

Adafruit BME280 Humidity + Barometric Pressure + Temperature Sensor Breakout

AN-812 APPLICATION NOTE

3.2 inch QVGA TFT Color LCD User s Guide Version 1 & 2

Supertex inc. High Speed Ultrasound Beamforming Source Driver MD2131. Features. General Description. Applications. MD2131 Block Diagram. Supertex inc.

Web Site: Forums: forums.parallax.com Sales: Technical:

Bluetooth UART/RS232 Module

NHD-0420D3Z-FL-GBW-V3

DS18B20 Programmable Resolution 1-Wire Digital Thermometer

Eric Mitchell April 2, 2012 Application Note: Control of a 180 Servo Motor with Arduino UNO Development Board

DATASHEET. ADAM Arduino Display Adaptor Module. Arduino Compatible Shield P/N: 4Display-Shield-FT843 For the 4D Systems 4DLCD-FT843 Display

DS1821 Programmable Digital Thermostat and Thermometer

Newhaven Display International, Inc Galvin Ct. Elgin IL, Ph: Fax:

FPGA INTEGRATION MANUAL SATURN-SIL 2 MODULES. Dictionary Code. Edition 01. Revision 00. Number of pages 18

Elettronica dei Sistemi Digitali Costantino Giaconia SERIAL I/O COMMON PROTOCOLS

Android Controlled Based Interface

MFRD52x. Mifare Contactless Smart Card Reader Reference Design. Document information

SPI. Overview and Use of the PICmicro Serial Peripheral Interface. Getting Started: SPI

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE

Conversion Between Analog and Digital Signals

PACKAGE OUTLINE DALLAS DS2434 DS2434 GND. PR 35 PACKAGE See Mech. Drawings Section

PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 TUTORIAL OUTCOME 2 Part 1

AVR319: Using the USI module for SPI communication. 8-bit Microcontrollers. Application Note. Features. Introduction


VDIP1. Vinculum VNC1L Module. Datasheet

Sensor Technology Interface

24-Channel Automotive Switch Monitor

ARDUINO SEVERINO SERIAL SINGLE SIDED VERSION 3 S3v3 (REVISION 2) USER MANUAL

NB3H5150 I2C Programming Guide. I2C/SMBus Custom Configuration Application Note

T 1 3 T 1 2 T 1 5 T 1 4 T 6 T 1 1 T 7 T 9 T 8 T 1 S 3 5 S 3 4 S 3 3 S 3 2 S 3 1 S 3 0 S 2 9 S 2 8 S 2 7 S 2 6 S 2 5 S 2 4 S 2 3 S 2 2 S 2 1 1

Real-Time Vehicle Data Logging System Using GPS And GSM

Serial Communications (Chapter 10) RS232, SPI, I2C

Arduino Due Back. Warning: Unlike other Arduino boards, the Arduino Due board runs at 3.3V. The maximum. Overview

M25P05-A. 512-Kbit, serial flash memory, 50 MHz SPI bus interface. Features

PHYS 2P32 Project: MIDI for Arduino/ 8 Note Keyboard

isppac-powr1220at8 I 2 C Hardware Verification Utility User s Guide

Preliminary Datasheet

ADXL345-EP. 3-Axis, ±2 g/±4 g/±8 g/±16 g Digital Accelerometer. Enhanced Product FEATURES GENERAL DESCRIPTION ENHANCED PRODUCT FEATURES APPLICATIONS

FEATURES DESCRIPTION. PT6321 Fluorescent Display Tube Controller Driver

USART and Asynchronous Communication

Technical description MX-1 VB Edge

Decimal Number (base 10) Binary Number (base 2)

Part Number Description Packages available

Work with Arduino Hardware

Transcription:

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

What you need: 2

What you need : Arduino Board (Arduino Mega 2560) 3

What you need : Arduino Board (Arduino Mega 2560) Digital Analog Converter with SPI (MAX525) 4

What you need : Arduino Board (Arduino Mega 2560) Digital Analog Converter with SPI (MAX525) MIDI Plug + Opto coupler 5

Arduino Board Arduino Mega 2560 1 RX 13 Gate 51 SDI 52 CLK 53 CS 6

Arduino Board + SPI Converter Arduino Mega 2560 1 RX 13 Gate SPI Converter Gate 51 SDI 52 CLK 53 CS SDI CLK CS Out CV 7

Arduino Board + SPI Converter + Midi Board Midi Board Arduino Mega 2560 SPI Converter RX 1 RX 13 Gate Gate 51 SDI 52 CLK 53 CS SDI CLK CS Out CV 8

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

DAC Converter Board LT1236 LF356 Reference voltage is trimmed to 2V +-15V +5V Output Vref = Vdd -1,4V!! See Datasheet page 8. Ouput Port B SPI 74HC14 MAX525 10

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

SPI Communication Timing CS SCK SDI 12

SPI Communication Timing CS SCK SDI 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. 13

SPI Communication Timing CS SCK SDI 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. 14

The serial Datastructure 15

The serial Datastructure MSB 16 Bit seriel data LSB 16

The serial Datastructure MSB 16 Bit seriel data LSB Address Bits Control Bits Data MSB LSB A1 A0 C1 C0 D11..D0 17

The serial Datastructure MSB 16 Bit seriel data LSB Address Bits Control Bits Data MSB LSB A1 A0 C1 C0 D11..D0 4Address/ Control Bits 12 databits 18

MSB and LSB 4Address/ Control Bits 12 databits 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 MSB LSB 19

MSB and LSB MSB LSB 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 20

MSB and LSB 128 64 32 16 8 4 2 1 1 0 0 0 MSB LSB 128 64 32 16 8 4 2 1 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

MSB and LSB MSB LSB 128 64 32 16 8 2048 4 1024 2 512 1 256 128 64 32 16 8 4 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 + 0 0 22

MSB and LSB MSB LSB 128 64 32 16 8 2048 4 1024 2 512 1 256 128 64 32 16 8 4 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 + 0 0 128 0 Volt output voltage 23

Timing chart Output value 0 CS SCK SDI 24

Timing chart Output value 0 CS MSB SCK SDI 25

Timing chart Output value 0 CS SCK SDI MSB LSB 26

MSB and LSB MSB LSB 128 64 32 16 8 2048 4 1024 2 512 1 256 128 64 32 16 8 4 2 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 128 + 15 255 143 27

MSB and LSB MSB LSB 128 64 32 16 8 2048 4 1024 2 512 1 256 128 64 32 16 8 4 2 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 128 + 15 255 143 Output voltage = VRef * (Value/4096) 28

MSB and LSB MSB LSB 128 64 32 16 8 2048 4 1024 2 512 1 256 128 64 32 16 8 4 2 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 128 + 15 255 143 Output voltage = 2V * (4095/4096) = 1,99V 29

Timing chart Output value 4095 CS SCK SDI 30

Timing chart Output value 4095 CS MSB SCK SDI 31

Timing chart Output value 4095 CS SCK SDI MSB LSB 32

Program sequence 33

Program sequence Define the CS pin, settting to output, set value = high 34

Program sequence Define the CS pin, settting to output, set value = high Activate SPI interface 35

Program sequence Define the CS pin, settting to output, set value = high Activate SPI interface Setting the SPI parameter 36

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

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

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

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

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