Source code for BCD band output modification

Software-Modifikationen, OpenHPSDR und HPSDR für den Red Pitaya von Detlev DL4AOI
g4fph
Beiträge: 2
Registriert: 09 Jun 2016, 21:18

Source code for BCD band output modification

Beitragvon g4fph » 25 Jul 2016, 19:58

Ich würde Quellcode für BCD Band Ausgabe erfolgen ('sdr-transceiver-hpsdr.c'). Ich wünsche mir einen Draht pro Band zu verändern, aber mein Wissen über 'C' ist sehr schlecht. (Google Translate - HI!)

73 de Mark, G4FPH.
dl4aoi
Beiträge: 12
Registriert: 17 Feb 2016, 20:18

Re: Source code for BCD band output modification

Beitragvon dl4aoi » 25 Jul 2016, 21:44

Hi Mark G4FPH,
if you want to set an individual output of RedPitaya for each band
you have only 6 signals(DIO_2P...DIO_7P of connector E1) available.
That's why we decided to provide the band Information in BCD Format
using DIO_2P to DIO_5P. With a chip type 'LS42 (BCD to DEC Decoder)
you have what you want.
Modifying Pavels code is not sufficient! The Program running on PC
must be changed also to provide the band information to Pavels code.
This is what we have done here :
If you download the files sdr_transceicer_hpsdr_alex_penny_bcd.zip
and PowerSDR337_Alex_Penny_BCD.zip (Windows only) you have a
pair of software with BCD functionality.
If you don't want this you can modify Pavels code on your need.
But you need a partner program on PC side that provides the band information.
As far i know this is currently no other than our modified PowerSDR337_alex_penny_bcd.
Currently we are working on a set of hardware, software(PowerSDR339...) and
documentation(english Version also). But this will take some time.
If you are in a hurry you should download the Software of here and use
a BCD/DEC Decoder. This is tested and working.

73 de Detlev, DL4AOI
Dateianhänge
Modified_Source_of_sdr-transceiver-hpsdr_c.zip
(3.92 KiB) 70-mal heruntergeladen
g4fph
Beiträge: 2
Registriert: 09 Jun 2016, 21:18

Re: Source code for BCD band output modification

Beitragvon g4fph » 26 Jul 2016, 23:28

Detlev,

Thank you for the reply and zip file. I have no experience of the 'C' language, so I find it useful to have example code to look at.

I did not know that it would be necessary to modify PowerSDR in addition to the code running on the RP to give me the 'wire per band' filter control that I want. As that is the case, I will probably just build an i2c interface to switch my filters, like the one propoosed by Peter, DC2PD. I might use a PIC, which I have some experience with. Using i2c, I can keep to the standard builds of PowerSDR.

I am still using PSDR 3.3.7. For me it is very stable. I will try 3.3.9 at some point.

Regards,

Mark, G4FPH.
dl4aoi
Beiträge: 12
Registriert: 17 Feb 2016, 20:18

Re: Source code for BCD band output modification

Beitragvon dl4aoi » 30 Jul 2016, 19:32

Hallo Mark,

there was another request for BCD band Information available for non modified PowerSDR and i have
checked the possibilities. I think it is possible to convert the ALEX select LPF Byte into BCD
(refer HPSDR_USB_protocol_V1.58.doc, telex code 18/19 -> C4).
So this could be as follows :
BCD = 0 --> 160m
BCD = 1 --> 80m
2 --> 60/40m
3 --> 30/20m
4 --> 17/15m
5 --> 12/10m
6 --> 6m.
To get this one have to select Alex and Manual HPF/LPF filter select.
I will try out this and hope it works. As there are some other things
to do(e.g. remote adjust of TX Output with additional Hardware)
it takes some time.
BCD code can be decoded with chip HC4067, for I2C you can use a
PCA9555( search for DC2PD). When i am ready we will publish the
code and some schematics to the forum.

Best regards
Detlev DL4AOI
dd2jx
Beiträge: 5
Registriert: 20 Mär 2016, 20:34

Re: Source code for BCD band output modification

Beitragvon dd2jx » 01 Aug 2016, 12:24

Hallo Detlev,
falls Du die BCD Codierung neu definierst/bearbeitest,
dann faende ich es prima, wenn Du alle KW-Baender einzeln abbilden wuerdest.
Vorteil: Steuerung von Bandpaessen, AntTuner und ggf. PA waere dann Bandgenau realisierbar. Zusammenfassung ist ja via Optokoppler immer problemlos moeglich, diversifizieren ginge nur mit Frequenzmessung.
Optimal faende ich dazu die Uebernahme der Yaesu BCD Implementierung.
Hierbei koennte 60m ggf. in den bisher dazu (bei Yaesu) noch nicht genutzten Bereich gelegt werden. Letztendlich waere aber allein eine eindeutige Zuordnung wichtig, mit der alle Baender einzeln addressiert werden koennen. Dann waere es mit einem zweiten HC4067 Breakout jedoch moeglich, sich das passend umzucodieren.
Falls Du die BCD -Codierung von Yaesu nicht vorliegen hast, koennte ich sie hier dazu austesten/auslesen und sie Dir zusenden.
Hintergrund:
Ich wuerde gerne auch meine Mosfet-PA gleich damit Bandgenau addressieren wollen. :-)
VY73 vom Ludger.
dl4aoi
Beiträge: 12
Registriert: 17 Feb 2016, 20:18

Re: Source code for BCD band output modification

Beitragvon dl4aoi » 01 Aug 2016, 20:53

Hallo Ludger,

zunächst möchte ich den Horizont auf das vorliegende Projekt
"CQNRW-SDR based on RedPitaya" einschränken.

Sicher gibt es mehr Wünsche als es Teilnehmer dieses Forums gibt.
Nach menschlichen Möglichkeiten geht aber nur eine Software
für alle und nicht eine für jeden.

Soweit ich es verstehe sind Deine Wünsche bereits Realität :
Wenn Du die modifizierten Versionen von PowerSDR und Pavel Demins
Code aus dem Forum verwendest, dann hast Du bereits 11 Band-Signale
160-6m zur Verfügung.
Aktuell bin ich dabei, einige Beispiel-Schaltpläne aufzubauen und danach
die Software zu ertüchtigen...
Die Decodierung mit HC4067(16 Signale) ist in trockenen Tüchern.
Falls benötigt dann als Preliminary mit Kolophonium-Klecksen...

Die Sache mit Mark G4FPH und Co. ist anders :
Mein Eindruck ist, daß die meisten RP-Benutzer lieber die Original-
Versionen von Software verwenden. Unsere Sichtweise ist sowieso
sehr eingeschränkt : PowerSDR on Windows und Pavel Demins Code
auf dem RP.
Selbstverständlich sind Ableitungen von sehr gut gepflegter Software
wie oben genannt immer suboptimal.

Nun ist Red Pitaya nicht als SDR entwickelt worden, sondern als
universelles Meßsystem für wissenschaftliche und Ausbildungszwecke.
Damit wird also immer eine Differenz zwischen Wunsch(SDR) und
Wirklichkeit bestehen.

Aktuell (auch mit diesem thread) versuche ich, die Schnittmenge
zwischen im Forum modifizierter Software und Original-Software
zu maximieren. Aufgrund der oben genannten physischen Unter-
schiede wird das wohl nicht vollständig gelingen.

Ich möchte aber noch anfügen, daß unser Ziel ein vollständig
remote controllable device ist. D.h. alles über Internet fern-
steuerbar.

Da sind andere Vorstellungen möglicherweise bereits umgesetzt
und viele fragen sich : Was soll das noch?
Die Antwort ist oben zu finden.

73 de Detlev DL4AOI
dd2jx
Beiträge: 5
Registriert: 20 Mär 2016, 20:34

Re: Source code for BCD band output modification

Beitragvon dd2jx » 02 Aug 2016, 01:09

Hallo Detlev,
danke fuer Deine ausfuehrliche Stellungnahme und vielen Dank fuer Dein Engagement.
Mit einem zweiten HC4067 Breakout setze ich Deine Codierung hier fuer die Steuerung der Peripherie auf den Yaesu-BCD um.
Dachte insofern jedoch daran, dass der Umgang vllt fuer Dritte einfacher sein wuerde, falls gleich ein verbreiteter BCD benutzt wird, der so auch seit Jahren mit im Handel befindlichen Antennentunern und PA's funzt und deswegen eine Art Standard darstellt.

VY73 vom Ludger.
dl4aoi
Beiträge: 12
Registriert: 17 Feb 2016, 20:18

Re: Source code for BCD band output modification

Beitragvon dl4aoi » 02 Aug 2016, 21:43

Hallo Ludger,
habe im FA 10/2013 den Yaesu-BCD gefunden. Da ich die neue
Version von PowerSDR ohnehin noch modifizieren muß, kann
man dann auch im Setup noch einen Button für 'Yaesu-BCD'
einführen. Damit wären beide Versionen wählbar.
Bis auf weiteres müßte man aber dann für 60m BCD=0
ausgeben, um konform zu bleiben.

73 Detlev DL4AOI
dd2jx
Beiträge: 5
Registriert: 20 Mär 2016, 20:34

Re: Source code for BCD band output modification

Beitragvon dd2jx » 08 Aug 2016, 01:53

Hallo Detlev,
das waere eine prima Loesung, die es sicherlich fuer viele einfacher macht. 60m ist ja eh noch nicht freigegeben und bis auf Weiteres wird es keine Zulassung fuer QRO geben.
Die grossen Anbieter fuer Autoantennentuner haben bisher noch nichts am Markt. BCD=0 fuer ausser Band oder eben fuer 60m waere somit total ok.
Vielen Dank fuer Dein Engagement.
VY73 vom Ludger.
dl4aoi
Beiträge: 12
Registriert: 17 Feb 2016, 20:18

Re: Source code for BCD band output modification

Beitragvon dl4aoi » 08 Aug 2016, 22:45

Hallo Ludger,
da noch einige Anfragen für BCD-Signale für Original-Versionen von PowerSDR
vorliegen habe ich nach einer Lösung gesucht, die alle Interessen abdeckt und
möglichst effektiv ist.
Aktuell kann ich anbieten : BCD für alle.
In den beiden Anhängen sind ein paar Schaltpläne und eine modifizierte Version
von Pavels sdr_transceiver-Code. Dieser muß auf das RedPitaya übertragen
werden.
Die Modifikation umfaßt zwei Erweiterungen :
1. Es werden die ersten 4 Signale der 7 OpenCollector-Signale als BCD
(Red Pitaya E1/DOI_2P...DOI_5P) ausgegeben. Dazu im PowerSDR-Setup
unter Hermes/Penny-CTRL den Button 'Ext Control' aktivieren und die
Signale 1-4 entsprechend der gewünschten Codierung setzen.
Dabei ist Signal1 als 1 und Signal4 als 8 codiert. Dies muß für Senden
und Empfang separat gesetzt werden. Damit kann sich jeder seinen
BCD selbst erzeugen und ich spare mir viel Programmieraufwand.
Diese Lösung geht für alle Versionen von PowerSDR.
2. Für die Einstellung der Sendeleistung am RedPitaya hat man bisher
keine andere Möglichkeiten als ein manuell abgestimmtes Dämpfungs-
Glied zu verwenden oder den Pegel der Audiodaten mit einer modi-
fizierten Version von PowerSDR zu verringern.
Deshalb folgende Erweiterung :
Das Programm sucht nach einem dritten I2C-Chip PCA9555 mit der
festen Adresse 2. Wenn gefunden, dann wird das Byte 'Hermes/PennyLane-
Drive-Level' (0...255) an diesen gesendet. Mittels eines an den PCA9555
angeschlossenen DA-Wandlers wird der Code in eine Spannung zurück-
gewandelt, mit der man dann einen Attenuator seiner Wahl fernsteuern
kann. Aktuell 0...3,5V.
An dieser Stelle ein herzliches Dankeschön an Peter DC2PD, der diese
Möglichkeit geschaffen hat!
Der Code und die Schaltungen wurden von mir erfolgreich getestet. Was aber
nicht bedeuten muß, das dies auch bei anderen funktioniert.
Deshalb bitte die Anhänge als vorläufig ansehen. Aber zum Testen und
Nachbauen an langweiligen Sommerabenden bestens geeignet.

Viel Spaß beim Probieren wünscht allen Interessenten
Detlev DL4AOI
Dateianhänge
Decoder_BCD_DriveLevel_Preliminary.zip
(263.54 KiB) 100-mal heruntergeladen
sdr_transceiver_hpsdr_0.94-1191_mod.zip
(237.22 KiB) 86-mal heruntergeladen
dd2jx
Beiträge: 5
Registriert: 20 Mär 2016, 20:34

Re: Source code for BCD band output modification

Beitragvon dd2jx » 09 Aug 2016, 14:49

Hallo Detlev,
danke fuer Deine Umsetzung und die Beschreibung
zur BCD-Steuerung und zur Powerregelung.
Werde zunaechst mit den LED's hinter den Optokopplern der Relaisplatine testen, die dem HC4067 Breakout folgt..
Geht bestimmt super. :-)

Wg Powerregelung:
Natuerlich waere es schon wuenschenswert, falls der HPSDR-Powerregler den Pitaya direkt regelt.
Bin mir aber nicht im Klaren, ob das mir dem Pitaya ueberhaupt sinnvoll machbar ist und die Signalqualitaet beim Herunterregeln damit nicht vielleicht negativ beeinflusst werden koennte?
Die Loesung via I2C eine nachgeschaltete Daempfung zu regelm ist m.E. jedenfalls eine in Sachen Signalqualitaet sehr sichere Massnahme.
Mein Testaufbau beinhaltet derzeit dazu nur ein 3dB
SMA-Daempfungsglied (200mW max.). Dahinter sitzt eine kleine 12V MosfetPA mit 5mW IN, 45W OUT und das nachfolgende, BCD-gesteuerte TX-Bandfilterboard.
Deswegen kann ich Deine Powerregelung bisher -noch- nicht testen.
Nochmals vielen Dank fuer Deine Muehe.

VY73 vom Ludger.
dl4aoi
Beiträge: 12
Registriert: 17 Feb 2016, 20:18

Re: Source code for BCD band output modification

Beitragvon dl4aoi » 09 Aug 2016, 17:33

Hallo Ludger,

bezüglich Einstellung der Ausgangsleistung wird z.B. im Hermes wie folgt
verfahren : Das DriveLevel-Byte wird im Hermes-FPGA in ein pulsweiten-
moduliertes Signal umgewandelt, welches über einen Operationsverstärker
integriert und in ein Analogsignal umgewandelt wird. Dieses steuert einen
Pin am DAC an, der für die Einstellung des analogen Ausgangsstromes
zuständig ist (+-2mA ... +-20mA). Damit können die Eingänge des DAC
weit ausgesteuert werden, was ein gutes Signal-Rausch-Verhältnis ergibt.
Beim Red Pitaya ist m.E. ein Dual DAC DAC1401D125 eingesetzt, der die
gleichen Möglichkeiten bietet. Ist aber über 1,5kOhm fest auf +-20mA
für beide Kanäle eingestellt. Idealerweise könnte man einen FET parallel-
schalten und den Ausgangsstrom begrenzen. Soweit ich das sehen kann,
ist der DAC vom Kühlkörper verdeckt und die Anschlüsse nicht zugänglich.
Damit bleibt uns nur die Möglichkeit, ein regelbares Dämpfungsglied in
die Verstärkerkette einzuschleifen und dieses wie vorgeschlagen oder
anders fernzusteuern. Die Signalqualität sollte sich aber nicht unter-
scheiden, weil der DAC im Red Pitaya ebenfalls voll ausgesteuert wird.

73 de Detlev DL4AOI
dd2jx
Beiträge: 5
Registriert: 20 Mär 2016, 20:34

Re: Source code for BCD band output modification

Beitragvon dd2jx » 09 Aug 2016, 20:58

Hallo Detlev,
danke fuer Deine Beschreibung und Einschaetzung
zur Stromregelung der DACs.
Das Signal-/Rauschverhaeltnis betreffend ist eine nachgeschaltete Signaldaempfung bestimmt die bessere Loesung.
Eine Beschaltung der Stromregelung am DAC mittels FET duerfte zudem fuer die geneigten Nutzer ganz hart an der Grenze ihrer durchschnittlichen mikromotorischen Faehigkeiten und der vorhandenen technischen Moeglichkeiten liegen.
VY73 vom Ludger.

Zurück zu „Software Modifikationen - Detlev DL4AOI“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast