Friday, May 10, 2013

SN76489 USB MIDI 101 Firmware

The SN76489 USB MIDI 101 firmware includes the following changes:
• Support for traditional 5 PIN DIN Plug via an optional MIDI input circuit



Download the firmware here: http://milkcrate.com.au/_other/downloads/teensy/SN76489_USB_MIDI_101/SN76489_USB_MIDI_101.ino




This firmware update changes the circuit of the Teensy and SN76489 as follows:

==== DATA ====
Teensy PORTB 0 = Teensy Digital Pin 0 -->  SN76489 Pin 10 (Data 0)
Teensy PORTB 1 = Teensy Digital Pin 1 -->  SN76489 Pin 11 (Data 1)
Teensy PORTB 2 = Teensy Digital Pin 2 -->  SN76489 Pin 12 (Data 2)
Teensy PORTB 3 = Teensy Digital Pin 3 -->  SN76489 Pin 13 (Data 3)
Teensy PORTB 4 = Teensy Digital Pin 13 -->  SN76489 Pin 15 (Data 4)
Teensy PORTB 5 = Teensy Digital Pin 14 -->  SN76489 Pin 1 (Data 5)
Teensy PORTB 6 = Teensy Digital Pin 15 -->  SN76489 Pin 2 (Data 6)
Teensy PORTB 7 = Teensy Digital Pin 4 --> SN76489 Pin 3 (Data 7)

==== CONTROL AND MIDI INPUT ====
Teensy PORTD 0 = Teensy Digital Pin 5 --> SN76489 Pin 5 (Write Enable)
Teensy PORTD 2 = Teensy Digital Pin 7 --> Receive data from MIDI INPUT CIRCUIT

==== POWER AND CRYSTAL ====
Teensy Ground --> SN76489 Pin 8 (ground)
Teensy Ground --> SN76489 Pin 6 (Output Enable)
Teensy Ground --> Xtal Osc Ground
Teensy 5V --> SN76489 Pin 16
Xtal Osc Signal --> SN76489 Pin 14 (Clock)

==== AUDIO OUTPUT ====
SN76489 Pin 7 --> Audio Output Signal
SN76489 Pin 8 --> Audio Output Ground

==== MIDI INPUT CIRCUIT (ONLY IF REQUIRED) ===
MIDI Input DIN 5 Pin 4 --> 4n28 Pin 1
MIDI Input DIN 5 Pin 5 --> 4n28 Pin 2
N4148 Diode (positive anode) --> 4n28 Pin 1
N4148 Diode (negative cathode) --> 4n28 Pin 2
4n28 Pin 6 --> 100k resistor (leg 1)
100k resistor (leg 2) --> Teensy Ground
4n28 Pin 5 --> Teensy PORTD 2 = Teensy Digital Pin 7
4n28 Pin 5 --> 3.3k resistor (leg 1)
3.3k resistor (leg 1) --> Teensy 5V
4n28 pin 4 --> Teensy Ground


Here are diagrams of the various devices.

0 comments: