Datenrate Arduino

Hallo,

habe einen Temperatursensor, der 4 Pins hat, 1 davon ist SCK. So wie ich das verstehe ist der Pin dafür da um die Datenrate zwischen dem Controller und dem Sensor festzusetzen. Auch das I2C LC Display hat diesen Pin.
Mich beschäftigt die Frage, ob man Datenraten auch ermitteln kann.
Gibt es eventuell spezielle Sketches dazu?

Es gibt asynchrone serielle Schnittstellen die keinen Taktsignal mitliefern und synchrone mit Taktsignal.

Asynchrone Schnittstellen funktionieren weil die Geschwindigkeit konstant ist und am Anfang der Übertragung jedes einzelnen Bytes synchronisiert wird zb serielle TTL Schnittstelle (pin 0 und 1 am Arduino), RS232, RS485, RS422, zum Teil PPW bei Servoansteuerung. Hier muß die Datengeschwindigkeit des Empfängers mit der des Senders übereinstimmen. Die Geschwindigkeit kann aber auch von beiden Partner ausgehandelt werden wie das zB bei USB der Fall ist.
oder weil der Takt im Datensignal enthalten ist zb Ansteuerung von WS2811/12/12b. Da ist die Frequnz konstant und das Datensignal ist in dem Verhältnis HIGH zu LOW einer Periode dekodiert. Es gibt noch viele andere Protokolle die komplizierter sind und auf die ich hier nicht eingehen will (zB Infrarotfernsteuerung, Ethernet, ADSL, Digitale Rundfunk, Digitale Funkübertragng, Händy ecc)

Synchrone Schnittstellen haben ein Taktsignal. Meist ist das Datensignal bei LOW-HIGH-Übergang des Takts gültig und wird in diesem Moment gelesen. Beispiele sind I2C, SPI, Ansteuerung von Shift Registern und ähnlichen Bausteinen, aber auch der paralelle Datenbus des Computers mit dem die CPU auf RAM, ROM, Periferiebausteine zugreift, oder die Paralelle Druckerschnittstelle.

Die Übertragungsgeschwindigkeit der Synchronen Schnittstelle ist fast immer in weiten Bereichen wählbar. Einziges Limit ist die max Geschwindigkeit und eine minimale Geschwindigkeit weil man ja eine bestimmte Datenmenge in einer bestimmten Zeit übertragen will.

Wenn Du eine funktionierende Schnittstelle hast kannst Du relativ einfach die Geschwindigkeit ermitteln, notfalls durch probieren verschiedener möglicher oder üblicher Geschwindigkeit.

Hast Du nur einen Baustein oder Gerät mußt Du es im Datenblatt oder in den Technischen Unterlagen herauslesen Oder Du hast soviel Hintegrundwissen und erfahrung daß Du es erraten oder ausproberen kannst.

Grüße Uwe

Die Übertragungsgeschwindigkeit der Synchronen Schnittstelle ist fast immer in weiten Bereichen wählbar. Einziges Limit ist die max Geschwindigkeit und eine minimale Geschwindigkeit weil man ja eine bestimmte Datenmenge in einer bestimmten Zeit übertragen will.

Wie kann man die denn wählen beim Arduino?
Im Datenblatt steht eben maximaler und minimaler Wert.

Von welcher Schnittstelle und welchem IC reden wir?
Grüße Uwe

Also das LC Display betreibe ich über eine I2C Schnittstelle, auf meinem Arduino Board ist ein ATmega328 drauf.
Der Temperatursensor(SHT75) wird im CBUS betrieben. Laut dem Datenblatt erreicht die Datenrate 1Mbit/s (maximal) , falls die Versorgungsspannung unter 4,5 Volt liegt.
Bei I2C gibt es den Standard Mode ( 100 kbit/s), den Fast Mode (400kbit/s), den Fastmode Plus ( 1 Mbit/s) und High Speed Mode
( 3,4 Mbit/s).

Und was ist Deine Frage bzw Was brauchst Du?
Grüße Uwe

Also wie gesagt mich hat interessiert, wie man beim Arduino die Datenrate selbst festlegen kann. Die Datenrate kann dann nur experimentell ermittelt oder abgeschätzt werden so wie ich verstanden habe?

Du kannst nur die Frequenz direkt einstellen.

I2C:

SPI:

User_ino:
Also wie gesagt mich hat interessiert, wie man beim Arduino die Datenrate selbst festlegen kann. Die Datenrate kann dann nur experimentell ermittelt oder abgeschätzt werden so wie ich verstanden habe?

Bitte redem wir nicht so um den warem Brei herum. Bitte schreib von welcher Schnittstelle wir reden. Arduino hat viele Hardwareschnittstellen und noch mehr werden über Software emuliert.

Bestimmte Geschwindigkeiten sind fix; andere gibt es mehrere Möglichkeiten, aber eine ist Standart; andere hängen von dem Sketch ab und einige kann man messen.

Grüße Uwe