i2c

Boxenweitwurf
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

i2c

Beitrag von ChakaZulu »

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
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

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.
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

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
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

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?
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi,

ich wollte da eine RTC reinbauen. Sowas kostet ja nicht viel und ich hab's beim reichelt mal so nebenbei mitbestellt :)
Sollte die Box draufgehen wär's natürlich ein bisschen teurer ;)

ciao,

ChakaZulu
Liontamer
Klöppelliese
Beiträge: 1644
Registriert: Donnerstag 8. August 2002, 12:51

Beitrag von Liontamer »

Halte uns mal bitte auf dem laufenden. Daran bin ich auch interessiert :D

Edit:
Da fällt mir ein, wieso nutzt die box eigentlich nicht die RTC des Frontprozessors? Der hat doch auch die Uhrzeit im deep standby. Oder lässt sich der FP nicht zurücklesen?
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Ja das würde mich auch interessieren, denn momentan gibts mit der Uhr ja massive Probleme. Wenn man da keinen DSL Anschluß an der Box hat klappen öfters die Aufnahmen nicht weil die Uhr mehre Minuten nachgeht.

Gruß Gorcon
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

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 :oops: ;)

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
schufti
Einsteiger
Einsteiger
Beiträge: 352
Registriert: Freitag 20. August 2004, 23:33

Beitrag von schufti »

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
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi,

ups, da habe ich mich mal wieder als Hardwarelaie geoutet ;) und dazu noch um 10^3 vertan. Natürlich sind 32768Hz 32,768kHz...

ciao,

ChakaZulu
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi,

so, ich bekomme jetzt immerhin ne Uhrzeit :)

Hier mal ein paar Bilder meiner Sagem Kabelbox:

Bild

Links ist die Datenleitung, rechts der Takt.
Bild

Hier sind nur die markierten Stellen relevant, die anderen sind für die LED-Disko ;)
Oben ist GND, unten +5V.
Bild

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
Papst
Developer
Beiträge: 279
Registriert: Mittwoch 26. Juni 2002, 22:19

Beitrag von Papst »

Bezüglich Frontprozessor und RTC hat Zwen mir schonmal folgendes geantwortet:
Zwen hat geschrieben:
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?
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...
Zwen
Gruß

Der Papst
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi,

hm, was soll mir das jetzt sagen? Da es eben nur ein Timer ist, habe ich eine richtige Uhr reingebaut.

ciao,

ChakaZulu
Papst
Developer
Beiträge: 279
Registriert: Mittwoch 26. Juni 2002, 22:19

Beitrag von Papst »

Das galt eigentlich dem Beitrag weiter oben von Liontamer.
Gruß

Der Papst
Liontamer
Klöppelliese
Beiträge: 1644
Registriert: Donnerstag 8. August 2002, 12:51

Beitrag von Liontamer »

@Papst
Danke für die Info :)
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

@ChakaZulu
Und das ganze funktioniert ohne überhaupt etwas an der Software zu ändern?

Wie wird die Uhr denn überhaupt gestellt, oder syncronisiert die sich dann mit der Box?
Was ist bei Sommer/Winterzeitumstellung?

Gruß Gorcon
zexma
Tuxboxer
Tuxboxer
Beiträge: 2067
Registriert: Mittwoch 6. März 2002, 15:29

Beitrag von zexma »

Gorcon hat geschrieben:@ChakaZulu
Und das ganze funktioniert ohne überhaupt etwas an der Software zu ändern?
Gruß Gorcon
ChakaZulu hat geschrieben:Softwaremässig muss das dann auch erst noch eingebaut werden...
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

:oops: ... überlesen.

Gruß Gorcon
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

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
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

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
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

@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
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi houdini,

danke schön, ich werd's mir anschauen. Ich gehe mal davon aus, dass ich Teile davon weiterverwursten kann (sonst hättest Du es ja bestimmt nicht hier veröffentlicht ;)).

thx,

ChakaZulu
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Ich gehe mal davon aus, dass ich Teile davon weiterverwursten kann
yep
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

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
zexma
Tuxboxer
Tuxboxer
Beiträge: 2067
Registriert: Mittwoch 6. März 2002, 15:29

Beitrag von zexma »

Hi ChakaZulu, danke für das coole "Projekt" :wink:
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