As I have mentioned, I am building a MIDI controller using the PIC18F4550. The controller has a MIDI in port, and acts as a MIDI to USB converter as well.
- 10 potentiometers (knobs)
- MIDI in
- USB MIDI interface
- Drill and mount the front panel
- Create and mount the PCB
- Mount the guts in the case
- Active sense handling
- MIDI channel selection
As always more details, source code, schematic, and PCB will follow.
I have some PIC18F4550s lying around, and I want to play with the USB features of this chip, therefore I made this breakout board. It contains enough components to get the PICMicro running, and nothing more, all the pins are routed to pin-headers to use with an experimenter board.
- ICSP connector (In-Circuit Serial Programming, AKA PicKit 2 & 3)
- USB-B Connector
- 20Mhz clock crystal
Eagle files: PIC18F4550 USB ICSP breakout board
I have gathered together the schematics for the non oversampling TDA1545 DAC. Mind that I am only responsible for the shunt regulators, the microcontroller, and the input selector. The digital input circuitry was developed after reading some post from Jocko Homo on the diyhifi.org forum. The TDA1545 circuit is mostly from the Philips data sheet. The I/V stage is from rbroer on DIYAudio.
At some point in time I have made the following block diagram, and from memory it seems correct.
From the top here is the input selector board, the micro controller for the relays are on a second board, as per the block diagram.
After the relays, comes the SPDIF buffer/amplifier circuit based on Jocko Homo's. The CS8412 converts the SPDIF signal into the correct I2S format, I2S data goes both to the DAC board, and the micro controller board. The micro controller signal is buffered by one of the 7404 inverters, in the hopes that any noise from the micro controller, will be isolated.
The shunt regulators, are duplicates of the similar valued ones in the shunt regulator schematic, you do not need to build these twice!
Here is the DAC circuit.
Everything is in the puzzling Philips data sheet. The relay shuts off the data, while the micro controller scan through the inputs.
Here comes the shunt regulators
The one at the bottom is the one for the DAC, and the one that is not
duplicated on the input selector board.
Here comes the I/V from rbroer, which is fed from the unregulated DC supply.
And the micro controller schematic.
I have redesigned the PCB layout's without saving the ones I used in the working DAC. Therefore they have not been tested, and I would rather not publish them, and have them blow up in some poor persons face.
The firmware for the DAC input selector has been debugged extensively, and now seems ready for real life testing. The source is here: SPDIF input selector source. The firmware has a manual, and an automatic selection mode.
- If the button is pushed for less than about 2 seconds, the selector enters manual mode, and skip to the next input.
- If the button is held for longer that 2 seconds, the firmware scans each input for one second and selects the first input that has data (audio).
The firmware works by sniffing the I2S data line to the DAC, to see if anything is going on there. To prevent the DAC from playing anything, before an input is selected, a relay has been added to the DAC board, to only enable the I2S data line to the DAC, when a signal has been selected.
When the project is finished the compiled firmware will be made available along with the rest of the design files.
I have just finished testing a prototyping board I have designed for the PIC18F2550, that I will be using in a project I am doing for a friend. The board is designed to interface with the PICKit 2, programmer/debugger, has an on board 5 Volt regulator, and pads for a serial port through the MAX232 line driver/receiver. This is not rocket science, just a nice PIC18F2550 to breadboard converter.
Cadsoft Eagle project files: uc-proto.zip
Generated on 2018-05-03 01:14:21.897083