kopia lustrzana https://github.com/pa3gsb/Radioberry-2.x
118 wiersze
4.2 KiB
Plaintext
118 wiersze
4.2 KiB
Plaintext
Radioberry full duplex mode.
|
|
|
|
To increase speed of reading the RX IQ data transfer from FPGA to the raspberry pi (rpi) a DDR (Double Data Rate) algorithm is introduced.
|
|
This algorithm is providing the data to the rpi in parallell mode iso of using the serial transfer using SPI.
|
|
|
|
The SPI is used for controlling the FPGA firmware and transferring of the TX data to the FPGA.
|
|
|
|
The parallell read is done in the user space of the operating system, costing some performance but makes larger sample rates possible.
|
|
|
|
This modification results in 2 RX slices with a sample rate of 192K.
|
|
|
|
The radioberry firmware is formed by:
|
|
- the FPGA part using the image radioberry.rbf (verilog)
|
|
- the radioberry (c-language) executable running at a rpi.
|
|
|
|
Radioberry.rbf firmware must be loaded into the FPGA by using the loadFPGA utility.
|
|
|
|
This makes the use of the radio flexible; it is very easy to load a different FPGA image and running a different c-firmware;
|
|
change of configuration is easy just load and run the desired firmware.
|
|
|
|
|
|
HARDWARE MODIFICATION:
|
|
To make use of the new FIR filters which are working on double clock, reducing some FPGA resources a small hardware mod is required.
|
|
|
|
An additonal clock on pin 53 of the FPGA must be provided by connecting this to pin 69 of the FPGA (connected to the CLKOUT1 of the AD9866).
|
|
Using this clock a FPGA PLL circuit can be used to produce the right clock!
|
|
(required for the beta 2, 3 PCB, i will include the change in beta 4)
|
|
|
|
|
|
Protocol Support:
|
|
For the c-part of the firmware support is created for the Protocol-1 and Protocol-2.
|
|
|
|
Protocol-1
|
|
For protocol-1 i did a lot of rework; better readable code!
|
|
Also TCP is now supported using the modified piHPSDR done by DL1YCF (Christoph).
|
|
|
|
Protocol-2
|
|
I did change the boardtype to 2; making the radioberry look like a ANAN 10E (making SDR Console working).
|
|
I think the Radioberry is a light version of the ANAN10E.
|
|
Both does support 2 rx slices for the radioberry the max sample rate is 192K for 2 slices.
|
|
Using one slice 384K is possible. The radioberry uses 12 bit versus 14 bit for the ANAN10E.
|
|
You need to add a small amplifier to make a Radioberry QRP trx.
|
|
|
|
P-2 makes it possible to use Thetis and SDR Console Version 3 (build 1353); real nice looking and working program!
|
|
|
|
Special functionality/development:
|
|
|
|
Puresignal
|
|
For protocol-1 the puresignal is enabled; testing is required!
|
|
|
|
(Select in PowerSDR the Hermes board).
|
|
|
|
Some background information:
|
|
|
|
If switching on puresignal using PSDR the radioberry supports 4 rx slices.... 2 are simulated in the c-firmware part.
|
|
|
|
In the FPGA there are 2 receivers implemented. In the c-firmware part it is possible to duplicate the data of the actual 2 receivers.
|
|
In the c-part of the firmware the receiver slice 1 is copied to receiver slice 3 and the receiver slice 2 is copied to slice 4.
|
|
|
|
This is resulting in sending in protocol-1 the data of 4 receivers.
|
|
|
|
In RX mode the data is equal for rx1 and rx3 and the data is also equal for rx2 and rx4.
|
|
|
|
During transmit the ADC sample is replaced by the DAC sample for the second receiver (done in the FPGA).
|
|
So the rx4 (because it is identical to rx2) is containing the TX feedback signal.
|
|
Rx3 contains the actual sampled transmit value.
|
|
|
|
The puresignal algorithm uses these rx3 and rx4 data to improve the linearity of the amplifier.
|
|
|
|
Because RX2 contains the received DAC values... this information is visible in powersdr as second rx... which gives you an idea of the
|
|
quality of the DUC.
|
|
|
|
(Maybe it is easier to use board ANAN10E in powersdr for using puresignal... did not look into)
|
|
|
|
|
|
VNA
|
|
Todo.... not looked into it yet!
|
|
|
|
EER
|
|
Supported for radioberry using the CL025 FPGA; testing is required!
|
|
|
|
|
|
Starting
|
|
Connect the RPI to the network.
|
|
|
|
First load the firmware :
|
|
sudo ./loadFPGA CL025 or sudo ./loadFPGA CL016
|
|
|
|
Second start the c-part of the firmware:
|
|
|
|
Using P-1
|
|
sudo ./radioberry
|
|
|
|
Start PowerSDR, QUISK, piHPSDR or any nice program supporting P-1.
|
|
|
|
Using P-2
|
|
sudo ./radioberry
|
|
|
|
but here you have also the possiblity to use local audio.
|
|
sudo ./radioberry -l
|
|
|
|
depending on the audio capabilities:
|
|
|
|
sudo ./radioberry -a 5 -m 0
|
|
|
|
Start Thetis or SDR Console
|
|
|
|
Note:
|
|
Removed the need for the 10Mhz clock generated by the RPI for the full duplex option.
|
|
|
|
As always it is all beta software.... no warranty!
|
|
|
|
Have fun!
|
|
Johan
|
|
PA3GSB
|
|
|
|
|