[NCLUG] Software Defined Radio Application
John L. Bass
jbass at dmsd.com
Mon Jan 20 11:51:45 MST 2003
Spent a good deal of my professional life doing various "real-time" high
performance data transfer subsystems for a wide variety of applications
under UNIX and UNIX like systems.
The system architectural design issues, both hardware and software, here
are critical to meeting your goals.
How the parallel port appears on the hardware bus of your system greatly
impacts the performance ... if it's effectively an ISA parallel port, then
the ISA bus speed for each IO instruction to access the parallel port
will be 3-4 cycles at 8MZ ... for a maximum sampling rate (including
bandwidth for polling the interface) of between 2-2.3 MByes/sec at the
IO interface with 100% cpu saturation and discarding the data. Depending
on the hardware protocol between the radio and the PC parallel port this
could be a show stopper.
Slightly faster speeds can be obtained if the parallel port is interfaced
on the system thru a PCI interface ... but very quickly the problem becomes
the signal quality of the cabling system - rise times, reflections, etc.
This would not be interrupt driven, it would be polled at a driver level,
and require the driver to return blocks of data, not single samples, if
you expect any cycles to be left for processing. There is a strong chance
you will need to do the processing in the middle of the polling loop in
the driver - the only place there might be enough cycles left over.
There are other ways to interface to the PC ... using a dedicated embedded
single board computer with an ethernet port might be a lot better.
Joseph DiVerdi <diverdi at xtrsystems.com> writes:
> Assuming no subsequent processing, can the port be read (8-bit data only)
> 400-500k times per second? Continuously? What is the load on the various
> subsystems (CPU, etc)? As the sampling times are generated externally
> (to the PC) via hardware, is interrupt driven data sampling appropriate?
> Advisable? Effect on maximum sampling rate? Effect on subsystem loads?
> Any data, experiences, comments would be greatly appreciated.
> Joseph A. DiVerdi, Ph.D., M.B.A.
> http://diverditech.com/ 970.980.5868 (voice)
> http://xtrsystems.com/ 970.224.3723 (fax)
More information about the NCLUG