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?