Jump to content

jojjelito

Frequent Writer
  • Posts

    1,483
  • Joined

  • Last visited

  • Days Won

    10

Posts posted by jojjelito

  1. Yes, i didn´t like the yellow color too, but using the color foil trick (-> http://midibox.org/forums/index.php?app=gallery&module=images&section=viewimage&img=547 ) you might be able to shift the color a little and if not - nevermind, an OLED it must be! :-)

    Hear hear!

    If I knew then I would have used yellow LEDs all over and all that. Now that the rest of my 6582 is green it would look like it was aesthetically challenged with a yellow OLED. But, you're right. It must be OLED now!

    Plus I want it to display a falling rain-effect like in the Matrix when idle. And use Cyrillic characters since those are inherently cool. And... meh! Just OLED please :D

  2. I am currently investigating newly (02/2011) manufactured (and supposedly long-living) character OLEDs which look totally awesome (e.g. the background is really black and it has ca 180° visibility angle) but have not hit the market yet, but I am prepared to drown the manufacturer in daily mails or telephone calls until i get an evaluation sample :rolleyes:

    The display update times should be very quick (if it is the same oled technology as in my car stereo :-)).

    http://www.lcd-modul...dukte/oled.html

    If I can get two for a reasonable price, I am willing to send you one, if you are interested Martin - it is at least a very unique display for the MB6582 :-).

    Bye,

    Peter

    Eeek! Warum gelb, das ist böse! Mangelhaft!

    Apart from that ahem, detail, that OLED looks like the business! Wish it was green :whistle:

    Burp!

  3. So after thinking about it I think I've decided going with the replacement chips that are available for the juno for the time being is a viable choice. With that decision here is what I've come up with. The timing is handled by an 82C53 connected to a pair of 74HC595 chips connected to J10 of the core. I'm sure a DOUT could handle the 74HC595 chips but this seems like a better way to start at the moment.

    Very SID-modulesque choice of port. Either alternative should be fine.

    Currently I have the output of the 82C53 going into a MC5534 VCO chip. The chips are only 25 euros plus shipping I believe so there is no reason not to utilize them. The CD4052 handles the saw amplitude like in the juno. There is the transistor connected to the Vee pin of the CD4052 that I am unsure what it's purpose is.

    Who carries those chips? Vintage Planet or any other suspect? Better look around... I've only given thought to the CEM3396 connected to the 83C53/54 timer IC before.

    EDIT: Found 'em here: Analogue Renaissance

    Questions I now need answered is can this be extended to multiple modules on a single core? I don't see why not but I could be wrong. Also can a core handle both the DCO and an AOUT module.

    I guess one of the gurus like TK is best suited to answer the extendability question - but some performance measurements won't hurt once you get to that stage.

    As for the DCO and AOUT I don't see why that shouldn't be possible. The issue here is rather which port to tie the AOUT to. I've seen both J10 and J7 been used in different applications.

  4. I don't believe it can be but can a 74HC595 be used to provide an oscillator if it is modulated at the correct speed. If not can J10 off a core module provide a base oscillator and control an AOUT module? The data lines of the 82C53 can be controlled by a 74HC595 but there are a few pins that cannot, and looking at the way the SID attaches to the core (via J10) it would appear we'd need two cores. One to control the DCOs, and another for CV.

    I suppose we could hook the 82C53 to the 74HC595 exactly like the SID module, and provide a base oscillator for each 82C53. This means that every group of three DCOs (each 82C53 provides three outputs) would then have it's own dedicated oscillator and using an RC oscillator would be out of sync with other groups of DCOs.

    Also, I have not read of the SID having any frequency errors on high notes like the Juno. I am unsure why that would be. My studies show the SID runs off a 1Mgz clock where as the Juno an 8Mhz clock. It seems to me that the Juno should have higher accuracy at higher frequencies than the SID. If the SID is more accurate how so?

    In theory you could control the HC595 to output a square at the right frequency, but that means that you'll have to write to it each time you need the output to go either low or high. This in turn means that the CPU must take care of this very exact timing and issue the command exactly when due. This could run off a timer on an interrupt but that won't be more exact than using the 82C53 or 82C54 timer (which also won't use up a ton of CPU cycles better used elsewhere) plus other interrupts will make this very jittery.

    So, the 82C53/54 is connected somewhat like a SID instead. The other pins can be controlled by a second 74HC595 (look at how the DOUT module can connect 4 of those). For prototyping you can use the J10 timer output (easier to do range switching), then move over to dedicated oscillators (since you may need to implement range switching between 2,4 and 8MHz via controlling some flip-flops). Then we'll follow the 1 osc per timer IC idea as above. The AOUT or AOUT_NG are connected to either J10 or J6 on the old core module or to J19 on the Core32.

    The SID uses a 24-bit phase accumulator design using dedicated, programmable hardware. You could wire this up, but it would be a large hot mess for sure. See the Bob Yannes interview for some in-depth info. Or you could start using a 24-bit or even 32 bit counter and do it all in software (see DDS on the Electric Druid pages) but with earlier discussed caveats. Anyhow, the larger number of bits for the counter plus the usage of dedicated hardware is the key to precision in the SID case. For us, we could attempt to use a higher base clock for some troublesome parts of the scale -> halved errors for double frequency (which the timer chips won't accept). Or we switch to a more suitable time base. The effects of that could be studied using a spread-sheet.

  5. If the design uses the Aout_NG we could use a sample and hold circuit for each CV needed. That is basically what the older synths did as well. It would require once CV per voice for the VCA envelope, and two per voice for Cutoff frequency and resonance at a minimum I believe. Again, I'm not sure what the latency would running multiple voices off one CV would be as the voices started increasing.

    Ahh, this way we can get 8x8 CVs for sure. There was a S/H module in olden days of MBHP, the SHX8 but it came with latency. Also it used EOL chips from JRC (NJU7304). Those can be substituted with the usual 4051 and 8 external caps we see in other schematics. Still, as you said: it would take some research in order to performance test for latency as well as droop rate which would then yield the size of caps needed etc.

    Next is the voice architecture: Your example above is the bare minimum. It's then possible to add things like a mixer with a few VCAs for different waveforms going into the VCF, PWM for the pulse-wave, CV for FM, cross-mod, output panner using a cross-fader, digital control for sub-oscillator octave selection, digital control for applying oscillator sync, external signals or noise as needed. The issue there is to lab what *you* deem useful assuming it's possible to use for instance 8CVs plus 8 bits of control signals per VCO. The good thing is that there's lots of classic and modern analog synths to look at for inspiration.

  6. Here's the thing that is not making sense as far as using multiple master clocks, if the timing source is the same between the multiple clocks, say a crystal on a pic, and the pic is outputting multiple master clocks can't we just vary the output of the pic how ever we decide. If we decide to have an 8Mhz frequency on one master clock and 7.98 on a second, we can do that can we not? Maybe not to that drastic a degree but it's still an option? Or am I still running behind the curve?

    Sounds nice in theory. But sadly it's not easy to use a the divide by n counter (n=1,2,3...) and prescaler in order to get a still very large frequency that is close to what we had from the beginning.

    Assume fXtal=40MHz. Then divide by 5 and we get 8MHz. Obvious. How do we divide with something that gives us 7.98MHz? The possible frequency steps become too big for small values of n. Obviously we end up with much more subtle differences if we divide the base clock frequency with 15879 in one case and 15878 in another. We can get base clock differences of 100kHz if we want 2MHz (40/20 40/21 40/19 etc).

    If we want to be hardcore with this we can either use a crystal with some very high frequency which is not very practical, or resort to inherently unstable (compared to crystals) LRC-networks where temperature differences and component tolerances will do the work of introducing some jiggly bits. Or resort to more exotic spread-spectum techniques or frequency shifting or use PLLs. However, any responsible parent or teacher ought to teach that it's generally a bad idea to open a can with a stick of dynamite.

    However, before anyone gets to clocking there's still the main task of generating square waves with the desired frequencies plus controlling waveshapers, filters and other bits. Be that with timers, PWMs which we sadly lack, or other means such as the garden variety V/oct VCO, direct synthesis etc.

    The base clock design is a (nice to have) diversion later down the line.

    Toodles!

  7. Waves hand: These are not the droids you're looking for...

    The delay is the same, but therein lies not the magic! The thing is that the phase offset is there and will be continously variable over time as we can safely assume that the different clocks will behave differently. Hence, the sound will be less static. We will have all sorts of errors (although small) in both frequency and phase. A little dose of chaos is good.

    It's not going to be more fun than the fully static condition (where everything is in phase to begin with) if we have just one phase offset that is unchanging.

    Clear as mud? Otherwise I hafta resort to scope shots or samples :thumbsup:

    Cheers!

  8. Just one thought: If you use several clocks at 1 or 2 Mhz, wouldn't the resulting Phase-offset between them be very small(max one period)?

    Or did i get that wrong and it's about some frequency inaccuracies?

    As you observed the phase offset can be anywhere between infinitesimally close to 0 and 100 percent regardless of frequency :sorcerer: BUT you won't exactly have much time to register the phase offset at those high frequencies. The thing is that the offset remains the same (percentage-wise) when we divide down the base frequencies unless we have different signal propagation delays in different dividers. Thus it too becomes audible.

    The issue is that we may *want* some frequency drift and that comes from using several timing sources, each with their own drift that's independent of the others. Think of it as a subtle chorus effect. Once you try it you won't look back. Or something :ike: Think "super-saw" and you'll get it at its most extreme.

  9. I got some Lelon caps, some Xicon last time I ordered. I've been using them interchangeably in circuits with very high demands on tolerances and temperature stability with no ill effects so far.

    That's just my limited exposure. YMMV.

  10. There I was, deep in... is the camera on?! Ahh!

    Got mine today!

    Henceforth, let it be known that your efforts are deeply appreciated! Thanks Phunk :flowers:

    This will add some sizzle to the shnizzle that is the 6582 ferschizzle!

    Must build moar control surfaces :frantics: Can't! Resist! da Uuuurge!

  11. The CPU can be one of several possibilities for the base clock generator. At least it's programmable so it's easy to redefine in software should the need arise. But this way we get three different pitches (in phase wrt to each other when the timer starts) per PWM.

    There are those who argue that the Matrix 1000 sounds less good than the Matrix 6r due to the latter not using a crystal-derived (or MCU-based) clock but rather gets its base frequency from a high-speed RC oscillator. If we want polyphony with a more lush sound of oscillators beating against each other we want to use several base clocks, up to one per timer chip so that they are out of phase with respect to each other. This comes with the added bonus that it ought to shut up some sceptics who are analog purists. Maybe. I've even heard people complaining that the Juno 60 sounds somewhat thin (wait, what were the smoking?) due to a shared root clock scheme.

    More schemes to look at than the usual 3396 and Roland suspects would be nice. Maybe something from Crumar or Elka? The Bit 99/Bit 01 are underrated faves from the past for instance.

    Cheers!

  12. Why dont use a simply CD4059 instead of computer peripherals like 82c54?

    As it is necessarily anyway the use of an external chip for note generation

    may be interesing the 4059 whith PIC a generated clock ( like for MBSID )and

    stick many chips to increase the polyphony.

    The 4059 is cheaper than 82c54 and comes in SMD to save space on board.

    Logically it is only an idea but years ago I used it for my firsts synth experiment and

    as it is thrue it generate only square wave we can obtain other WF with some

    external parts.

    regards

    Antix

    Interesting idea, it's certainly another option.

    However, you can only get one output divided by N (from 3 to 15999) so it's not full 16-bit division accuracy we're getting. But, it's cheaper. And the package contains the same friendly number of pins.

    You can get the 82c54 as SOP from Toshiba. If that's hard it can be had from Intel, NEC and Samsung as well, possibly in several package variants.

    There's lots of ICs out there to explore for sure, the old 4541 contains a full 16-bit divide by N counter, but that IC only works up to 100kHz. These days it seems that the development seems to trend towards low-cost - thus people will have to stick with what's internal in the MCU. The issue then is that we can abandon polyphony unless we have heaps of PWM outputs or use lots of MCUs which may well be cheaper at some point.

    Take care,

    J

  13. Yea, Starting simple is always a good idea when starting a project. I guess the minimum would be to get a tuned raw square wave out of a pic. Care should be taken so that it can be expanded and will not load the PIC down. I do think the idea of using a DOUT to control something like a 82C54 is a decent design choice. The issue I see with that is there is still the problem of higher pitched notes being inaccurate due to timing issues and the only supplier I've found is Jameco and they cost 5 dollars a pop.

    If you think that's much then take a look at the AMD/CTS9513 5-output timer at Jameco... You can get the C54 chip at Farnell or Digi-key but you'll end up paying the same. Or spend 3EUR at Reichelt in the EU.

  14. Right, the base 8Mhz of the base Oscillator is divided by the range switch, then goes to the 82C54. I was thinking it might be more efficient to maintain that method because once the timers are set the main CPU doesn't have to worry about the timing until a new pitch is needed. I had considered the possibility of using master clocks to avoid the oscillators being in exact sync. Also I had considered using a higher frequency base frequency to avoid pitch errors at higher notes.

    My main concern is my lack of knowledge concerning the digital side of things. I can program C++ badly and understand analog theories poorly. But it seems like a worthwhile project that hasn't been done yet and a good place to firm up on these subjects.

    The design goals I'd like to achieve for the digital domain are,

    -Multiple polyphony (I'd like ten.....ten fingers=ten notes)

    -Stable tuning

    -Midi control

    -Low part count (already moving away from this unfortunately)

    -Low overhead on the CPU (MBHP Core)

    -Avoid feature creep

    Worth attempting

    -Save patches

    Unknown hurdles

    -Exact needs hardware wise

    -Best methods

    There you go! It starts to sound like a project! At any rate I think it might be worthwhile to design a 82C54 sub-module with one Dout (74HC595) per timer IC. The thing is that I don't know beforehand how many voices can be driven off one core if things like envelopes, LFOs and mod-matrices are run there as well. The soft-synth things can be lifted from the current SID-synth engine and/or MB-FM. Then add one AOUT_NG per core for 8 channels of CV. This will drive the basis of a synth regardless of DCO method chosen.

    CV multiplexing will eat CPU resources like crazy (think small, but uninterruptible parts of code - jitter is somewhat a concern). If tons of CVs are needed then one can look at MB_NET and several cores a la MB6582, or design an SPI-slave core that contains soft registers for all CVs, takes care of LFOs etc which is updated via CAN or SPI by the main core only when needed. This slave updates all CVs, multiplexers etc. Core offloading achieved. However, one better start small before aiming for the stars.

    Low part count poly. LOL :laugh: Take a peek at the schematics of analog polys when you have the chance :sweat: The only one that is low-part count (per voice) is the Korg PS-family. There you had full voicing and a complex control scheme (in case of the PS3200) instead.

    Edits due to somewhat iffy spelling etc at this late hour...

  15. Yes, I am aware of the tuning issues with the Juno as the notes get higher. My main thought on using external timing IC's was to free up processor cycles in the PIC and allow for the polyphony to be changed by the builder. At a minimum I'd hope to achieve something similar in ability like a juno, meaning six voices and an LFO. Also it'd be nice if it could support the abilities of a SID with three voices with independent wave forms and VCA's with a shared VFC. Not saying I would want it to sound like a clone, but have similar abilities.

    So by using external timing IC's all the PIC would have to do is send the square wave cycle to the Timing IC until the pitch had to change. I was thinking that managing the timing on a minimum of six square waves plus the CV's for the VCA and VCF might be asking a bit much of the PIC, but honestly I'm not sure.

    I've been mulling this over for about a month now and have been looking into how older synths managed to accomplish this. I've begun to look into what options were available but until a few days ago I didn't find much. Also I've been looking into how the Juno used 4051 IC's to generate the CV but that part is still a mystery to me. I understand how those chips are selecting which ports to have open, and understand the idea that the square wave gets smoothed to create the voltage control but the exact process is above my current understanding.

    Ahh, you're beginning to grok this :). The base frequency sent to the timer chip doesn't change! You only change the divider value for the timer resulting in different output frequencies. So, new note->fetch the new pre-computed value in a table. Send it to the right timer control register and you're done, unless you do some fancy detune or pitch-bend stuff.

    The 4051 IC use is just a ghetto (read low-cost) method of multiplexing the DAC output by making a primitive sample-and-hold. I.e, output CV1 from the DAC. Set address one on the 4051 to charge the capacitor connected to output 1 of the 4051. Do the same for all the channels so that the poor DAC has to output new voltages each cycle. If you do this quick enough you won't have too much droop (voltage loss) on each CV between update periods. Normally you use FET-style inputs connected to this SH output in order not to drain the capacitors. See the CEM 3396 PDF or the schematics of say, an Alpha Juno and you'll see it.

    Edit: This method applied more in the past where DACs were expensive single-channel beasts and lots of CVs were needed to control VCAs, VCFs etc in polyphonic systems. See how the Prophet VS made by Sequential Circuits did it for instance. Its' DAC multiplexing system is a sight to behold! It uses in excess of 68 channels of CV generated by one single DAC.

  16. Ahh, here we go with that project again... the elusive DCO synth. I've been wanting to make something using the CEM3396 wave-shapers but other projects are keeping me busy. The CEMs use a square wave at the right frequency in order to come up with a whole bunch of wave-shapes generated by analogue means. The idea here is the same. The easiest way to get a square wave of the right frequency would be to use the PWM output with a pulse-width of 50%.

    The issue here is that you don't exactly have a plethora of these outputs using the extant microcontrollers of Core8 or Core32 if you want polyphony. Suppose you want 6 voice polyphony ala Cheetah MS6, Oberheim Matrix6/6r/1000. This calls for 12PWMs at different frequencies for a 2-oscillator per voice synth.

    The way it was solved in the olden days was to program a PIT (Programmable Interval Timer) that is an old standard 8bit CPU peripheral. See 8253 or the enhanced 82C54. This way you get 3 square-waves/IC. Unfortunately those chips are using parallel I/O (no modern SPI alternatives exist) so you need to stick a 74HC595 chip somewhere close to the timer and program it in the same fashion as the SID.

    Also, if you go for something polyphonic it might be a good idea to feed the timer chips 1 or 2MHz base frequencies from different clock sources such as high-speed RC oscillators to make the sound less stiff than using a single crystal-derived source.

    But before you get there it might be a good idea to start with just one PWM from the Core in order to check and debug your DCO...

    You might want to thoroughly check Tom Wilthire's pages on DCOs if you want to see how Roland made their more digital DCOs and what makes them tick :sorcerer: There's plenty of good educational reading there that needs to sink in.

  17. The recipe is veery simple.

    You eat less than you burn off. And the challenge is in finding a good way of doing that...

    I have a plan for how to do it myself, but there is no kg loss without sacrificing something :)

    So I eat way too much snacks wich I don't need, and I also eat dinner all day, so all that need to stop, but all in time. No shock therapy. I've tried that before with only temporary luck :).

    I've always wanted to try some martial arts training, and was invited by a friend, but didn't find the time to commit to it, so it never got anywhere. I also walk 40mins two times a week - wich is gonna be more often as I get in better shape ;)

    There you go. It's that simple in theory. In practice it's always easier to take it easy, snack when not supposed to and all that. Still, Martial arts works for me, YMMV. I think it strikes a good balance between strength, coordination, agility and fitness. Whatever you do, don't expect quick results and don't give up. Also, abandon all ideas of "I just need to get into shape before attempting to do X". That's just tosh! Go for it, you're never going to get into shape without doing some work :poke:

    Or try swimming, biking or whatever tickles your fancy.

  18. Is the boat big enough for me too? ;-) Any tips for weight-loss that doesn't involve not eating nice things?

    Martial arts, preferably MMA (mixed martial arts) plus walking 30-60 mins per day or running occasionally is a good start. Then cut all the sugar you don't need. :thumbsup:

  19. Yeah but, again, if you're using them as a post filter after the regulation phase of a PSU then it's a non-issue typically because, unless something really bad happens, the voltage past the regulator will be stable or nil meaning it is easy to predict what types of tolerances you will need for the tantalum. The data-sheet for the LM2675 includes a tantalum for the input so I could see that possibly being more of an issue depending on what is being used to feed the regulator. If it's the output of another, regulated, supply, however, then it's basically a non-issue.

    Again, unless something goes really wrong :)

    I've gotten away with sticking tantalums in far worse places, but... I was also concerned with the safety of people since this being a DIY forum we shouldn't make assumptions about the skills of various persons building this. Metal oxide vapors are nasty. Have a go either way - rolling your own switcher is a good training exercise :sorcerer:

  20. @olga42:

    It seems like the majority of folks on this forum hate tantalums :) They are, however, fairly good at filtering HF noise. I think even the low ESR electrolytics were tested (see some of those PDF links earlier in this post, though I'm not sure which page they are on so you may have to do some digging/searching) and tantalums were still much preferred. I think using them past the regulated section of a PSU should help avoid their explosive tendencies since, by that time, the voltage should be quite stable.

    Regardless, I'll look again at the low ESR electrolytics. I have heard Panasonic is a great brand to go with from multiple places so that's probably a safe bet...as far as aluminum electrolytics go :)

    @Shuriken

    I assume you won't have more luck with a US-based store, but alliedelec.com has quite a few tantalums as well as Panasonic (and others) caps. I typically use them for more common parts (mostly since they are close by and shipping is uber fast usually).

    Hmm, akshually the tantalums are of better performance for this application, but given their volatile tendencies wrt voltage spikes, I'd say stay off them unless you have:

    a) need for this performance or

    b) a tightly defined operating environment or

    c) you can absorb the cost delta

    In this case I'd say that c) doesn't apply since it's DIY and you won't exactly use thousands. The other conditions still apply though. Guess I just like to play it safe when DIY-ing and use rule of thumb. Please consider not bringing a howitzer to a knife fight :flowers:

  21. Ah SMD isn't that bad :)

    As far as low ESR, what would you folks recommend? I know tantalum tends to offer low ESR. Anything else? Capacitance values matter much here as well? What I have done to this point is based off what I read from the PDFs I linked on this thread a while ago. Seems that Tantalum would do the trick for anything close to the audio spectrum (and perhaps further out though I haven't seen any data on that).

    Depends on how much space you got on your board. I'd stay off tantalums unless they are *really* needed since they have this tendency to self-incinerate every once in a while. If you can, I'd say use low ESR Sanyo or Nichicon electrolytic caps instead.

×
×
  • Create New...