Forward Progress in MDAC land!!!
frank freedman
Posts: 1,983
Forward progress in MDAC land using PASM now for speed. With SPIN, a 4096 step ramp w/ fixed Vref was taking about 2+ seconds to generate. Now with PASM, it does it in 18.6mS. Just a hair over the vertical ramp speed of NTSC. So with fewer steps, this would have made a great programmable vertical sweep generator back in the day. (CRT for the kiddies out there).
The two photos are the 4096 step ramp w/ a fixed Vref (dac out and ~10x amp out), and the second is the same 4096 step ramp with the Vref replaced by a 3Khz sine wave (same x10 output as fixed Vref). Hmmmm, wonder what I could do with a sawtooth either into Vref and a generated ramp or a generated sawtooth with a programmable Vref and say a comparator....... PWM???? Who knows what else.
Next trick will be getting it to repetitively read out a buffer in the hub and see where the speed limits are on that one. Maybe given the tables in rom, create and generate from tables in hub, arbitrary waveforms. With some packing trickery, maybe double 12 bit words per each long and dump them into the cog for speed on output.....
Yeah, this will become another object when I have finished playing with it. The LTC8043 is a really simple device to interface. Not really SPI, more of a simple shift register with a /load pin. Clock the bits in and drop /LD and the value is there with a fairly fast settling time.
Frank
The two photos are the 4096 step ramp w/ a fixed Vref (dac out and ~10x amp out), and the second is the same 4096 step ramp with the Vref replaced by a 3Khz sine wave (same x10 output as fixed Vref). Hmmmm, wonder what I could do with a sawtooth either into Vref and a generated ramp or a generated sawtooth with a programmable Vref and say a comparator....... PWM???? Who knows what else.
Next trick will be getting it to repetitively read out a buffer in the hub and see where the speed limits are on that one. Maybe given the tables in rom, create and generate from tables in hub, arbitrary waveforms. With some packing trickery, maybe double 12 bit words per each long and dump them into the cog for speed on output.....
Yeah, this will become another object when I have finished playing with it. The LTC8043 is a really simple device to interface. Not really SPI, more of a simple shift register with a /load pin. Clock the bits in and drop /LD and the value is there with a fairly fast settling time.
Frank
Comments
One possibility for the MDAC is putting the signal into the Vref pin, and configuring the DAC to provide a set output from 0 to N gain in 4096 steps. These devices have a number of uses in control circuits such as providing levels for kv and filament heating of ac power in medium and high frequency x-ray generators and other systems.
But mostly playing to learn, so not running any particular purpose as opposed to any other DAC
Frank
That's pretty much all that SPI is. Ok, so it's missing a data out pin for daisy chaining but that's hardly a requirement for SPI. Labelling something as SPI is only saying it has a shift register with unidirectional pins and separate clock pin. Everything else is optional and the masters are usually highly configurable to fit the myriad of non-configurable slaves out there.
EDIT: And the hardware framing using a load pin is also standard. Without the load pin you would be heading away from SPI.
I never did solve why I botched using the SPI part but quite possibly I had the command ordering wrong due to not following what was happening at power up ... I don't remember explicitly trying this possibility even though it seems a really obvious step now.
The LTC8043 doesn't have commands or addresses so that complexity is eliminated.