Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Geschwindigkeit drosseln Kategorie: I²C-Bus (von Andi B. - 11.10.2005 12:49)
Als Antwort auf Re: Geschwindigkeit drosseln von KönigDichBauch - 8.10.2005 16:48
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, eigenes Board, OSOPT_V2
Hallo KönigDickBauch,

ich hatte so ein ähnliches Problem mit einem EEPROM,

die meiste Zeit hat es richtig gelesen und geschrieben aber wenn nicht dann ging der Punk ab,

Problem war der Bus hatte keine 3,3 K gegen plus 5V

und siehe da 100% tige funktion.

MfG. Andi B.

> Hallo André
>
> > Nein, das ist nicht so einfach möglich.
> > Um die Geschwindigkeit zu drosseln, müssten die Routinen im OS abgeändert werden.
>
> Hat ich mir gedacht. Daher die Frage. Hät ja sein können, das man einfach an einem Register dreht.
>
> > Was ist das für ein Baustein ? (Datenblatt?)
> > Ich kenne keine I²C-Bus-ICs, für die ein 100kHz I²C-Bus zu schnell ist.
>
> Das ist der P87LPC764. Da habe ich zwei Beobachtungen gemacht.
>
> 1) Wenn er mit ~6Mhz Eigentakt läuft, dann werden die SCL signale doch sehr gestreckt. Und damit
>     kommt ja CCII ja nicht zurecht.
>
> 2) Lä�t man ihn mit 20Mhz externen Clock laufen, dann darf man keinen "aufgeräumten" Source haben.
>     Die Interruptroutine muÃ? man ja selbst schreiben. Verwendet man C und nicht ASM, dann darf man
>     nach der Erkennung der eigenen Adresse keine Subroutine aufrufen für die Bestätigung abschickt,
>     sondern  muÃ? das Ack direkt hinschreiben. (Habs mir jetzt als Inline/define gelöst). Ansonsten siehe 1)
>
> Jetz habe ich nur noch das "Problem" das wenn der Bausteien gerade einen übergeordneten Interrupt
> ausführt der I2C interrupt zu spät abgearbeitet wird. Mu� halt mehr mals fragen. Der Aussetzer liegt bei
> unter 0.01%.
>
> > Dir bleibt, wenn wirklich 100kHz zu schnell sind, nichts anderes übrig,
> > als das was Jörg bereits gepostet hat, und einen I²C-Bus über i2cext.c2 zu emulieren.
> > Die Geschwindigkeit sollte dann ca. 1/13 des internen I²C-Busses betragen.
>
> Ja, das wäre wohl die letzte Rettung gewesen. Aber ich wu�t mir ja zu helfen. 20Mhz und inline.
>
> GruÃ?
> KönigDickBauch


    Antwort schreiben


Antworten: