Jump to content

zenlogic

Members
  • Posts

    8
  • Joined

  • Last visited

zenlogic's Achievements

MIDIbox Newbie

MIDIbox Newbie (1/4)

0

Reputation

  1. Just the oscilloscope probes - straight onto the pins! 10.9V!!!! woah!
  2. The oscilloscope screens above were taken straight off the PWM pin - when I took those I'd actually completely disconnected everything from the arduino board so that would basically seem to be an issue internal to the Atmel controller, none of my circuit was involved in that test! It's quite amazing that you seem to be able to get over 9V peak to peak out of it though!
  3. Hi Thorsten, a serial current limiting resistor didn't work - I tried a few values up to 1k to no effect. If you look at the two screenshots below you will see the waveform before and after I added the capacitor. Can anyone think of a better way to *fix* the output to make a more pure square wave than sticking a cap to ground? I mean, the solution works but it just feels a bit wrong... Before: After:
  4. OMG!!! I've solved it :-) I was probing the board with my oscilloscope (started by focussing on the data, however this turned out to be wrong). I thought I'd look at timings vs the clock when I spotted that the clock pin (OC1A running a 1Mhz pulse set up using PWM) when turning on or off actually overshoots before settling back down to 5 or 0 volts. This produces a (very, very) short peak on the rising and falling edge of the clock signal - I measured an almost imperceptible peak to peak voltage of 8v...... I'd never have seen it without the scope. Probably not the best approach, but I put a 1n capacitor to ground to filter out the first part of the signal, and BANG - the 8580 is now responding to gate changes and the envelope generator is working properly!! I don't know if this is a known thing, but I suspect that this might be common to Atmel processors when delivering PWM at that sort of frequency? I"m guessing that the PWM coming from the PIC is much closer to a square wave and the edges don't overshoot 0 or 5 volts? I should probably do something other than sticking a random cap to ground to fix the clock signal, but for now that will get me going! Thanks for your help Thorsten, I just hope this info helps someone else out at some point.
  5. I threw together a quick test board and tapped all the shift register output pins with LEDs (using a couple of darlington arrays so as not to interfere with the signal too much). I haven't built any control circuitry yet, so just ran a program pushing 0-24 to the first shift register and 0-255 to the second on a slow timed loop so I can physically see the signals. All bit combinations appear to work as expected, so I think I can exclude that as the issue. The SPI code is doing it's job. I'm not sure where to go next, but I'm going to order a PIC18F4685 so I can run your code - I'm thinking I'll have to check the timings with my scope and see if there's any clues there... (unless anyone has any better ideas???).
  6. Hi Thorsten, hmm, this doesn't appear to be that issue - this isn't a sporadic or random failure, I have not managed to get a single 8580 to respond to a gate bit change. The same code works on the 6581s I have. To be fair, my hardware setup is pretty rudimentary - I've built a (veroboard) circuit based on the schematic here: http://www.ucapps.de/mbhp/mbhp_sid_v3.pdf The main difference is that I haven't used your controller - I've just got it hooked up to an Arduino which is delivering a 1Mhz clock off one of the pins, the 3 lines to the shift registers and one line to CS on the SID. I'll be honest, I'm an experimenter and a geek - I got into this because I found it interesting, not because I really know what I'm doing :-) The code I've written works pretty well (on the 6581s) but absolutely fails on the 8580 because: 1) as soon as I write to any of the SID control registers setting a waveform, the SID plays the note even if the gate bit is set to 0. 2) setting or resetting bit 0 on the control register has absolutely *no* effect, the note does not stop and no envelope is triggered (because it's always playing). There's another thread () where the guy seems to be describing *exactly* this issue - he's not talking about random gate triggering, he's saying that as soon as he sets a waveform on the 8580 it triggers the sound. This is what I am seeing. Now, I have tested this with 3 6581 chips and 6 8580 chips and the behaviour is consistent - the gate works on the 6581s and not on the 8580s. I'm totally convinced it is my code, but I can't for the life of me work out why (which bugs the hell out of me). I'm going to have to build a proper MIDIbox core and SID module just so I can see what the difference is with my tinkering I think!
  7. Hi Thorsten, I only discovered electronics engineering fairly recently, and the MidiBox platform even more recently so it's not entirely surprising that this has been solved before!!! Is the 8580 *that* sensitive to timing then in comparison to the 6581? Thanks, Mike
  8. Did this ever get resolved? I've just discovered *exactly* the same phenomena - I was trying to get some SIDs working (driven from an Arduino as a teaching project). The code I used works perfectly with 6581 SIDs but the gate register has absolutely *no* effect on any 8580 I can lay my hands on... Please help!!! Mike
×
×
  • Create New...