<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://rn-wissen.de/wiki/index.php?action=history&amp;feed=atom&amp;title=Clock_Stretching</id>
		<title>Clock Stretching - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://rn-wissen.de/wiki/index.php?action=history&amp;feed=atom&amp;title=Clock_Stretching"/>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;action=history"/>
		<updated>2026-04-11T15:10:20Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in RN-Wissen.de</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=5472&amp;oldid=prev</id>
		<title>Luma am 19. Januar 2006 um 14:41 Uhr</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=5472&amp;oldid=prev"/>
				<updated>2006-01-19T14:41:50Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 19. Januar 2006, 14:41 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L3&quot; &gt;Zeile 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der [[I2C ]] benutzt lediglich zwei bidirektionale Pins [ TaktSCL und DatenSDA] sowie GND. Takt- und Datenleitung sind meist mit Pull-Up-Widerständen an die positive Versorgungsspannung angeschlossen [Wired-AND] . Der Bus arbeitet meist mit 100 kbit/s im ''Standard-Modus'', lässt sich jedoch auch in einen langsamen Modus schalten, bei dem dann 10 kbit/s uebertragen werden können. Modernere Implementierungen und entsprechende Chips lassen Datenraten von 400 kbit/s bis ueber 3,4 Mbit/s zu.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der [[I2C ]] benutzt lediglich zwei bidirektionale Pins [ TaktSCL und DatenSDA] sowie GND. Takt- und Datenleitung sind meist mit Pull-Up-Widerständen an die positive Versorgungsspannung angeschlossen [Wired-AND] . Der Bus arbeitet meist mit 100 kbit/s im ''Standard-Modus'', lässt sich jedoch auch in einen langsamen Modus schalten, bei dem dann 10 kbit/s uebertragen werden können. Modernere Implementierungen und entsprechende Chips lassen Datenraten von 400 kbit/s bis ueber 3,4 Mbit/s zu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der Bus ist als Master-Slave-Bus konzipiert. Der Master sendet und ein Slave reagiert darauf. Mehrere Master sind möglich [Multimaster-Mode] . Die Buszuteilung [Arbitrierung] ist dabei per Spezifikation geregelt. Prinzipiell können verschieden schnelle Busteilnehmer [Geräte/Boards] parallel an einem Bus betrieben werden. Ist ein Slave-Gerät langsamer als der immer durch den Master vorgegebene Bustakt SCL kann es durch ''clock stretching'' den Master während des Bit-Transfers definiert bremsen. Dabei wird die SCL-Leitung vom Slave solange auf logisch Null gehalten, bis er das nächste Bit empfangen bzw. senden kann. Dies ist wegen der Wired-AND-Verschaltung von SDA und SCL jedem Gerät am Bus möglich. Voraussetzung ist dabei jedoch, dass die Start- und Stopp-Bedingungen [ d.h. eine Pegelaenderung an SDA &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;waehrend &lt;/del&gt;SCL logisch 1 ist] vom langsamen Gerät auch dekodiert werden können. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der Bus ist als Master-Slave-Bus konzipiert. Der Master sendet und ein Slave reagiert darauf. Mehrere Master sind möglich [Multimaster-Mode] . Die Buszuteilung [Arbitrierung] ist dabei per Spezifikation geregelt. Prinzipiell können verschieden schnelle Busteilnehmer [Geräte/Boards] parallel an einem Bus betrieben werden. Ist ein Slave-Gerät langsamer als der immer durch den Master vorgegebene Bustakt SCL kann es durch ''clock stretching'' den Master während des Bit-Transfers definiert bremsen. Dabei wird die SCL-Leitung vom Slave solange auf logisch Null gehalten, bis er das nächste Bit empfangen bzw. senden kann. Dies ist wegen der Wired-AND-Verschaltung von SDA und SCL jedem Gerät am Bus möglich. Voraussetzung ist dabei jedoch, dass die Start- und Stopp-Bedingungen [d.h. eine Pegelaenderung an SDA &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;während &lt;/ins&gt;SCL logisch 1 ist] vom langsamen Gerät auch dekodiert werden können. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Da ''Clock Stretching'' anfangs nur von weniger Schaltkreisen / Geräten benutzt wurde, sind viele [[I2C]]-Routinen entstanden, die diesen Modus nicht berücksichtigen. Insbesondere im Hobby-Bereich wurde die notwendige Überwachung der I2C-Leitung Clock einfach weggelassen. Das Master &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;verläßt &lt;/del&gt;sich somit darauf, dass nach Freigabe der Clock Leitung diese sofort wieder über einen Pullup-Widerstand auf High gezogen wird. Es wird nicht hinterfragt, ob der Slave die Leitung weiterhin auf Low zieht, um noch etwas Zeit für seine Operation zu haben. Solche I2C-Routinen sind leider noch in sehr vielen &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Libarys &lt;/del&gt;oder Programmen enthalten, was &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;letzlich &lt;/del&gt;bei Geräten, die ''Clock Streching'' nutzen, zu erheblichen Problemen führt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Da ''Clock Stretching'' anfangs nur von weniger Schaltkreisen / Geräten benutzt wurde, sind viele [[I2C]]-Routinen entstanden, die diesen Modus nicht berücksichtigen. Insbesondere im Hobby-Bereich wurde die notwendige Überwachung der I2C-Leitung Clock einfach weggelassen. Das Master &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;verlässt &lt;/ins&gt;sich somit darauf, dass nach Freigabe der Clock Leitung diese sofort wieder über einen Pullup-Widerstand auf High gezogen wird. Es wird nicht hinterfragt, ob der Slave die Leitung weiterhin auf Low zieht, um noch etwas Zeit für seine Operation zu haben. Solche I2C-Routinen sind leider noch in sehr vielen &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Libraries &lt;/ins&gt;oder Programmen enthalten, was &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;letztlich &lt;/ins&gt;bei Geräten, die ''Clock Streching'' nutzen, zu erheblichen Problemen führt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Neuere Compiler-Versionen wie z.B. [[Bascom ]] berücksichtigen Clock Stretching.&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Neuere Compiler-Versionen wie z.B. [[Bascom ]] berücksichtigen Clock Stretching.&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Luma</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=4863&amp;oldid=prev</id>
		<title>SprinterSB_alt: /* Siehe auch */</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=4863&amp;oldid=prev"/>
				<updated>2006-01-05T15:13:05Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Siehe auch&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 5. Januar 2006, 15:13 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L15&quot; &gt;Zeile 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:Microcontroller]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:Microcontroller]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Software&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Kommunikation&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:Grundlagen]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:Grundlagen]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:Elektronik]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:Elektronik]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>SprinterSB_alt</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=3592&amp;oldid=prev</id>
		<title>PicNick am 11. Dezember 2005 um 11:39 Uhr</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=3592&amp;oldid=prev"/>
				<updated>2005-12-11T11:39:42Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 11. Dezember 2005, 11:39 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L3&quot; &gt;Zeile 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der [[I2C ]] benutzt lediglich zwei bidirektionale Pins [ TaktSCL und DatenSDA] sowie GND. Takt- und Datenleitung sind meist mit Pull-Up-Widerständen an die positive Versorgungsspannung angeschlossen [Wired-AND] . Der Bus arbeitet meist mit 100 kbit/s im ''Standard-Modus'', lässt sich jedoch auch in einen langsamen Modus schalten, bei dem dann 10 kbit/s uebertragen werden können. Modernere Implementierungen und entsprechende Chips lassen Datenraten von 400 kbit/s bis ueber 3,4 Mbit/s zu.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der [[I2C ]] benutzt lediglich zwei bidirektionale Pins [ TaktSCL und DatenSDA] sowie GND. Takt- und Datenleitung sind meist mit Pull-Up-Widerständen an die positive Versorgungsspannung angeschlossen [Wired-AND] . Der Bus arbeitet meist mit 100 kbit/s im ''Standard-Modus'', lässt sich jedoch auch in einen langsamen Modus schalten, bei dem dann 10 kbit/s uebertragen werden können. Modernere Implementierungen und entsprechende Chips lassen Datenraten von 400 kbit/s bis ueber 3,4 Mbit/s zu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der Bus ist als Master-Slave-Bus konzipiert. Der Master sendet und ein Slave reagiert darauf. Mehrere Master sind möglich [Multimaster-Mode] . Die Buszuteilung [Arbitrierung] ist dabei per Spezifikation geregelt. Prinzipiell können verschieden schnelle Busteilnehmer [Geräte/Boards] parallel an einem Bus betrieben werden. Ist ein Slave-Gerät langsamer als der immer durch den Master vorgegebene Bustakt SCL kann es durch ''clock stretching'' den Master während des Bit-Transfers definiert bremsen. Dabei wird die SCL-Leitung vom Slave solange auf logisch Null gehalten, bis &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;der Slave &lt;/del&gt;das nächste Bit empfangen bzw. senden kann. Dies ist wegen der Wired-AND-Verschaltung von SDA und SCL jedem Gerät am Bus möglich. Voraussetzung ist dabei jedoch, dass die Start- und Stopp-Bedingungen [ d.h. eine Pegelaenderung an SDA waehrend SCL logisch 1 ist] vom langsamen Gerät auch dekodiert werden können. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der Bus ist als Master-Slave-Bus konzipiert. Der Master sendet und ein Slave reagiert darauf. Mehrere Master sind möglich [Multimaster-Mode] . Die Buszuteilung [Arbitrierung] ist dabei per Spezifikation geregelt. Prinzipiell können verschieden schnelle Busteilnehmer [Geräte/Boards] parallel an einem Bus betrieben werden. Ist ein Slave-Gerät langsamer als der immer durch den Master vorgegebene Bustakt SCL kann es durch ''clock stretching'' den Master während des Bit-Transfers definiert bremsen. Dabei wird die SCL-Leitung vom Slave solange auf logisch Null gehalten, bis &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;er &lt;/ins&gt;das nächste Bit empfangen bzw. senden kann. Dies ist wegen der Wired-AND-Verschaltung von SDA und SCL jedem Gerät am Bus möglich. Voraussetzung ist dabei jedoch, dass die Start- und Stopp-Bedingungen [ d.h. eine Pegelaenderung an SDA waehrend SCL logisch 1 ist] vom langsamen Gerät auch dekodiert werden können. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Da ''Clock Stretching'' anfangs nur von weniger Schaltkreisen / Geräten benutzt wurde, sind viele [[I2C]]-Routinen entstanden, die diesen Modus nicht berücksichtigen. Insbesondere im Hobby-Bereich wurde die notwendige Überwachung der I2C-Leitung Clock einfach weggelassen. Das Master verläßt sich somit darauf, dass nach Freigabe der Clock Leitung diese sofort wieder über einen Pullup-Widerstand auf High gezogen wird. Es wird nicht hinterfragt, ob der Slave die Leitung weiterhin auf Low zieht, um noch etwas Zeit für seine Operation zu haben. Solche I2C-Routinen sind leider noch in sehr vielen Libarys oder Programmen enthalten, was letzlich bei Geräten, die ''Clock Streching'' nutzen, zu erheblichen Problemen führt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Da ''Clock Stretching'' anfangs nur von weniger Schaltkreisen / Geräten benutzt wurde, sind viele [[I2C]]-Routinen entstanden, die diesen Modus nicht berücksichtigen. Insbesondere im Hobby-Bereich wurde die notwendige Überwachung der I2C-Leitung Clock einfach weggelassen. Das Master verläßt sich somit darauf, dass nach Freigabe der Clock Leitung diese sofort wieder über einen Pullup-Widerstand auf High gezogen wird. Es wird nicht hinterfragt, ob der Slave die Leitung weiterhin auf Low zieht, um noch etwas Zeit für seine Operation zu haben. Solche I2C-Routinen sind leider noch in sehr vielen Libarys oder Programmen enthalten, was letzlich bei Geräten, die ''Clock Streching'' nutzen, zu erheblichen Problemen führt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PicNick</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=3591&amp;oldid=prev</id>
		<title>PicNick am 11. Dezember 2005 um 11:39 Uhr</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=3591&amp;oldid=prev"/>
				<updated>2005-12-11T11:39:10Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 11. Dezember 2005, 11:39 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L3&quot; &gt;Zeile 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der [[I2C ]] benutzt lediglich zwei bidirektionale Pins [ TaktSCL und DatenSDA] sowie GND. Takt- und Datenleitung sind meist mit Pull-Up-Widerständen an die positive Versorgungsspannung angeschlossen [Wired-AND] . Der Bus arbeitet meist mit 100 kbit/s im ''Standard-Modus'', lässt sich jedoch auch in einen langsamen Modus schalten, bei dem dann 10 kbit/s uebertragen werden können. Modernere Implementierungen und entsprechende Chips lassen Datenraten von 400 kbit/s bis ueber 3,4 Mbit/s zu.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der [[I2C ]] benutzt lediglich zwei bidirektionale Pins [ TaktSCL und DatenSDA] sowie GND. Takt- und Datenleitung sind meist mit Pull-Up-Widerständen an die positive Versorgungsspannung angeschlossen [Wired-AND] . Der Bus arbeitet meist mit 100 kbit/s im ''Standard-Modus'', lässt sich jedoch auch in einen langsamen Modus schalten, bei dem dann 10 kbit/s uebertragen werden können. Modernere Implementierungen und entsprechende Chips lassen Datenraten von 400 kbit/s bis ueber 3,4 Mbit/s zu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der Bus ist als Master-Slave-Bus konzipiert. Der Master sendet und ein Slave reagiert darauf. Mehrere Master sind möglich [Multimaster-Mode] . Die Buszuteilung [Arbitrierung] ist dabei per Spezifikation geregelt. Prinzipiell können verschieden schnelle Busteilnehmer [Geräte/Boards] parallel an einem Bus betrieben werden. Ist ein Slave-Gerät langsamer als der immer durch den Master vorgegebene Bustakt SCL kann es durch ''clock stretching'' den Master während des Bit-Transfers definiert bremsen. Dabei wird die SCL-Leitung vom Slave solange auf logisch Null gehalten, bis der Slave das nächste Bit empfangen kann. Dies ist wegen der Wired-AND-Verschaltung von SDA und SCL jedem Gerät am Bus möglich. Voraussetzung ist dabei jedoch, dass die Start- und Stopp-Bedingungen [ d.h. eine Pegelaenderung an SDA waehrend SCL logisch 1 ist] vom langsamen Gerät auch dekodiert werden können. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der Bus ist als Master-Slave-Bus konzipiert. Der Master sendet und ein Slave reagiert darauf. Mehrere Master sind möglich [Multimaster-Mode] . Die Buszuteilung [Arbitrierung] ist dabei per Spezifikation geregelt. Prinzipiell können verschieden schnelle Busteilnehmer [Geräte/Boards] parallel an einem Bus betrieben werden. Ist ein Slave-Gerät langsamer als der immer durch den Master vorgegebene Bustakt SCL kann es durch ''clock stretching'' den Master während des Bit-Transfers definiert bremsen. Dabei wird die SCL-Leitung vom Slave solange auf logisch Null gehalten, bis der Slave das nächste Bit empfangen &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;bzw. senden &lt;/ins&gt;kann. Dies ist wegen der Wired-AND-Verschaltung von SDA und SCL jedem Gerät am Bus möglich. Voraussetzung ist dabei jedoch, dass die Start- und Stopp-Bedingungen [ d.h. eine Pegelaenderung an SDA waehrend SCL logisch 1 ist] vom langsamen Gerät auch dekodiert werden können. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Da ''Clock Stretching'' anfangs nur von weniger Schaltkreisen / Geräten benutzt wurde, sind viele [[I2C]]-Routinen entstanden, die diesen Modus nicht berücksichtigen. Insbesondere im Hobby-Bereich wurde die notwendige Überwachung der I2C-Leitung Clock einfach weggelassen. Das Master verläßt sich somit darauf, dass nach Freigabe der Clock Leitung diese sofort wieder über einen Pullup-Widerstand auf High gezogen wird. Es wird nicht hinterfragt, ob der Slave die Leitung weiterhin auf Low zieht, um noch etwas Zeit für seine Operation zu haben. Solche I2C-Routinen sind leider noch in sehr vielen Libarys oder Programmen enthalten, was letzlich bei Geräten, die ''Clock Streching'' nutzen, zu erheblichen Problemen führt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Da ''Clock Stretching'' anfangs nur von weniger Schaltkreisen / Geräten benutzt wurde, sind viele [[I2C]]-Routinen entstanden, die diesen Modus nicht berücksichtigen. Insbesondere im Hobby-Bereich wurde die notwendige Überwachung der I2C-Leitung Clock einfach weggelassen. Das Master verläßt sich somit darauf, dass nach Freigabe der Clock Leitung diese sofort wieder über einen Pullup-Widerstand auf High gezogen wird. Es wird nicht hinterfragt, ob der Slave die Leitung weiterhin auf Low zieht, um noch etwas Zeit für seine Operation zu haben. Solche I2C-Routinen sind leider noch in sehr vielen Libarys oder Programmen enthalten, was letzlich bei Geräten, die ''Clock Streching'' nutzen, zu erheblichen Problemen führt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PicNick</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=3590&amp;oldid=prev</id>
		<title>PicNick am 11. Dezember 2005 um 11:37 Uhr</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=3590&amp;oldid=prev"/>
				<updated>2005-12-11T11:37:38Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 11. Dezember 2005, 11:37 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L3&quot; &gt;Zeile 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der [[I2C ]] benutzt lediglich zwei bidirektionale Pins [ TaktSCL und DatenSDA] sowie GND. Takt- und Datenleitung sind meist mit Pull-Up-Widerständen an die positive Versorgungsspannung angeschlossen [Wired-AND] . Der Bus arbeitet meist mit 100 kbit/s im ''Standard-Modus'', lässt sich jedoch auch in einen langsamen Modus schalten, bei dem dann 10 kbit/s uebertragen werden können. Modernere Implementierungen und entsprechende Chips lassen Datenraten von 400 kbit/s bis ueber 3,4 Mbit/s zu.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der [[I2C ]] benutzt lediglich zwei bidirektionale Pins [ TaktSCL und DatenSDA] sowie GND. Takt- und Datenleitung sind meist mit Pull-Up-Widerständen an die positive Versorgungsspannung angeschlossen [Wired-AND] . Der Bus arbeitet meist mit 100 kbit/s im ''Standard-Modus'', lässt sich jedoch auch in einen langsamen Modus schalten, bei dem dann 10 kbit/s uebertragen werden können. Modernere Implementierungen und entsprechende Chips lassen Datenraten von 400 kbit/s bis ueber 3,4 Mbit/s zu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der Bus ist als Master-Slave-Bus konzipiert. Der Master sendet und ein Slave reagiert darauf. Mehrere Master sind möglich [Multimaster-Mode] . Die Buszuteilung [Arbitrierung] ist dabei per Spezifikation geregelt. Prinzipiell können verschieden schnelle Busteilnehmer [Geräte/Boards] parallel an einem Bus betrieben werden. Ist ein Slave-Gerät langsamer als der immer durch den Master vorgegebene Bustakt SCL kann es durch ''clock stretching'' den Master während des Bit-Transfers definiert bremsen. Dabei wird die SCL-Leitung vom Slave solange auf logisch Null gehalten, bis der Slave &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;senden &lt;/del&gt;kann. Dies ist wegen der Wired-AND-Verschaltung von SDA und SCL jedem Gerät am Bus möglich. Voraussetzung ist dabei jedoch, dass die Start- und Stopp-Bedingungen [ d.h. eine Pegelaenderung an SDA waehrend SCL logisch 1 ist] vom langsamen Gerät auch dekodiert werden können. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der Bus ist als Master-Slave-Bus konzipiert. Der Master sendet und ein Slave reagiert darauf. Mehrere Master sind möglich [Multimaster-Mode] . Die Buszuteilung [Arbitrierung] ist dabei per Spezifikation geregelt. Prinzipiell können verschieden schnelle Busteilnehmer [Geräte/Boards] parallel an einem Bus betrieben werden. Ist ein Slave-Gerät langsamer als der immer durch den Master vorgegebene Bustakt SCL kann es durch ''clock stretching'' den Master während des Bit-Transfers definiert bremsen. Dabei wird die SCL-Leitung vom Slave solange auf logisch Null gehalten, bis der Slave &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;das nächste Bit empfangen &lt;/ins&gt;kann. Dies ist wegen der Wired-AND-Verschaltung von SDA und SCL jedem Gerät am Bus möglich. Voraussetzung ist dabei jedoch, dass die Start- und Stopp-Bedingungen [ d.h. eine Pegelaenderung an SDA waehrend SCL logisch 1 ist] vom langsamen Gerät auch dekodiert werden können. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Da ''Clock Stretching'' anfangs nur von weniger Schaltkreisen / Geräten benutzt wurde, sind viele [[I2C]]-Routinen entstanden, die diesen Modus nicht berücksichtigen. Insbesondere im Hobby-Bereich wurde die notwendige Überwachung der I2C-Leitung Clock einfach weggelassen. Das Master verläßt sich somit darauf, dass nach Freigabe der Clock Leitung diese sofort wieder über einen Pullup-Widerstand auf High gezogen wird. Es wird nicht hinterfragt, ob der Slave die Leitung weiterhin auf Low zieht, um noch etwas Zeit für seine Operation zu haben. Solche I2C-Routinen sind leider noch in sehr vielen Libarys oder Programmen enthalten, was letzlich bei Geräten, die ''Clock Streching'' nutzen, zu erheblichen Problemen führt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Da ''Clock Stretching'' anfangs nur von weniger Schaltkreisen / Geräten benutzt wurde, sind viele [[I2C]]-Routinen entstanden, die diesen Modus nicht berücksichtigen. Insbesondere im Hobby-Bereich wurde die notwendige Überwachung der I2C-Leitung Clock einfach weggelassen. Das Master verläßt sich somit darauf, dass nach Freigabe der Clock Leitung diese sofort wieder über einen Pullup-Widerstand auf High gezogen wird. Es wird nicht hinterfragt, ob der Slave die Leitung weiterhin auf Low zieht, um noch etwas Zeit für seine Operation zu haben. Solche I2C-Routinen sind leider noch in sehr vielen Libarys oder Programmen enthalten, was letzlich bei Geräten, die ''Clock Streching'' nutzen, zu erheblichen Problemen führt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PicNick</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=1975&amp;oldid=prev</id>
		<title>Frank: /* Siehe auch */</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=1975&amp;oldid=prev"/>
				<updated>2005-11-17T13:05:45Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Siehe auch&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 17. November 2005, 13:05 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L13&quot; &gt;Zeile 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[I2C]] &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[I2C]] &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[RN-Definitionen]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[RN-Definitionen]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:Microcontroller]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:Software]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:Grundlagen]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:Elektronik]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=1974&amp;oldid=prev</id>
		<title>Frank am 17. November 2005 um 13:05 Uhr</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Clock_Stretching&amp;diff=1974&amp;oldid=prev"/>
				<updated>2005-11-17T13:05:14Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;''Clock Stretching'' ist ein Begriff, der bei dem I2C-Bus eine wichtige Rolle spielt.  &lt;br /&gt;
&lt;br /&gt;
Der [[I2C ]] benutzt lediglich zwei bidirektionale Pins [ TaktSCL und DatenSDA] sowie GND. Takt- und Datenleitung sind meist mit Pull-Up-Widerständen an die positive Versorgungsspannung angeschlossen [Wired-AND] . Der Bus arbeitet meist mit 100 kbit/s im ''Standard-Modus'', lässt sich jedoch auch in einen langsamen Modus schalten, bei dem dann 10 kbit/s uebertragen werden können. Modernere Implementierungen und entsprechende Chips lassen Datenraten von 400 kbit/s bis ueber 3,4 Mbit/s zu.&lt;br /&gt;
&lt;br /&gt;
Der Bus ist als Master-Slave-Bus konzipiert. Der Master sendet und ein Slave reagiert darauf. Mehrere Master sind möglich [Multimaster-Mode] . Die Buszuteilung [Arbitrierung] ist dabei per Spezifikation geregelt. Prinzipiell können verschieden schnelle Busteilnehmer [Geräte/Boards] parallel an einem Bus betrieben werden. Ist ein Slave-Gerät langsamer als der immer durch den Master vorgegebene Bustakt SCL kann es durch ''clock stretching'' den Master während des Bit-Transfers definiert bremsen. Dabei wird die SCL-Leitung vom Slave solange auf logisch Null gehalten, bis der Slave senden kann. Dies ist wegen der Wired-AND-Verschaltung von SDA und SCL jedem Gerät am Bus möglich. Voraussetzung ist dabei jedoch, dass die Start- und Stopp-Bedingungen [ d.h. eine Pegelaenderung an SDA waehrend SCL logisch 1 ist] vom langsamen Gerät auch dekodiert werden können. &lt;br /&gt;
&lt;br /&gt;
Da ''Clock Stretching'' anfangs nur von weniger Schaltkreisen / Geräten benutzt wurde, sind viele [[I2C]]-Routinen entstanden, die diesen Modus nicht berücksichtigen. Insbesondere im Hobby-Bereich wurde die notwendige Überwachung der I2C-Leitung Clock einfach weggelassen. Das Master verläßt sich somit darauf, dass nach Freigabe der Clock Leitung diese sofort wieder über einen Pullup-Widerstand auf High gezogen wird. Es wird nicht hinterfragt, ob der Slave die Leitung weiterhin auf Low zieht, um noch etwas Zeit für seine Operation zu haben. Solche I2C-Routinen sind leider noch in sehr vielen Libarys oder Programmen enthalten, was letzlich bei Geräten, die ''Clock Streching'' nutzen, zu erheblichen Problemen führt.&lt;br /&gt;
&lt;br /&gt;
Neuere Compiler-Versionen wie z.B. [[Bascom ]] berücksichtigen Clock Stretching.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[I2C]] &lt;br /&gt;
* [[RN-Definitionen]]&lt;/div&gt;</summary>
		<author><name>Frank</name></author>	</entry>

	</feed>