as opposed to swinging back and forth on all the display options, as in reality the display is just an interface and software, we need a working backend before we can worry about the front,
In reality I think both are necessary.
Both valid points.
The way I see it, you do indeed need both. However IMO you really really should get some hardware in place, otherwise you risk just another open sauce Item XYZ thread going nowhere.
For the display, don't reinvent the wheel. Sod driving a tft from fpga or whatever. Yeah sure it's a fun exercise. And then you have to implement the gui. Oopsie! So either you flush a man year+ into just being able to show pretty pixels, or oooh I don't know use this things called pc/laptop/tablet that already has the OS + gui + dev environment, etc etc available. Seems an easy choice to me.
And yes, before some clever monkey comes up with that, there are exceptions to the above that don't take a man year. But personally I've been over that and as such I don't care for that part of the discussion.
There's only so much time in the day.
My point here is, make things as easy as possible for yourself. That way you actually have a chance to get things done. Just get
something that works. After that you can always do incremental improvements. Besides, if you have
something that works, then you have a better chance of other people joining in.
I have half of a DDS signal generator prototyped, though still need to decide how I will go about adding proper gain control, design a decent power supply, and decide upon an anti-aliasing filter. For the moment I am just controlling it via the PC using SCPI and a Qt interface. A link was posted earlier in the thread to the software side. The hardware is an AD9835 with an LM6181 current-feedback amp in a unity-gain configuration. I'm really only 10% of the way there, though, if that.
Hey, that sounds surprisingly familiar! I have (less than) half of same. I use a AD9834, and as it happens I also use Qt for the gui.
No fancy SCPI interface though. Just a quick and dirty binary protocol. Basically because this was a bit of an experiment with several things I wanted to try. The AD9834 spi interface is hooked up to an fpga dev board (nexys2), which in turn is connected to the pc via usb. And to keep things simple on the fpga side I used a binary protocol. Read: easy to implement FSM.
So from the Qt + libusb interface I can do pointy clickey to control the dds. I also made a quick & dirty perl + libusb script to control it from cmd line.
Anyways, back on the SCPI topic. Using that as a standard seems like a good idea. It doesn't even have to be the bestest(est) standard out there. As long as it is reasonable, you can use it is a bit of common ground. Human readable scripts are easier to share & expand upon than binary blobs.
So barring any better alternatives presenting themselves, I think I'll grab the SCPI idea for my next DIY T&M thingy.
Oh yeah, forgot to mention. The Qt interface also runs on my android tablet. ^_^ Still plenty of usability issues, but it was a first try to see if this sort of approach was feasible. So the same code works on android + linux + windoze. And for the rest I don't care. Ahem, I mean, based on current requirements the rest is placed out of scope.
Now that I think about it, I might as well do a proper board for this. I'm currently practicing my altium skills anyway, so this is a good excuse to take this one out of the dead bug stage. And then hook it up to an stm324 discovery + add a little scpi parser. LM6181 already added to mouser shopping cart for the next purchase round.
How do you have the LM6181 hooked up to the dds? Figure 1 from the datasheet, or any clever modifications based on experience?
Rant prevention protocol activated. Pressing [Post] now. *beep* *boop*