Jump to content

Making a MIDIBox SID with an LPC17 Core


Sauraen
 Share

Recommended Posts

Oikanys and I are planning to build a MIDIBox SID that will eventually house 8 SIDs, a modulator-controlled feedback array, a built-in sequencer, and an elaborate control surface including a 16x8 4-color matrix. Given the expected CPU power all this would require, we'd like to use a single LPC17 core to control the SIDs. However, I see that each SID requires a clock input, that in the case of the standard PIC18F452 core is connected to J10:PWM / RC2. Since this port on the PIC can also be connected to J7:S0 to provide shift register serial data for the MF module, I assume this is a standard digital IO port that in the case of the SID is somehow configured in software to output the 1MHz clock. Is this true? How would I configure the LPC17 to do the same thing, possibly on J19:S0 (MOSI0/P0.18)?

On a related note, I see MIDIBox SID V3 files in the SVN repository for MIOS32. What is the state of these? Does anyone know how they intend the SIDs to be connected to the LPC17?

Link to comment
Share on other sites

If you don´t want to do duplicate work, wait for mbsid v3 - which will be based on the new core... TK. was working on it and it will feature a lot of goodies :)

Also, my personal suggestion would be to not add too many things to a single one-core project - the seq or the blm for example can be nicely decoupled into separate projects (in fact there are long-proven midibox projects of them running everywhere around the globe). The fact, that they are separate (by design and pcbs) does not mean, that you need to separate them in your sid-seq-blm-box, which can be one single hardware unit.

On the other hand, if you want to do it for the thrillz and have some time on hand, then please don´t let my words discourage you :)

Greets,

Peter

Edited by Hawkeye
Link to comment
Share on other sites

  • 4 weeks later...

I guess you could say we want to do it "for the thrillz". :) I'm used to programming in C/C++ on Linux, but never before for a microcontroller, so it'll be a fun learning experience.

As far as the multiple cores, you're absolutely right--it'll basically be a MIDIBox SID and MIDIBox SEQ sharing the same BLM_SCALAR (connected to the sequencer core and communicating with the SID core through the sequencer core). But since we're planning that the volume/feedback array would be controlled by the SID core, and since from looking at TK's SID Version 3 source code it seems to be written for the STM32 core, we'll have to change the hardware and software anyway. I will, though, try to package the module driver I make for the SID/feedback/volume board so that it'll be able to easily replace the existing SID module if desired.

I'll post any progress I make here, in case anyone else out there is trying to do a similar thing. For instance, it seems the easiest way to get the LPC17 to output a 1MHz clock for the SIDs would be to use PWM just like with the old PIC controller. I'm planning to hook it to PWM3, which is connected to J10:D0. I'll post updates once I test that.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...