IO mit I2C in PiHPSDR

PiHPSDR Software für Raspberry Pi
Antworten
Benutzeravatar
klapauzius
Offline
Beiträge: 66
Registriert: So Mär 06, 2016 9:38 pm

IO mit I2C in PiHPSDR

Beitrag von klapauzius » Mi Apr 19, 2017 12:59 pm


Hallo zusammen,

da das Thema vom Gefühl her hier auch nicht falsch untergebracht ist habe ich es als "Doublette" auch noch mal hier geposted.

Leider bekomme ich in PiHPSDR immer noch nicht die PCA9555 (16 Bit i2c IO Extension) zum ansteuern meines LPF ans laufen.
Benutzt noch jemand die Kombination mit Audio Codec und den eben genannten Porterweiterungen zum Ansteuern der Peripherie?

Die PCA9555 Breakout boards sind richtig konfiguriert (Adresse 20 und 21) und wenn ich das 0.96 Ecosystem von der Red Pitaya Homepage von einer Karte boote kann ich die Bausteine mit i2cdetect finden.
Von PowerHPSDR aus funktioniert alles prima, es handelt sich also ganz offensichtlich um ein Konfigurationsproblem.

Ich habe diverse Varianten im PiHPSDR ausprobiert, leider kann ich das System unter PiHPSDR nicht dazu bewegen ein Signal auf die PCA9555 zu geben.

73s
Sascha

Benutzeravatar
DH1AKF
Offline
Beiträge: 74
Registriert: Mo Feb 29, 2016 6:30 pm

Re: IO mit I2C in PiHPSDR

Beitrag von DH1AKF » Mi Apr 19, 2017 5:42 pm


Hallo Sascha,
das Programm von Pavel Demin erzeugt Kompatibilität des Red Pitaya mit PowerSDR. Er hat zusätzlich die Bandfilter- Umschaltung eingebaut.
John Melton hat unabhängig von Pavel eine ebenfalls zu PowerSDR kompatible Variante für Raspberry Pi entwickelt, die auf einer ganz anderen Hardware läuft. Das Programm PiHPSDR kennt Deinen Umschalt- Chip überhaupt nicht!
Man könnte ja die beiden Programmierer bitten, sich dieses Problems anzunehmen. Das würde vielleicht auch Anderen helfen.
73, Wolfgang

Benutzeravatar
klapauzius
Offline
Beiträge: 66
Registriert: So Mär 06, 2016 9:38 pm

Re: IO mit I2C in PiHPSDR

Beitrag von klapauzius » Mi Apr 19, 2017 7:27 pm


Hallo Wolfgang,

vielleicht verstehe ich das hier falsch, aber ist es nicht so das für die Filter im HPSDR das die Alex Platine vorgesehen ist? Der Anschluss der selben überschneidet sich aber laut Info in Pavels SDR GIthub mit dem I2S Interface für den Audiocodec, so dass nicht beide Systeme simultan genutzt werden können. ("The I2S interface is sharing pins with the ALEX interface. So, the two can’t be used simultaneously.") Ich sehe das Problem da eher in der Implementierung der PCA9555 IOs. Sollten hier nicht die Signale für Alex wenn der Audiocodec adaptiert ist sinvollerweise über das I2C Interface ausgegeben werden? Das ist ja von der Belegung her wenn nicht identisch dann doch zumindest recht "symetrisch". Wäre das eine Option mit der man vielleicht an Pavel heran treten möchte?

Wieviele der Kollegen hier verwenden den Audio Codec und wie steuern diese die Peripherie wenn sie PiHPSDR Nutzen? Werden da die Bandpassfilter von Hand geschaltet oder gibt es noch alternativen die ich blos gerade nicht sehe?

Viele Fragen.
Ich bin gespannt.

Beste Grüße
Sascha

Benutzeravatar
dh3cs
Offline
Beiträge: 12
Registriert: Do Mär 24, 2016 1:51 pm

Re: IO mit I2C in PiHPSDR

Beitrag von dh3cs » Mi Apr 19, 2017 9:08 pm


Hallo Sascha,

ich benutze seit März 2016 die 4
"outputs for Hermes Ctrl pins are connected to the pins DIO4_P - DIO7_P of the extension connector E1".
Damit läuft sowohl PiHPSDR, als auch PowerSDR OpenHPSDR 3.3.9 in Verbindung mit dem AudioCodec.
Die Bits lassen sich bei beiden Software- Systemen einzeln je Band per Setup setzen. Im PiHPSDR z.B.: Menu / OC.
Auch die übrigen nötigen Signale kommen direkt aus dem RedPit, wie Pavel unter der Überschrift "RF, GPIO and XADC connections" beschreibt.
Um die I/O zu schützen verwende ich Optokoppler. Damit habe ich zunächst die Bandumschaltung der PA (und damit auch die Tiefpässe) ähnlich Yaesu Standard bewerkstelligt. Mittlerweile nutze ich ein eigenes TPF aus einem TS-850 für meine Raspi-Standalone Lösung. Auch das TS850 Filter nutzt die BCD Codierung (allerdings wohl aus Layoutgründen etwas chaotisch).
Es muss also nicht ein ALEX-Board sein.

Noch ein Tip zum Anschluss des AudioCodec, insb. des I2S Bus. Möglichtst kurze geschirmte Zuleitung wählen, sonst hat man mehr Störsignale als einem lieb sind.

Gruß
Jörg

Benutzeravatar
dc2pd
Offline
Beiträge: 29
Registriert: So Mär 20, 2016 11:34 pm

Re: IO mit I2C in PiHPSDR

Beitrag von dc2pd » So Apr 23, 2017 3:30 pm


PiHPSDR muss die I2C Erweiterung nicht kennen !
Von der Bedienseite her werden über Ethernet Datenpakete im Metis Format ausgetauscht. Egal ob PiHPSDR oder PowerSDR.
Der RedPitaya wertet diese Pakete aus und dort drin sind auch die IO's kodiert.
Pavels Software schaut beim Start nach ob eine I2C Erweiterung gefunden wird und dekodiert dann die entsprechenden Metis
Pakete und setzt die IO Pins der I2C Bausteine.

73, Peter

Benutzeravatar
dj1yr
Offline
Beiträge: 32
Registriert: Mo Apr 24, 2017 6:14 am

Re: IO mit I2C in PiHPSDR

Beitrag von dj1yr » Mo Apr 24, 2017 8:51 am


Hallo,

das "Problem" ist, das beim RP eine Abfrage gemacht wird was am I2C hängt, original wird das bei HPSDR/Hermes nicht gemacht, auch benutzt Alex SPI + ein D-Word um die Filter/Antennen/RX-TX zu schalten

Benutzeravatar
klapauzius
Offline
Beiträge: 66
Registriert: So Mär 06, 2016 9:38 pm

Re: IO mit I2C in PiHPSDR

Beitrag von klapauzius » Mo Apr 24, 2017 1:03 pm


Ahoi,

aktuell versuche ich mich daran die Xilinx SDK für die RP Entwicklungsumgebung herunter zu laden. Leider erweist sich mein 3MBit DSL da als echtes Nadelöhr.
Ich habe die Hoffnung das es für mein Problem eine Programmiertechnische Lösung gibt, will heissen bei angeschlossenen I2C Porterweiterungen die Signale für Alex (so Alex in der Konfiguration im xxHPSDR aktiviert) auf die Porterweiterungen umzubiegen.

Vielleicht interessiert sich noch jemand für diese Variante und möchte sich da mit einbringen? Alternativ könnte man mit der Bitte um Anpassung vielleicht auch an Pavel herantreten. Wenn es einen größeren Kreis von Personen gibt die an einer Änderung interessiert wären würde das vermutlich eher Sinn machen, da wir sonst mit der Änderung immer hinter Pavels Version herhinken würden.


73s
Sascha

Benutzeravatar
dj1yr
Offline
Beiträge: 32
Registriert: Mo Apr 24, 2017 6:14 am

Re: IO mit I2C in PiHPSDR

Beitrag von dj1yr » Di Apr 25, 2017 7:06 am


Hallo Sascha,

ich wäre auf alle Fälle daran interessiert, meine Prog skills gehen aber über µC nicht hinaus.

Ich habe für meine Projekte mit HPSDR eine Decoderplatine für den Alexbus gebaut, die per AtXmega 16/32 den Bus auswertet, somit habe ich die komplette Funktionalität v. Alex + Zusatzausgänge inkl. Flexibilität .
Wie gesagt Alex nutzt die SPI specs. die benötigen 4Pins, ich komme auch mit CL und Data aus.


73´ René

Benutzeravatar
DM6TT
Offline
Beiträge: 25
Registriert: Do Mär 03, 2016 10:18 pm

Re: IO mit I2C in PiHPSDR

Beitrag von DM6TT » Di Apr 25, 2017 1:16 pm


Hallo Rene',
kannst du bitte genauer erklären, was du da gemacht hast?
Ich habe noch Gerds, DH6HL, BPF Platine, bei der ich den Atmel für i2c Ansteuerung via Pitaya umprogrammieren wollte.
Vielleicht passt das ja.

Danke

73, Marcus

Benutzeravatar
klapauzius
Offline
Beiträge: 66
Registriert: So Mär 06, 2016 9:38 pm

Re: IO mit I2C in PiHPSDR

Beitrag von klapauzius » Di Apr 25, 2017 6:23 pm


Hallo Rene,

hört sich auf jeden Fall sehr interessant an. Einen Teil der Kontrolle an einen µC abzugeben war auch schon ein Gedanke. Vielleicht magst du hier an passender Stelle einen Thread aufmachen und das mal präsentieren?

Ich habe mir den Code für den Red Pitaya von Pavel bis jetzt wie gesagt noch nicht angeschaut. Nachdem ich jetzt eine VM mit Ubuntu (mehr oder weniger nach Anleitung in Pavels Github, für den Download der XilinX SDK war eine GUI, hab hier XFCE4 installiert ) aufgesetzt habe bin ich mit gut 13,5GB jetzt relativ nahe dran eine SDK Zu installieren. Die Verbindung reist zwar immer mal wieder ab, allerdings kann man wenn man nach dem abbruch die Dateien nicht löscht den Download wieder aufnehmen nachdem man den Installer wieder gestartet hat. (Das nur für die die ähnliche Probleme haben).

Bezüglich PowerHPSDR wird in dem Dokument auf das Pavel aus dem Github verlinkt ja ausdrücklich nach dem Abschalten der Kontrolle der Hardware über die Peripherie (hier die Filter) verlangt. Ich bekomme es leider nicht auf die Reihe hier einen Snapshot einzufügen, sonst hätte ich die entscheidende Stelle auch visuell dargestellt. Irgendwo werden sicher die Informationen (ob von der Hardware oder von $Software) auf die entsprechenden Ports (Alex (D)word, Red Pitaya I/O) gelegt. Mit ein bisschen Bitgeschubse sollte das wohl auf I2C umzubiegen sein.

Parallel hierzu bin ich mit Steven Wilson im Gespräch, der ein hier im Forum bereits präsentiertes RedPitaya SDR TRX Komplettsystem zum "Aufstecken" gebaut hat. Davon sind wohl auch schon ein paar in Betrieb wie er sagt. Der hat auch einen direkten Draht zu John Melton (g0orx), dem Programmierer von PiHPSDR. Vielleicht kommt auch zeitnah von der Seite eine Lösung. So wie Steven sagt bin ich bis jetzt der einzige von dem er hört der nicht entweder die Alex Lösung oder, bei Verwendung des Audio Codec die vier Open Collector Ausgänge des Hermes verwendet hat. Immerhin habe ich so wenigstens ein Alleinstellungsmerkmal :lol:

In diesem Sinne
73s
Sascha

Benutzeravatar
dc2pd
Offline
Beiträge: 29
Registriert: So Mär 20, 2016 11:34 pm

Re: IO mit I2C in PiHPSDR

Beitrag von dc2pd » Fr Apr 28, 2017 9:53 pm


Die Software von Pavel kann man in zwei Bereiche teilen. Der FPGA-Teil mit den Dezimierungsfiltern usw. und dem Code, welcher auf dem ARM Prozessor läuft.
Der FPGA Teil ist eher schwere Kost.
Die hier angesprochenen Probleme betreffen ihn jedoch nicht. Die komplette Ablaufsteuerung, das heißt die Auswertung des Metis Protokolls vom PC erfolgt in einem normalen C Programm, welches dann auf dem ARM Prozessor läuft.
server/sdr-transceiver-hpsdr.c
Zusammen mit der Beschreibung des Metis Protokolls eigentlich recht anschaulich.
Aber auch zum Kompilieren des C Codes muss man das riesige Xilinx Packet installieren.

73 de
Peter

Antworten