Re: Clockstretching Kategorie: I²C-Bus (von André H. - 27.11.2005 17:07) | ||
Als Antwort auf Clockstretching von KönigDichBauch - 21.10.2005 11:43 | ||
| ||
Hallo Thomas, > An verschiedenen Stellen schreibst du was über das Clockstretching. > > Hier hab ich einen Phillips-bautein den P87LPC764 > Bitte unterscheide zwischen I²C-Bus-Bausteinen und µController, die als Slave betrieben werden, da i.d.R. nur diese Clockstreching benötigen. > Wäre super schön wenn du die Zeit finden würdest, das ins OS einzubinden. Ich bin am �berlegen, die I²C-Routinen komplett zu überarbeiten. Jedoch werde ich dann nur Clockstreching nur eingeschränkt implementieren. D.h., es wird ein Timeout geben und nicht beliebig lange auf die "Freigabe" von SCL gewartet. Das ist notwendig, da die I²C-Bus-Routinen nicht im Hintergrund ausgeführt werden und somit das Programm verzögern würden, wenn z.B. SCL aus irgendeinem Grund auf low gezogen würde. Evtl. werde ich auch sehen, da� ich eine Art Hintergrundausgabe beim I²C-Bus mache, wie es beispielsweise bei den COM-Send-Routinen der Fall ist. Aber dafür brauche ich etwas mehr Zeit am Stück. Ich habe testweise die original I²C-Read-Routine modifiziert, die ein Timeout von 1024 Schleifendurchläufen bei jedem Clock-Zyklus hat. Eine Timeout-Schleife sieht hier so aus: MOV R10, #0400h _i2cR2: CMPD1 R10, #0h JMPR cc_EQ, _i2cR2a JNB MRST,_i2cR2 _i2cR2a: Zusätzlich ist habe ich die Clockleitung von Push-Pull in OD geändert wie es beim I²C-Bus natürlich sein soll. Ich verwende derzeit dieses einfache Clockstreching für experimentelle ASM-Routinen zum eDIP240, da die CC2 in ASM einfach viel zu schnell ist, damit der Controller des Displays bei der Datenübertragung hinterherkommt. Die komplette Routine kann ich aber derzeit nicht veröffentlichen, da ich hier etwas zu viel probiert habe und der Code entsprechend aussieht. ;-) Vielleicht werde ich übergangsweise auch ein ASM-Modul schreiben, welches statt den OS die I²C-Bus-Routinen verwendet werden kann. Das wäre auf jeden Fall kurzfristiger realisierbar und OS-unabhängig. MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: Clockstretching (von KönigDichBauch - 28.11.2005 9:02) |