[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Linrad] more on Mercury

The protocol for OZY is here (if you have not seen)
this doc includes a link to the SVN where you can find the atual c code that talks to OZY vis LibUSB
(this driver is available in Linux as well as Windows)
Just implementing this would be a great first step.
In terms of synchronization for two-receiver diversity reception - no problem.
The Mercury has several ways to sync the down-conversion clock.  I am using a version of the firmware that sync's the 122.88 sampling clock to an external 10 MHz reference. It uses an Altera "megafunction" PLL and produces a very stable and clean clock. One could feed the same 10 MHz oscillator into both Mercury boards and they would be in lock-step with each other. (There is also a way to connect the 122.88 from one board to the other - this sounds trickier). Anyway both of these avoid sending the signal across the problemmatical backplane bus.
Assuming that the USB communications are significantly faster than the data rate coming from the downconversion/decimation (must be to avoid audio drop outs) then the samples coming into Linrad will always stay in the same relationship to each other (in 512 byte packets). The sampling clocks on Mercury force the data in the USB links to also be in lock-step.  All that is needed is a one-time-per-powerup synchronization. Any fast rise-time pulse coming into both boards could probably be used for this. One could try to have a simultaneous reset of the two FPGA's but I suspect that would be hard to do ... a software sync would be better.
The various PC->OZY commands are outlined in the protocol, but for EME all you need to do is set the receive frequency once (could even use PowerSDR).  For example 144.100 (or 28.100) then you tune around the passband in software. You could take the audio from the PC sound card if you want to copy CW...
There are no selectable filters or anything like that in Mercury; just the desired frequency (32-bit number in Hz) and the sampling rate (48/96/192k).
N3UC here is looking at implementing a fixed-frequency receiver in Mercury that would dispense with the use of OZY altogether. This would take the digital data and pass it straight through to the on-board audio D/A converters. Two such Mercury boards would yield two pairs of synchronized IQ baseband signals at 96 k/s that would go into a 4 channel sound card in the PC. (The 12.288 MHz clock for the D/A is derived from the 122.88 above). Linrad would probably work with that version pretty much as-is (?) - some calibration would still be required, I imagine.
(Of course, it would be nice to get away from the sound card interface eventually)
Changing the version of the firmware you are using in Mercury only takes a couple of minutes using the free Quartus programmer and the OZY card with its USB-blaster emulation ...  so you could, in effect, have several different "receivers" on your desk to be used for different purposes.
I am hopeful that this will work, especially since there seem to be several ways to do it.

You received this message because you are subscribed to the Google Groups "Linrad" group.
To post to this group, send email to linrad@xxxxxxxxxxxxxxxx
To unsubscribe from this group, send email to linrad+unsubscribe@xxxxxxxxxxxxxxxx
For more options, visit this group at http://groups.google.com/group/linrad?hl=en