ΣSigmaStudio Ask AI Русский Log in

Control Signal Conditioning

SigmaDSP & SigmaStudio chuckwin May 13, 2011 00:00 3 replies Original on forum ↗
Subscribe
chuckwin Question
May 13, 2011 00:00

Hello all,

I would like to be able to have a contol signal that drives a slewing mux to have an immediate turn on time and a minimum 10sec delay before being allowed to turn off. In other words, a peak and hold on the control signal that's longer than the 2 sec max on the various rms and peaking limiters. I believe there is a way to accomplish this with SigmaStudio primitives like a resettable One-shot and a timer/counter. I have tried various combinations and am not having much luck. Here are my questions:

1. Has somebody done this before and is willing to share their circuit with me?

2. Is it possible to exceed the 2sec limit built into the primitives by sending larger values from my micro?

3. Is there library of circuit blocks someplace, a sort of repository, where people have shared various SigmaStudio solutions to their design issues, or do most folks keep their "inventions" close to the vest?

ADIApproved Reply
May 23, 2011 00:00

chuckwin wrote:

1. Has somebody done this before and is willing to share their circuit with me?

I haven't seen this done, but I could give it a shot. However, since I've just returned from vacation, I'm behind on a lot of work, so I can't give this high priority. It might be best if you share what you've done so far and then I could comment on it and give you suggestions for what to try next.

chuckwin wrote:

2. Is it possible to exceed the 2sec limit built into the primitives by sending larger values from my micro?

Yes, I think some of those limits are placed artificially by the GUI designer, but in reality you can change the values under the hood by directly writing to RAM using your micro or the sequencer window. If you have a particular cell and a particular parameter in mind, let me know and I can check with the software team directly.

chuckwin wrote:

3. Is there library of circuit blocks someplace, a sort of repository, where people have shared various SigmaStudio solutions to their design issues, or do most folks keep their "inventions" close to the vest?

Nothing like that exists, but a lot of times I will post my project files on the forum once I have something in working condition. I certainly would encourage other users to do the same.

chuckwin Reply
May 23, 2011 00:00

chuckwin wrote:

1. Has somebody done this before and is willing to share their circuit with me?

BG:I haven't seen this done, but I could give it a shot. However, since I've just returned from vacation, I'm behind on a lot of work, so I can't give this high priority. It might be best if you share what you've done so far and then I could comment on it and give you suggestions for what to try next.

CW: No worries -- I figured it out. Turned out it was fairly simple to conjure up the circuit. What was hard was to create verification or monitoring capabilities within the circuit to be sure Ihad it working correctly. On the way I discovered a few nomenclature errors. For example, the inverter block does not behave like a regular old 74HC14 which toggles the input from zero to one, or one to zero. Apparently works on a whole word at a time and that wouldn't work for my purposes. If using 28.0 formatted output, the correct function can be accomplished using a nand gate and driving both inputs with the same signal. (Note: must NOT use the bitwise type logic gate, a distinction made in v3.4, but not v3.3, which I was usuing when I originally posted.) Another nomenclature problem was that in trying to use the leds and switches on the eval board as signal probes in my circuit, I noticed after much hair-pulling that the names for the GPIO pins in the schematic and hardware configuration are different. The pull-down options on the GPIO schematic symbols shows GPIO0 thru GPIO4, while the Pin Control labeling in the Sound Engine Options under Hardware Configuration lists them as GPIO, GPIO0, GPIO1, GPIO2, GPIO3. Furthermore, the Serial Data Pin Config block just below, appears to match the Pin Control block but not the schematic symbols. Needless to say, it took some time to figure all this out!

In the end, it took a timer, a resettable one shot and 2 NAND gates to accomplish my timing goal. I will forward you the block if you're interested.

chuckwin wrote:

2. Is it possible to exceed the 2sec limit built into the primitives by sending larger values from my micro?

BG:Yes, I think some of those limits are placed artificially by the GUI designer, but in reality you can change the values under the hood by directly writing to RAM using your micro or the sequencer window. If you have a particular cell and a particular parameter in mind, let me know and I can check with the software team directly.

CW:I was about to try this next, when I finally got it all working last night. Now curious if my circuit uses fewer MIPS than original limiter idea. I was going to try and use a standard resolution peak limiter which is where I encountered the 2sec limit. Maybe you can find out if the hold parameter could be set to 10 sec or 30 sec.

chuckwin wrote:

3. Is there library of circuit blocks someplace, a sort of repository, where people have shared various SigmaStudio solutions to their design issues, or do most folks keep their "inventions" close to the vest?

BG:Nothing like that exists, but a lot of times I will post my project files on the forum once I have something in working condition. I certainly would encourage other users to do the same.

CW:Kinda too bad... it probably means alot of these circuits keep getting re-invented.

ADIApproved Reply
May 25, 2011 00:00

chuckwin wrote:

CW: No worries -- I figured it out. Turned out it was fairly simple to conjure up the circuit. What was hard was to create verification or monitoring capabilities within the circuit to be sure Ihad it working correctly. On the way I discovered a few nomenclature errors. For example, the inverter block does not behave like a regular old 74HC14 which toggles the input from zero to one, or one to zero. Apparently works on a whole word at a time and that wouldn't work for my purposes. If using 28.0 formatted output, the correct function can be accomplished using a nand gate and driving both inputs with the same signal. (Note: must NOT use the
bitwise type logic gate, a distinction made in v3.4, but not v3.3, which I was usuing when I originally posted.) Another nomenclature problem was that in trying to use the leds and switches on the eval board as signal probes in my circuit, I noticed after much hair-pulling that the names for the GPIO pins in the schematic and hardware configuration are different. The pull-down options on the GPIO schematic symbols shows GPIO0 thru GPIO4, while the Pin Control labeling in the Sound Engine Options under Hardware Configuration lists them as GPIO, GPIO0, GPIO1, GPIO2, GPIO3. Furthermore, the Serial Data Pin Config block just below, appears to match the Pin Control block but not the schematic symbols. Needless to say, it took some time to figure all this out!
In the end, it took a timer, a resettable one shot and 2 NAND gates to accomplish my timing goal. I will forward you the block if you're interested.

Yes, that GPIO issue is very frustrating. Unfortunately it's not as easy to solve as you might think. The I/O cells in SigmaStudio have underlying code based on enumerations that starts numbering at zero. However, for reasons of pin-compatibility with the ADA1361, the numbering on the hardware has a different system. It's very confusing and unfortunately a software change would be much more complicated since that underlying enumeration code affects all SigmaDSPs, not just the ADAU1761.

And yes, if you could share that circuit I would be very interested to see it!

chuckwin wrote:

BG:Nothing like that exists, but a lot of times I will post my project files on the forum once I have something in working condition. I certainly would encourage other users to do the same.

CW:Kinda too bad... it probably means alot of these circuits keep getting re-invented.

I agree. Perhaps I could petition for some kind of SigmaDSP Wiki where the community could share circuits and we could keep a public bug tracker. I'll make that suggestion.