Hallo, ich arbeite gerade mit einem Adafruit-SI5351-Modul (https://learn.adafruit.com/adafruit-si5351-clock-generator-breakout/overview), Ansteuerung per Arduino und der bekannten SI5351-Library (https://github.com/etherkit/Si5351Arduino). Funktioniert alles perfekt. Nun will ich den SI aber an einem FPGA betreiben, in dem ein RISC-V System läuft. Die Arduino-Software habe ich an den I2C-Controller im RISC-V angepasst (funktioniert etwas anders als im Arduino), dabei aber nur die I2C-Aufrufe geändert, nicht die Funktionen der SI-Library selbst. Die Kommunikation zwischen RISC-V und SI5351 läuft problemlos, auch das Busprotokoll sieht auf dem Logi richtig aus, alle Schreibvorgänge liefern ein ACK. Trotzdem macht der SI nicht, was er soll. Das Merkwürdigste ist: im Statusregister 0 ist das LOS_XTAL-Bit gesetzt, was anzeigt, das angeblich kein Eingangstakt vorhanden ist. Der kommt aber von einem Quarz auf dem Adafruit-Board - warum sollte also der Eingangtakt fehlen? Die PLLs sind angeblich gelockt (LOS_A=LOS_B=0). An den Taktausgängen kommt aber eine Frequenz in der Nähe des 25-MHz Referenztakes heraus, die keine Ähnlichkeit mit dem eingestellten Takt hat. Kennt jemand das Verhalten, dass der SI5351 LOS_XTAL=1 meldet bei einem fest verbundenden Quarz? Welche Ursache kann das haben?
Ob es wohl daran liegt, dass es das LOS_CLKIN-Bit nur beim Si5351C gibt und die von Adafruit verbauten MSOP-10-Chips die A-Version sind?
Daran habe ich auch gedacht, aber warum funktioniert das Teil dann am Arduino mit der gleichen Software? Vermutlich liegt es doch an einen Hickup im I2C-Protokoll. Mir wird nichts anderes übrigbleiben, als die Initialisierung am Logi Bit für Bit zu vergleichen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.