Posts by DL8MBY

    Hallo Uwe,


    danke für Deinen Hinweis.


    Habe den Forenbeitrag wohl bei meinem Search nach AD7193 übersehen.


    Ich weiss, dass man den EZ-USB Chip alias FX2 (ein 8015 Derivat mit USB
    Schnittstelle), der auf dem EVAL-Board von Analog drauf ist, über die Jumper-
    reihe abklemmen kann und direkt auf den ADC gehen kann.


    Diese Lösung werde ich wohl auch mit einer Fernost-Platine mit einem FX2
    (CY7C68013A) drauf, den ich selber programmieren kann/muss, angehen müssen,
    um den ADC vom Computer anzusteuern.
    An den Code und die Funktionsweise der orginal FX2 auf dem Board kommt man ja
    nicht dran.
    Ich habe zwar die zugehörige HEX-Datei auf der beiliegenden DVD gefunden,
    mein Disassembler hat aber nicht den ganzen Code entschlüsselt, wegen
    bestimmten reletiven Sprüngen, und giebt deshalb viele DB Anweisungen raus,
    siehe Anhang, mit denen ich nichts anfangen kann.


    Vielleicht hat jemand noch einen anderen Hinweis für mich.


    Die Sache eillt nicht, wäre aber schade, wenn man so einen hochwärtigen ADC nicht
    für seine Spielereien nützen kann.


    Während ich diese Zeilen schrieb, ist mir noch die Idee gekommen, das Windows-Programm
    von Analog zu belauschen (Monitor von Sysinternals). Falls das klappt, könnte man ja das
    Protokoll zum EZ-USB Chip in Linux nachbilden, wobei ich da wohl länger zu tun hätte ;)


    vy73
    Markus

    Hallo Forum,


    hatte wieder etwas Zeit und kommte das Gerät partiell zerlegen.
    Anbei die Fotos auf mehrere Beiträge verteilt.
    Werde beim nächsten Mal auch noch die Abschirmungen abnachen,
    um das Darunter zu fotographieren.
    Konnte es Mangels eines starken Lötkolbens nicht sofort machen.


    Meine erste Modifikation an dem Gerät war das Anbringen einer
    N-Buchse, da ich hauptsächlich N-Kabel und N-Zubehär habe.


    Als Endlösung will ich SMA-Buches nehmen, suche nur noch eine
    Variante mit dem selben Flansch.


    Der Tausch ist sehr leicht zu bewerkstellinen, da der Antennenanschluß auf
    einer separaten Platine an der Rückblende montiert ist und nur mittels
    Federkontakte mit dem Mainboard verbunden ist.


    Zudem habe ich das Lautsprecherkabel gekürzt. Es war sehr großzügig
    bemessen und im aufgewickeltem Zustand zwischen den beiden
    Platinen versteckt.


    Einen kleinen Kern auf die Leitung unmittelbar nach dem NF-Verstärker-
    ausgang habe ich auch plaziert.


    Zudem noch einen Kern auf die Stromversorgungsanschlüsse drauf,
    damit nichts ins Gerät einstrahlt.


    Ich hoffe Ihr könnt die einzelnen ICs Aufschriften auf den Bildern noch
    erkennen, wobei ich mir bei der Komprimierungsrate nicht mehr sicher bin.


    Es sind Kandidaten dabei wie AD831, AD9834, AD9913, ADE-1 und
    noch einige mehr.


    Die verwendeten Teile sind zumindest hochwertig, wie sehr das Gerätekonzept
    stimmig ist kann ich noch nicht beurteilen. Muss mich noch durch die Platine
    navigieren und vorallem die Innereien unter den Schirmungsblechen ergründen.


    Soweit ein Zwischenbericht. Weitere Einzelheiten folgen.


    vy73
    Markus

    Hallo Uwe,


    bei mir war der RP-FPGA nach Anbringen eines 5V RPi-Lüfters (30mmx30mm) oberhalb des KK
    nur 48°C warm, laut SW-Monitor. Dabei habe ich die Web-Spec.-App am laufen gehabt (bei 62,5MHz).


    Somit ist der Kühlbedarf nicht so hoch, wenn der kleine Lüfter schon soviel Abkühlung bringt (von 78°C aub 48°C).


    Ich habe allerdings übersehen, dass ja onboard bereits ein Lüfteranschluß vorliegt und habe mich deshalb an
    Pin #1 (+5V) der linken Leiste drangehängt.


    Bei den RP Gehäusen, die es bei Reichelt, Pollin und Elektor gibt, ist ja eine Lüfterhalterung vorhanden.


    Hast Du eigentlich überprüft ob Dir der Lüfter über die Spannungsversorgung oder über seine Kommutierung
    die Störungen im unteren Frequenzband macht?


    Gruß
    Markus

    Hallo Uwe,


    das hört sich nach erheblicher Arbeit an, vorallem was das Ausmessen angeht.


    Hast Du denn schon den Kühlkörper abmontiert?


    Im kalten Zustand hält er sehr fest. Ich habe heute die beiden Stifte herausgenommen,
    konnte aber den KK nicht ohne Kraftaufwand entfernen, was ich mir verkniffen habe.


    Werde morgen versuchen den FPGA vorzuheizen und dann nochmals den Versuch
    nach der Stromabschaltung vernehmen. Manchmal sind die Wärmepasten/Pads dann
    weich und lassen sich besser handhaben.


    Ich bin der Meinung, das ein KK wie im Anhang angedeutet ausreichen würde.


    Mir persönlich würde ein Cu-KK mehr zusagen, wobei das natürlich die teurere und
    auch mechanisch schwerere Lösung ist.


    Aufgrund des Gewichts werden möglicherweise die beiden Befestigungslöcher nicht
    nehr ausreichen und mann muss dann doch die Ecklöcher hinzunehmen.


    Damit würder der KK größer und auch noch höcher vom Aufbau, wenn man die IO-Ports
    nicht zudecken, sondern weiterhin benützen will.


    Werde mir auch dazu Gedanken machen.


    Man könnte ja einen Abdruck mit einer plastelinartigen-Masse machen, oder man hat Zugang
    zu einem 3D-Scanner, der die Oberfläche abtastet und damit ein genaues Modell erstellt.


    Bin gerade noch am Überlegen, während ich diese Zeile schreibe. Wir werden sehen, was
    dabei rauskommt.


    Bis dahin


    Grüße
    Markus

    Hallo Uwe,


    hast Du schon Dir eine CAD-Zeichnung erstellt, oder musst Du noch diese Fleißarbeit machen?
    Mußt Du Dich selber an die Maschine stellen, oder kann die CAD/CAE Daten lesen und gleich
    mehrere Stück rausspucken.


    Ich wäre an zwei solchen Kühlkörpern interessiert, falls Dein Aufwand sich in Grenzen hält.


    Ich selber hätte auch die Möglichkeit vorort sowas in Auftarg zu geben, müsste aber erst die Leute,
    die dies machen darauf ansprechen, da ich sie noch nicht persönlich kenne.


    Wir haben die feinsten Gerätschaften für sowas, allerdings benötige ich einen genauen und maschienen-
    lesbaren Plan für die Herstellung und muss natürlich auch eine Lücke finden in der dies machbar wäre.


    Leider bin ich noch kein Experte für die diversen CAD/CAE Formate und müsste mich erst schlau machen,
    in welcher Art die Vorlage zu sein hat.


    Also sollte es bei Dir aus irgendwelchen Gründen nicht klappen, so kannst Du mich bitte darauf nochmals
    ansprechen und ich werde meine Fühler in der Firma ausstrecken.


    Gruß
    Markus

    Hallo Wolfgang,
    hallo Uwe,


    war am WE unterwegs, so dass ich micht "Spielen" konnte ;-).


    Wolfgang - Hat es mit dem RP SD-Image und dem Vergrößern der Partition geklappt?


    Uwe - Werde es erst heute Abend schaffen weiter zu machen. Interessant ist ob Wolfgangs
    Einwand mit den Verstärkern - dann eine Verbesserung erzielt wird, wenn Du die Schirmung
    zwischen den beiden ICs anbringst, falls es das Layout der Platine zulässt.
    Den Lüfter kann man Ja auch extern speisen. Ich habe meinen Lüfter an den 5V der linken IO-Leiste
    angeschlossen (Pin #1), wenn die SMA-Buchsen nach oben zeigen.
    Habe aber nicht im unteren Frequenzspektrum nach Störungen gesucht.



    Gruß
    Markus

    Hallo Uwe,


    wie hast Du Deine VM mit debian konfiguriert?
    RAM/CPU/DISK.


    Ich habe einen NB mit 4GB RAM und einen mit 8GB RAM.
    Beide unter SUSE 13.1 mit x86_64 OS.


    Meinst Du dass ich auf der 4GB Maschine eine 2GB VM
    für diesen Zweck konfigurieren könnte.


    Wie ist Deine Erfahrung was die Eckdaten für die Vivado
    Installation angeht.


    Bis Dato hatte ich nur FPGA SW für Altera (Quartus Webedition) auf
    meinen Systemen. Xilinx habe ich bewusst vermieden.



    Gruß
    Markus

    Hallo Uwe,


    beide Eingänge waren beschaltet.


    Am Eingang A hing der FA-VA3 mit 5MHz (ca. 4dBm)
    Am Eingang B hatte ich den FA-Testgenerator, wobei das Gerät zu dem Zeitpunkt der
    Messung ausgeschaltet war.


    Wenn ich beide Signale einspeise, ist die Spektrale Linie trotzdem vorhanden.


    Siehe Bilder im Anhang.


    Ich habe die VA Frequenz auf 6MHz geschoben, damit man die 5MHz Linie des
    TG mit 10MHz Signal sieht. Ih habe sie mit einem x gekennzeichnet.


    Gruß
    Markus

    Hallo Uwe,


    neues Problem ;)


    root@red-pitaya:/home/sdr/iqgen2# ./iq 10.0e6 +900 +0.0 +0.0 <= Bild #1 Kreis ok
    root@red-pitaya:/home/sdr/iqgen2# ./iq 1.0e6 +900 +0.0 +0.0 dito
    root@red-pitaya:/home/sdr/iqgen2# ./iq 5.0e6 +900 +0.0 +0.0 dito
    root@red-pitaya:/home/sdr/iqgen2# ./iq 8.0e6 +900 +0.0 +0.0 dito
    root@red-pitaya:/home/sdr/iqgen2# ./iq 9.0e6 +900 +0.0 +0.0 dito
    root@red-pitaya:/home/sdr/iqgen2# ./iq 10.0e6 +900 +0.0 +0.0 <= Bild #2 Kreis verformt
    root@red-pitaya:/home/sdr/iqgen2# ./iq 12.0e6 +900 +0.0 +0.0
    root@red-pitaya:/home/sdr/iqgen2# ./iq 11.0e6 +900 +0.0 +0.0
    root@red-pitaya:/home/sdr/iqgen2# ./iq 15.0e6 +900 +0.0 +0.0 <= Bild #3 kreis verformt und größer!



    Ab zehn MHz wird der Kreis Unsymetrisch - (keine Elipse sondern ein Tropfen!)
    Zudem steigt der Pegel an, verbeulter Kreis wird größer


    Siehe Anhang




    Markus


    Anbei noch meine Calibrationskonstanten aus dem EEPROM:


    root@red-pitaya:/home/sdr/iqgen2# calib -r -v
    FE_CH1_FS_G_HI = 45870551
    FE_CH2_FS_G_HI = 45870551
    FE_CH1_FS_G_LO = 1016267064
    FE_CH2_FS_G_LO = 1016267064
    FE_CH1_DC_offs = 78
    FE_CH2_DC_offs = 25
    BE_CH1_FS = 42755331
    BE_CH2_FS = 42755331
    BE_CH1_DC_offs = -150
    BE_CH2_DC_offs = -150

    Hallo Uwe,


    kann bestätigen, dass der neue Code immer einen Kreis zeichnet.



    root@red-pitaya:/home/sdr/iqgen2# ./iq 1.0e6 -900 +0.0 +0.0 <==KreIs
    root@red-pitaya:/home/sdr/iqgen2# ./iq 1.0e6 +900 +0.0 +0.0 <==KreIs
    root@red-pitaya:/home/sdr/iqgen2# ./iq 1.0e6 +450 +0.0 +0.0
    root@red-pitaya:/home/sdr/iqgen2# ./iq 1.0e6 +1350 +0.0 +0.0
    root@red-pitaya:/home/sdr/iqgen2# ./iq 1.0e6 -1350 +0.0 +0.0
    root@red-pitaya:/home/sdr/iqgen2# ./iq 1.0e6 -450 +0.0 +0.0
    root@red-pitaya:/home/sdr/iqgen2# ./iq 1.0e6 -900 +0.0 +0.0 <==KreIs
    root@red-pitaya:/home/sdr/iqgen2# ./iq 1.0e6 +900 +0.0 +0.0 <==KreIs


    Glückwunsch.


    Jetzt werde ich den DC-Offset bestimmen.


    Markus

    Hallo Uwe,


    möglicherweise ist dies nicht der Richtige Ort diese Frage zu stellen.
    Ich versuche es trotzdem:


    Sollte es in der fpga_awg.h statt


    typedef struct awg_reg_t {
    /** @brief Offset 0x00 - State machine configuration
    *
    * State machine configuration register (offset 0x00):
    * bits [31:24] - Reserved
    * bit [ 23] - Channel B output set to 0
    * bit [ 22] - Channel B state machine reset
    * bit [ 21] - Channel B set one time trigger
    * bit [ 20] - Channel B state machine wrap pointer
    * bits [19:16] - Channel B trigger selector
    * bits [15: 8] - Reserved
    * bit [ 7] - Channel B output set to 0
    * bit [ 6] - Channel B state machine reset
    * bit [ 5] - Channel B set one time trigger
    * bit [ 4] - Channel B state machine wrap pointer
    * bits [ 3: 0] - Channel B trigger selector
    *
    */


    nicht


    typedef struct awg_reg_t {
    /** @brief Offset 0x00 - State machine configuration
    *
    * State machine configuration register (offset 0x00):
    * bits [31:24] - Reserved
    * bit [ 23] - Channel B output set to 0
    * bit [ 22] - Channel B state machine reset
    * bit [ 21] - Channel B set one time trigger
    * bit [ 20] - Channel B state machine wrap pointer
    * bits [19:16] - Channel B trigger selector
    * bits [15: 8] - Reserved
    * bit [ 7] - Channel A output set to 0
    * bit [ 6] - Channel A state machine reset
    * bit [ 5] - Channel A set one time trigger
    * bit [ 4] - Channel A state machine wrap pointer
    * bits [ 3: 0] - Channel A trigger selector
    *
    */


    oder umgekehrt


    typedef struct awg_reg_t {
    /** @brief Offset 0x00 - State machine configuration
    *
    * State machine configuration register (offset 0x00):
    * bits [31:24] - Reserved
    * bit [ 23] - Channel A output set to 0
    * bit [ 22] - Channel A state machine reset
    * bit [ 21] - Channel A set one time trigger
    * bit [ 20] - Channel A state machine wrap pointer
    * bits [19:16] - Channel B trigger selector
    * bits [15: 8] - Reserved
    * bit [ 7] - Channel B output set to 0
    * bit [ 6] - Channel B state machine reset
    * bit [ 5] - Channel B set one time trigger
    * bit [ 4] - Channel B state machine wrap pointer
    * bits [ 3: 0] - Channel B trigger selector
    *
    */


    heisen?


    Markus

    HAllo Uwe,


    danke für Deine ausführiche Antwort.


    Zu der Konstantenänderung (auf die schnelle klappt es leider nicht)


    "die Konstante auf 0x410041"


    musst Du mir bitte noch sagen wo ich diese ändern soll.


    Es gibt ja zwei Stellen, wo sie gesetzt werden:


    Zeile 123: g_awg_reg->state_machine_conf = 0x000041;


    und


    Zeile 145: g_awg_reg->state_machine_conf = 0x110011;


    oder sollen beide auf den o.g. Wert geändert werden?


    Markus