A few people have mentioned in the past about
wanting to use a small motherboard like mini-itx or micro-atx to run
PowerSDR with the SDR-1000 to make a small self-contained unit
possibly using a small LCD panel display. That was one of the things
on my project list that I wanted to do also. Now that I have started
thinking about it again I decided to try a variant of this idea and
have had encouraging success so far just playing around with it.
I wanted to try to dedicate a mini-itx board to the DSP, CW keyer, and
hardware control of the SDR-1000 using real-time Linux (RTAI
http://www.rtai.org/). I am trying to see how feasible it is to run
the DSP (based on the DttSP code) and hardware control code in hard
real time under RTAI. The RTAI patched linux kernel with DSP and
hardware control code loads from a compact flash card to make it a
diskless system (I have it down to under 16 MB now). I'd also like to
come up with a A/D D/A add on board that will use a chip like the
Wolfson WM8786 24 bit, 192 khz stereo A/D or TI PCM4204 A/D and a
suitable 16 bit D/A instead of using a sound card. There recently has
been a new project released on SourceForge that adds real time USB
support to RTAI (USB4RT) that I am playing with now.
I would then like to use the 100baseT Ethernet on the itx board to
communicate with PowerSDR (minus portaudio, hardware control, DSP
code) so it handles the GUI only. Basically the itx board becomes the
"DSP processor" and the GUI is handled remotely on your home PC.
There are plenty of options for the hardware interfacing since the itx
board has parallel, serial, and USB ports (and I2C) and these ports
can be used in hard real time mode. This also would give the
possibility of running the SDR without the GUI by adding a front panel
with real knobs, switches, leds, etc… if so desired, to make a stand
alone unit without having to have a computer attached for GUI.
I am hoping this approach will eliminate the problems of trying to do
something that is inherently real-time on non-real time operating
systems like Windows and standard Linux. This should eliminate the
burps, braaaps, and buzzes in the DSP as well as give extremely low
latency to hardware interrupt I/O.
I will report on my progress periodically. With the current
improvements in 1.4.1 as well as the improvements to come, there may
be little need for this kind of dedicated hardware but I still would
like to have a stand alone unit that does not have to be connected to
the PC. I am also interested in any comments, suggestions, or
criticisms of this idea.