Radioberry-2.x/SBC/rpi-3/fd-firmware
pa3gsb c21cd47a8f new development 2019-12-29 12:39:44 +01:00
..
c-rpi new development 2019-12-29 12:39:44 +01:00
verilog-fpga new development 2019-12-29 12:39:44 +01:00
readme.txt new development 2019-12-29 12:39:44 +01:00

readme.txt

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