i2c
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
i2c
hi,
kann man an den i2c-Bus der Box einfach einen weiteren Chip anschliessen, oder bringt das die Kommunikation durcheinander? In einem anderen Thread habe ich gelesen, dass der Bus teilweise ein/ausgeschaltet wird, wo müsste ich ggf. meinen Chip/Schaltung anschliessen?
ciao,
ChakaZulu
kann man an den i2c-Bus der Box einfach einen weiteren Chip anschliessen, oder bringt das die Kommunikation durcheinander? In einem anderen Thread habe ich gelesen, dass der Bus teilweise ein/ausgeschaltet wird, wo müsste ich ggf. meinen Chip/Schaltung anschliessen?
ciao,
ChakaZulu
-
- Senior Member
- Beiträge: 1339
- Registriert: Donnerstag 24. April 2003, 12:12
Ja, wenn er elektrisch richtig angeschlossen wird und der Chip keine ID benutzt, die schon vergeben ist, sollte das funktionieren.
Ausgeschaltet wird nur die Verbindung Demod<->PLL, also da besser nicht anklemmen (Frontend).
Achso, und möglichst kurze Kabelwege verwenden, in der Vergangenheit sind bei Experimenten wohl schon die Ausgangstreiber in der CPU geschrottet worden weil die Last auf dem Bus zu groß wurde.
Ausgeschaltet wird nur die Verbindung Demod<->PLL, also da besser nicht anklemmen (Frontend).
Achso, und möglichst kurze Kabelwege verwenden, in der Vergangenheit sind bei Experimenten wohl schon die Ausgangstreiber in der CPU geschrottet worden weil die Last auf dem Bus zu groß wurde.
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
ok, danke. Leider gibt es ja nur für die Nokia's einen Schaltplan, unterscheidet sich der in dieser Hinsicht von der Sagem-Kabelbox? Wenn ja, wo ist der Bus dann verfügbar?IIC soll doch I2C heissen, oder?
Wieviel die Treiber verkraften, ist dann wohl nicht wirklich bekannt, oder?
ciao,
ChakaZulu
ok, danke. Leider gibt es ja nur für die Nokia's einen Schaltplan, unterscheidet sich der in dieser Hinsicht von der Sagem-Kabelbox? Wenn ja, wo ist der Bus dann verfügbar?IIC soll doch I2C heissen, oder?
Wieviel die Treiber verkraften, ist dann wohl nicht wirklich bekannt, oder?
ciao,
ChakaZulu
-
- Senior Member
- Beiträge: 1339
- Registriert: Donnerstag 24. April 2003, 12:12
Normalerweise ja (Inter-IC Bus).
Wieviel Last der Treiber verträgt dürfte sich sicherlich im Datenblatt des MPC wiederfinden. Aber bei den langen Kabel dürfte weniger der Strom eine Rolle spielen als vielmehr die reaktive Last.
Ich denke mal, es kommt dabei an den Schaltflanken zu Spannungsspitzen, die dann wohl über kurz oder lang die Ausgangstreiber schrotten.
Man kann natürlich auch einen Puffer zwischenhängen, dann ist man auf der sicheren Seite.
Was möchtest du denn eigentlich da ranhängen?
Wieviel Last der Treiber verträgt dürfte sich sicherlich im Datenblatt des MPC wiederfinden. Aber bei den langen Kabel dürfte weniger der Strom eine Rolle spielen als vielmehr die reaktive Last.
Ich denke mal, es kommt dabei an den Schaltflanken zu Spannungsspitzen, die dann wohl über kurz oder lang die Ausgangstreiber schrotten.
Man kann natürlich auch einen Puffer zwischenhängen, dann ist man auf der sicheren Seite.
Was möchtest du denn eigentlich da ranhängen?
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
ich bin mir jetzt nicht ganz sicher, wo ich den i2c bus abgreifen soll. Scheinbar sind die ICs mit jeweils einem 33 (k?)Ohm Widerstand an den Bus angeschlossen (zur Entkopplung?). Sollte ich das genauso handhaben oder kann ich direkt an die Pins z.B. vom SAA dran gehen? Ich hätte es ja schon einfach mal ausprobiert, aber ich habe ausversehen einen falschen Quarz bestellt
ach ja, diese Seite habe ich gefunden, allerdings habe ich hier einen ds1307 und keinen ds1302 (Pinbelegung etwas anders). Allerdings hat Reichelt keine 32.768MHz Quarze, ich habe nicht genau hingeschaut und einen 3.2768MHz bestellt...
http://www.acmesystems.it/?id=105
ciao,
ChakaZulu
ich bin mir jetzt nicht ganz sicher, wo ich den i2c bus abgreifen soll. Scheinbar sind die ICs mit jeweils einem 33 (k?)Ohm Widerstand an den Bus angeschlossen (zur Entkopplung?). Sollte ich das genauso handhaben oder kann ich direkt an die Pins z.B. vom SAA dran gehen? Ich hätte es ja schon einfach mal ausprobiert, aber ich habe ausversehen einen falschen Quarz bestellt
ach ja, diese Seite habe ich gefunden, allerdings habe ich hier einen ds1307 und keinen ds1302 (Pinbelegung etwas anders). Allerdings hat Reichelt keine 32.768MHz Quarze, ich habe nicht genau hingeschaut und einen 3.2768MHz bestellt...
http://www.acmesystems.it/?id=105
ciao,
ChakaZulu
-
- Einsteiger
- Beiträge: 352
- Registriert: Freitag 20. August 2004, 23:33
Hi,
ich will dich nicht enttäuschen, aber mit einem 32,768MHz Quarz wird's wohl nicht gehen. Außer du legst Wert darauf, dass die Zeit wie im Flug vergeht ;-)
Uhrenquarze sind im allgemeinen 32768 Hz oder eben 32,768kHz , also besser noch mal kontrollieren!
Was die Zerstörung der CPU angeht, so kann ich mir das nur vorstellen, wenn der IIC direkt an den CPU Anschlüssen abgegriffen und damit die Pegelwandler umgangen wurden (CPU: 3,3V IIC: 5V).
(Die Pegelwandlung wurde bei Nokia mit einem sehr eleganten Ansatz gelöst, hat aber einen Designfehler: die Pullups auf der 3,3V Seite gehen gegen 5V...hat wohl jemand beim Abkupfern aus den Philips Applicationnotes geschludert)
Da IIC ein open Kollektor Design ist, arbeiten alle Devices gegen die Pullups am Bus (ca. 3k) daher sind es eher 33 Ohm zur 'Entkopplung' (mit 33kOhm kann man gegen einen 3kOhm Pullup wohl nichts ausrichten).
hth,
schufti
ich will dich nicht enttäuschen, aber mit einem 32,768MHz Quarz wird's wohl nicht gehen. Außer du legst Wert darauf, dass die Zeit wie im Flug vergeht ;-)
Uhrenquarze sind im allgemeinen 32768 Hz oder eben 32,768kHz , also besser noch mal kontrollieren!
Was die Zerstörung der CPU angeht, so kann ich mir das nur vorstellen, wenn der IIC direkt an den CPU Anschlüssen abgegriffen und damit die Pegelwandler umgangen wurden (CPU: 3,3V IIC: 5V).
(Die Pegelwandlung wurde bei Nokia mit einem sehr eleganten Ansatz gelöst, hat aber einen Designfehler: die Pullups auf der 3,3V Seite gehen gegen 5V...hat wohl jemand beim Abkupfern aus den Philips Applicationnotes geschludert)
Da IIC ein open Kollektor Design ist, arbeiten alle Devices gegen die Pullups am Bus (ca. 3k) daher sind es eher 33 Ohm zur 'Entkopplung' (mit 33kOhm kann man gegen einen 3kOhm Pullup wohl nichts ausrichten).
hth,
schufti
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
so, ich bekomme jetzt immerhin ne Uhrzeit
Hier mal ein paar Bilder meiner Sagem Kabelbox:
Links ist die Datenleitung, rechts der Takt.
Hier sind nur die markierten Stellen relevant, die anderen sind für die LED-Disko
Oben ist GND, unten +5V.
Ich werde nochmal meine andere Box umbauen (und dann hoffentlich schönere Löstellen produzieren ), dann auch eine hübschere Platine machen und alles im Wiki dokumentieren.
Wenn noch jemand Verbesserungen vorschlagen kann, dann immer her damit.
Da die diversen Boxmodelle versch. Chips benutzen hier nochmal zur Erinnerung: die Bilder sind von einer Sagem Kabelbox. Und wenn das jemand nachbaut, so macht Ihr das auf eigene Gefahr. Insbesondere könnt ihr sowohl Euch selbst als auch die Box töten (Netzspannung, Kondensatoren etc.)
Und nicht zu lange die Pads brutzeln! Ich hatte dann plötzlich überhaupt keinen I2C-Bus mehr und die Box startete natürlich nicht mehr, weil sich das komplette Pad vom Board gelöst hatte.
Softwaremässig muss das dann auch erst noch eingebaut werden...
ciao,
ChakaZulu
so, ich bekomme jetzt immerhin ne Uhrzeit
Hier mal ein paar Bilder meiner Sagem Kabelbox:
Links ist die Datenleitung, rechts der Takt.
Hier sind nur die markierten Stellen relevant, die anderen sind für die LED-Disko
Oben ist GND, unten +5V.
Ich werde nochmal meine andere Box umbauen (und dann hoffentlich schönere Löstellen produzieren ), dann auch eine hübschere Platine machen und alles im Wiki dokumentieren.
Wenn noch jemand Verbesserungen vorschlagen kann, dann immer her damit.
Da die diversen Boxmodelle versch. Chips benutzen hier nochmal zur Erinnerung: die Bilder sind von einer Sagem Kabelbox. Und wenn das jemand nachbaut, so macht Ihr das auf eigene Gefahr. Insbesondere könnt ihr sowohl Euch selbst als auch die Box töten (Netzspannung, Kondensatoren etc.)
Und nicht zu lange die Pads brutzeln! Ich hatte dann plötzlich überhaupt keinen I2C-Bus mehr und die Box startete natürlich nicht mehr, weil sich das komplette Pad vom Board gelöst hatte.
Softwaremässig muss das dann auch erst noch eingebaut werden...
ciao,
ChakaZulu
-
- Developer
- Beiträge: 279
- Registriert: Mittwoch 26. Juni 2002, 22:19
Bezüglich Frontprozessor und RTC hat Zwen mir schonmal folgendes geantwortet:
Zwen hat geschrieben:Das "Aufwachen der Box" wird schon beim runterfahren programmiert. Die Box hat hierzu einen Timer, den man füttern kann. Diesem Timer sagt man in wieviel Minuten, die Box wieder aufwachen soll. Sie merkt sich also keine Uhrzeiten o.ä. sondern zählt lediglich Minuten runter...Papst hat geschrieben:Ist zwar hier ein bisschen OT aber die Frage kam mir hier grade in den Sinn.
Wieso startet die Box eigentlich pünktlich aus dem Deep Standby, hat aber sonst nach dem Start eine Zeit die nachm Mond geht? Sprich wenn die Uhrzeit im DeepStandby nicht weiterläuft, wie kann die Box dann pünktlich starten?
Zwen
Gruß
Der Papst
Der Papst
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
-
- Developer
- Beiträge: 279
- Registriert: Mittwoch 26. Juni 2002, 22:19
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
-
- Tuxboxer
- Beiträge: 2067
- Registriert: Mittwoch 6. März 2002, 15:29
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
@Papst: ach so, ich hatte die Beiträge weiter oben nicht mehr im Kopf
Zur Software: eigentlich hatte ich vor, das sich die Uhr wie ein Standard-RTC-Chip verhält, so dass die üblichen Tools wie hwclock funktionieren. Allerdings scheint das mit einer I2C-Uhr nicht so einfach zu sein bzw. es muss viel Code dupliziert werden. Da gab es auch schon einige Diskussionen auf der LKML dazu, weil es richtig gute und portable Lösung gibt (zumindest für 2.4). Falls jemand Vorschläge hat, her damit.
Ansonsten muss man halt selber ein Tool schreiben, ist nicht so schwer. Wie man das dann mit den timezones macht, weiss ich aber bisher aucht nicht (es gibt aber tz* Funktionen, mal schauen)
ciao,
ChakaZulu
@Papst: ach so, ich hatte die Beiträge weiter oben nicht mehr im Kopf
Zur Software: eigentlich hatte ich vor, das sich die Uhr wie ein Standard-RTC-Chip verhält, so dass die üblichen Tools wie hwclock funktionieren. Allerdings scheint das mit einer I2C-Uhr nicht so einfach zu sein bzw. es muss viel Code dupliziert werden. Da gab es auch schon einige Diskussionen auf der LKML dazu, weil es richtig gute und portable Lösung gibt (zumindest für 2.4). Falls jemand Vorschläge hat, her damit.
Ansonsten muss man halt selber ein Tool schreiben, ist nicht so schwer. Wie man das dann mit den timezones macht, weiss ich aber bisher aucht nicht (es gibt aber tz* Funktionen, mal schauen)
ciao,
ChakaZulu
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
Wie darf ich mir das vorstellen? Wird es "externes" Programm sein das sich jeder selbst einbauen kann, oder muß das "fest" ins eingebaut werden.
Bei letzterem hätte ich dann meine Probleme, da ich bis jetzt noch nie ein Image selbst gebaut habe.
Ein Plugin einzubinden dagegen sollte für mich kein größeres Problem darstellen.
Gruß Gorcon
Bei letzterem hätte ich dann meine Probleme, da ich bis jetzt noch nie ein Image selbst gebaut habe.
Ein Plugin einzubinden dagegen sollte für mich kein größeres Problem darstellen.
Gruß Gorcon
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
@ChakaZulu
ich hab mal für unser Custom ppc board einen Treiber für eine i2c rtc reingedengelt. Es war zwar ganz zu Anfang meiner Linuxzeit aber vielleicht hilfts dir.
http://home.arcor.de/houdini/dbox/rtc/rtc.tgz
- basiert auf i2c-2.8.4 (i2c ist bei der dbox ja eh speziell)
- treiber für mt41t00
- Änderungen die ich 2.4.26 Kernel gemacht habe (nicht nur rtc spezifisch)
- user mode Program zum Setzen der Uhr (setzt utc Eingabe voraus )
Houdini
ich hab mal für unser Custom ppc board einen Treiber für eine i2c rtc reingedengelt. Es war zwar ganz zu Anfang meiner Linuxzeit aber vielleicht hilfts dir.
http://home.arcor.de/houdini/dbox/rtc/rtc.tgz
- basiert auf i2c-2.8.4 (i2c ist bei der dbox ja eh speziell)
- treiber für mt41t00
- Änderungen die ich 2.4.26 Kernel gemacht habe (nicht nur rtc spezifisch)
- user mode Program zum Setzen der Uhr (setzt utc Eingabe voraus )
Houdini
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
hm, die erforderlichen Änderungen scheinen mir zwar nicht soo umfangreich, allerdings ist es wohl dann nicht so einfach möglich, ein Image einfach um RTC-Unterstützung zu erweitern. Im Moment bin ich wieder eher folgender Lösung zugeneigt:
- Beim Start Treibermodul laden
- danach Konsolenprogramm ausführen, dass die Systemzeit setzt
- beim Herunterfahren Konsolenprogramm ausführen, dass die Systemzeit in die RTC überträgt
Die Zeit würde dann in UTC oder sonstwas gespeichert, das Konsolenprogramm müsste sich dann um die Umrechnung in lokale Zeit und zurück kümmern.
Ein bestehendes Image könnte man dann relativ leicht erweitern.
Unter http://wiki.tuxbox-cvs.sourceforge.net/RealTimeClock habe ich mal einen Wikiartikel angefangen, vielleicht schaut ihr mal drüber. Er ist noch nicht verlinkt (z.B. in Hardware:Erweiterungen), da noch nicht so ganz fertig
ciao,
ChakaZulu
hm, die erforderlichen Änderungen scheinen mir zwar nicht soo umfangreich, allerdings ist es wohl dann nicht so einfach möglich, ein Image einfach um RTC-Unterstützung zu erweitern. Im Moment bin ich wieder eher folgender Lösung zugeneigt:
- Beim Start Treibermodul laden
- danach Konsolenprogramm ausführen, dass die Systemzeit setzt
- beim Herunterfahren Konsolenprogramm ausführen, dass die Systemzeit in die RTC überträgt
Die Zeit würde dann in UTC oder sonstwas gespeichert, das Konsolenprogramm müsste sich dann um die Umrechnung in lokale Zeit und zurück kümmern.
Ein bestehendes Image könnte man dann relativ leicht erweitern.
Unter http://wiki.tuxbox-cvs.sourceforge.net/RealTimeClock habe ich mal einen Wikiartikel angefangen, vielleicht schaut ihr mal drüber. Er ist noch nicht verlinkt (z.B. in Hardware:Erweiterungen), da noch nicht so ganz fertig
ciao,
ChakaZulu
-
- Tuxboxer
- Beiträge: 2067
- Registriert: Mittwoch 6. März 2002, 15:29
Hi ChakaZulu, danke für das coole "Projekt"
Vielleicht eine alternative/einfachere Möglichkeit den I²C bei Sagem abzugreifen?
Hätte den Vorteil, dass man nicht an den den Anschlußpads der SMD-devices löten müsste.
[img]http://retec.mine.nu/SAGEM_I²C-SDA_SCL.jpg[/img]
© by Friedel
Vielleicht eine alternative/einfachere Möglichkeit den I²C bei Sagem abzugreifen?
Hätte den Vorteil, dass man nicht an den den Anschlußpads der SMD-devices löten müsste.
[img]http://retec.mine.nu/SAGEM_I²C-SDA_SCL.jpg[/img]
© by Friedel