
| 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: | ||