Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Ich hätte großes Interesse daran, diesen Chip (vor allem wenn er so günstig zu bekommen ist) zu meinem Raspberry Pi anzubinden um ein normales DAB+ Radio zu haben.
Dann abonniere ich diesen Thread mal...
Grüße aus Ingolstadt
Alex
Dann abonniere ich diesen Thread mal...
Grüße aus Ingolstadt
Alex
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Mittlerweile ist es mir gelungen, über den FT4232H eine Verbindung zum Si4688 auf dem EvalBoard herzustellen.
Dazu musste ich auf dem EvalBoard zunächst einige "Jumper" (0 Ohm SMD-Widerstände) entfernen, um die Leitungen INTB, RSTB, MISO, MOSI, SSB und SCLK vom µC des EvalBoards zu trennen.
Die habe ich dann mit dem FT4223H verbunden:
Port A -> SPI
SK -> SCLK
DO -> MOSI
DI <- MISO
CS -> SSB
Port B -> GPIO (Reset und Interrupt)
RTS# -> RSTB
CTS# <- INTB
Port C <- Audio (TODO)
So sieht der "Versuchsaufbau" derzeit aus:
[attachment 3547 WP_20140729_002.jpg]
Links: Lochrasterplatine mit dem FT4232H-Modul
Rechts: EvalBoard
Vorne: Logic-Analyzer zur Kontrolle
Näher dran:
[attachment 3548 WP_20140729_008.jpg]
Die grundlegende Kommunikation mit dem Chip funktioniert, jetzt bin ich grade dran, das Laden der Firmware zu implementieren.
Viele Grüße,
Andi
Dazu musste ich auf dem EvalBoard zunächst einige "Jumper" (0 Ohm SMD-Widerstände) entfernen, um die Leitungen INTB, RSTB, MISO, MOSI, SSB und SCLK vom µC des EvalBoards zu trennen.
Die habe ich dann mit dem FT4223H verbunden:
Port A -> SPI
SK -> SCLK
DO -> MOSI
DI <- MISO
CS -> SSB
Port B -> GPIO (Reset und Interrupt)
RTS# -> RSTB
CTS# <- INTB
Port C <- Audio (TODO)
So sieht der "Versuchsaufbau" derzeit aus:
[attachment 3547 WP_20140729_002.jpg]
Links: Lochrasterplatine mit dem FT4232H-Modul
Rechts: EvalBoard
Vorne: Logic-Analyzer zur Kontrolle
Näher dran:
[attachment 3548 WP_20140729_008.jpg]
Die grundlegende Kommunikation mit dem Chip funktioniert, jetzt bin ich grade dran, das Laden der Firmware zu implementieren.
Viele Grüße,
Andi
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Hallo,
ich beschäftige mich auch seit einigen Wochen mit dem SI4688 und bin soeben erst auf diesen Thread gestossen.
Bei der Programmierung des SI4688 bin ich auf ein paar kleine Fallstricke gestossen, die bisher wohl nicht in der Dokumentation zu finden sind:
- Die Interrupt Leitung scheint erst zu funktionieren, wenn der Bootloader Patch und der eigentliche Bootloader rübergespielt worden sind. Bis dahin ist sie hochohmig.
- Bei den Channel und Component IDs aus der Service Liste des DAB Ensembles ist die Endianess genau entgegengesetzt dem, was man erwartet
Bis jetzt sieht mein Aufbau so aus, dass ich den SI4688 mit einer QFN-Adapter-Platine auf einer Lochrasterkarte betreiben, welche mit einem STM32F4 Discovery Board verbunden ist.
Leider ist das SNR damit so schlecht, dass der Empfang oft abreisst. Ich vermute das liegt an schlechter Masseverbindung, fehlendem Filtern am Antenneneingang etc.
Daher habe ich ein kleines PCB entworfen, welches hoffentlich nächste oder übernächste Woche ankommt.
Gruß
Björn
ich beschäftige mich auch seit einigen Wochen mit dem SI4688 und bin soeben erst auf diesen Thread gestossen.
Bei der Programmierung des SI4688 bin ich auf ein paar kleine Fallstricke gestossen, die bisher wohl nicht in der Dokumentation zu finden sind:
- Die Interrupt Leitung scheint erst zu funktionieren, wenn der Bootloader Patch und der eigentliche Bootloader rübergespielt worden sind. Bis dahin ist sie hochohmig.
- Bei den Channel und Component IDs aus der Service Liste des DAB Ensembles ist die Endianess genau entgegengesetzt dem, was man erwartet
Bis jetzt sieht mein Aufbau so aus, dass ich den SI4688 mit einer QFN-Adapter-Platine auf einer Lochrasterkarte betreiben, welche mit einem STM32F4 Discovery Board verbunden ist.
Leider ist das SNR damit so schlecht, dass der Empfang oft abreisst. Ich vermute das liegt an schlechter Masseverbindung, fehlendem Filtern am Antenneneingang etc.
Daher habe ich ein kleines PCB entworfen, welches hoffentlich nächste oder übernächste Woche ankommt.
Gruß
Björn
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Wo kann man den SI4684 bekommen? Ich meine einzelne Chips in einer Quantität von ca. 20 Stück?
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Wenn mich nicht alles täuscht, kann man sie hier bei Arrow-Electronics sogar einzeln kaufen.
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Ich hatte die Tage 10 Stück SI4688 bei Arrow aus den USA geordert. Kam mit Versand allerdings auf 146$. Zahlung ging über Paypal.
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
ughhh PayPal. Diese digitalen Wegelagerer mag ich gar nicht.
Naja ich hab folgendes Projekt im Hinterkopf: Eine kleine DAB - UKW Kopfstelle, ca. 10-20 Umsetzer für das private Kabelnetz. Mit diesem SI-Chip und noch einem guten UKW Minizünder Chip könnte man solche Umsetzermodule bauen. Das wär doch ein nettes Projekt...
Ich schätze bis ich damit fertig bin ist UKWdann auch abgeschaltet
Naja ich hab folgendes Projekt im Hinterkopf: Eine kleine DAB - UKW Kopfstelle, ca. 10-20 Umsetzer für das private Kabelnetz. Mit diesem SI-Chip und noch einem guten UKW Minizünder Chip könnte man solche Umsetzermodule bauen. Das wär doch ein nettes Projekt...
Ich schätze bis ich damit fertig bin ist UKWdann auch abgeschaltet
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Ja, das ist bei mir auch so.df1bb hat geschrieben:...
Bei der Programmierung des SI4688 bin ich auf ein paar kleine Fallstricke gestossen, die bisher wohl nicht in der Dokumentation zu finden sind:
- Die Interrupt Leitung scheint erst zu funktionieren, wenn der Bootloader Patch und der eigentliche Bootloader rübergespielt worden sind. Bis dahin ist sie hochohmig.
...
In den "Firmware Release Notes", die auf der CD vom EvalBoard sind (Si46xx_Customer_Release_Notes_rev008.pdf), wird es ganz am Ende (unter "7. ROM Patch") erwähnt.
Ganz was anderes:
Lädst du die eigentliche Firmware (also die ~500kB großen .bif-Files) per HOST_LOAD oder per FLASH_LOAD?
Mir gelingt es nämlich nicht, die eigentliche Firmware per HOST_LOAD zu laden.
(Den Bootloader und den "MiniPatch" kann ich problemlos per HOST_LOAD laden, auch die Interrupts funktionieren danach, aber beim HOST_LOAD der Firmware kommt nur nach dem ersten Paket ein Interrupt, und dann nicht mehr).
Viele Grüße,
Andi
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Genau. Bootloader Patch und Firmware lade ich beide per HOST_LOAD vom Microcontroller aus mit der selben Funktion.Andi_Bayern hat geschrieben: ...
Lädst du die eigentliche Firmware (also die ~500kB großen .bif-Files) per HOST_LOAD oder per FLASH_LOAD?
...
Allerdings reagiere ich nicht auf die Interrupts sondern mache das derzeit noch über Timing.
Zwischen jedem Paket warte ich 1ms. Als Paketgröße nehme ich im Moment 2048 statt der maximalen 4096 Byte.
Am Ende der Übertragung warte ich nochmal 4ms, lese dann die 4 Byte grosse Antwort zurück (vorher 1 Byte 0 senden) und warte nochmal 4ms bis zum nächsten Befehl.
Bei den Versionen nutze ich momentan die DAB 3.2.4 und den Bootloader Patch 016.
Edit: ich sehe gerade, ich lade tatsächlich nur den Full Patch, nicht den Mini Patch rüber.
Gruß
Björn
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Ok. Hast du mal geschaut, ob nach jedem der HOST_LOAD Pakete ein Interrupt käme? (würde mich interessieren).df1bb hat geschrieben:...
Allerdings reagiere ich nicht auf die Interrupts sondern mache das derzeit noch über Timing.
Zwischen jedem Paket warte ich 1ms.
Das dürfte in dem Fall kein Problem sein - lt. dem Programming Guide braucht man den Mini Patch (der nach dem Full Patch geladen wird) nur, wenn man anschließend per FLASH_LOAD eine Firmware laden will.Edit: ich sehe gerade, ich lade tatsächlich nur den Full Patch, nicht den Mini Patch rüber.
Ich habe jedenfalls mit dem Laden der eigentlichen Firmware per HOST_LOAD weder mit, noch ohne MiniPatch Erfolg.
Viele Grüße,
Andi
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Habe gerade mal nachgeschaut. Nach dem HOST_LOAD bleibt INTB wohl noch low und geht dann nach dem ersten Paket auf high.Andi_Bayern hat geschrieben: ...
Ok. Hast du mal geschaut, ob nach jedem der HOST_LOAD Pakete ein Interrupt käme? (würde mich interessieren).
...
Danach geht es nach jedem Paket einmal kurz auf low dann wieder high.
Ich habe mal Screenshots vom Logic Analyser gemacht:
[attachment 3567 SI4688_SPI_Logic_1.png]
Das ist nach dem ersten übertragenen Paket.
[attachment 3568 SI4688_SPI_Logic_2.png]
Hier sieht man noch den Read Befehl nach dem Bootloader Patch, das HOST_LOAD Command und dann die ersten fünf Pakete.
Bei Interesse kann ich dir auch gerne die Rohdaten hochladen.
Gruß
Björn
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Komisch, bei mir verhält sich das anders. Ich bekomme nur nach dem ersten Paket einen Interrupt und dann nicht mehr.df1bb hat geschrieben:...
Habe gerade mal nachgeschaut. Nach dem HOST_LOAD bleibt INTB wohl noch low und geht dann nach dem ersten Paket auf high.
Danach geht es nach jedem Paket einmal kurz auf low dann wieder high.
Ja, gerne.Bei Interesse kann ich dir auch gerne die Rohdaten hochladen.
Noch eine Frage: Welchen Oszillator verwendest du? Einen Quarz oder einen kompletten Oszillator?
Viele Grüße,
Andi
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Ok lade ich dir heute Abend hoch. Sind für die Software vom Saleae Logic.Andi_Bayern hat geschrieben: Noch eine Frage: Welchen Oszillator verwendest du? Einen Quarz oder einen kompletten Oszillator?
Ich benutze derzeit einen 12MHz Quarz am SI4688.
Gruß
Björn
Re: Si4684 / Si4688 - FM / DAB(+) Empfängerchip
Das trifft sich schon mal gut - genau den habe ich auch im Einsatz.df1bb hat geschrieben:...
Sind für die Software vom Saleae Logic.
Viele Grüße,
Andi