Re: Geschwindigkeit drosseln Kategorie: I²C-Bus (von KönigDichBauch - 8.10.2005 16:48) | ||
Als Antwort auf Re: Geschwindigkeit drosseln von André H. - 8.10.2005 16:20 | ||
| ||
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: Re: Geschwindigkeit drosseln (von Andi B. - 11.10.2005 12:49) |