Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Rasenmaehroboter fuer schwierige und grosse Gaerten im Test

 
Zeile 16: Zeile 16:
  
 
--[[Benutzer:SprinterSB|SprinterSB]] 10:25, 12. Jan 2006 (CET)
 
--[[Benutzer:SprinterSB|SprinterSB]] 10:25, 12. Jan 2006 (CET)
 +
 +
Danke für's reinkopieren.
 +
 +
Wie ist das wenn man den Controller (I2C-Master) mit 8Mhz laufen lassen will, und eine SCL-Frequenz von 400kHz haben will, was stellt man da dann alles um ?
 +
Das Ergebnis für TWBR wäre mit Prescaler 1 dann 2, also kleiner als 10.
 +
 +
Meiner Meinung gibt es nur die Möglichkeiten
 +
* Erhöhung der CPU-Frequenz, oder eben
 +
* eine kleinere SCL-Frequenz als 400kHz (bei Wert 10 etwa 307 kHz) !
 +
 +
 +
--[[Benutzer:Linux 80|Linux 80]] 15:16, 12. Jan 2006 (CET)

Version vom 12. Januar 2006, 15:16 Uhr

TWI-Geschwindigkeit und TWBR

Snip aus einer privaten Konversation. Es geht um den Abschnitt Bit Rate Generator: "Kommt ein Wert kleiner 10 heraus, sollte ein höherer CPU-Takt gewählt werden."

SprinterSB hat folgendes geschrieben
Nicht immer ist es möglich oder erwünscht, eine andere CPU-Frequenz zu wählen (anderes Echtzeitverhalten, anderer Energieverbrauch, ausserhalb der Spezifikation, etc).
Linux 80 hat folgendes geschrieben
Dann ist es auch nicht möglich die gewünschte Geschwindigkeit zu erzeugen, weiter als in den 1. Gang und Standgas kann der Teiler nicht runterschalten (oder so).
SprinterSB hat folgendes geschrieben
Auch Clock-Stretch ermöglich einem langsamen Slave nicht unbedingt, an einem schnellen Bus mitzukommen. Ein Software-Slave hat eine Mindest-Response-Time, in der er SCL ziehen muss. Schafft er das nicht, hat er verloren oder erzeugt sogar ein Bussignal, das ausserhalb der I2C-Spez liegt, wenn er doch noch spät zieht.
Linux 80 hat folgendes geschrieben
Mit dem Slave hat das TWBR ja nix zu tun, es geht ja nur beim Master. Ein Slave kommt entweder mit, und kann evtl. die Bremse treten, oder nicht.

Versetehen tu ich es immer noch nicht. Man kann doch TWBR auf den vom Hersteller angegebenen Mindestwert von 10 setzen. Ändern der CPU-Frequenz bedeutet u.U. sogar Änderung in der Hardware (Quarz, Resonator, Oszillator). Und wenn man mit f_CPU schon am Anschlag ist will man nicht unbedingt übertakten.

Ja, der Mindestwert 10 hat mit einem Slave nix zu tun, stimmt. Aber mit "friss oder stirb" kommt man auch nicht weiter, wenn's nicht geht oder ein Slave zu lahm ist...

--SprinterSB 10:25, 12. Jan 2006 (CET)

Danke für's reinkopieren.

Wie ist das wenn man den Controller (I2C-Master) mit 8Mhz laufen lassen will, und eine SCL-Frequenz von 400kHz haben will, was stellt man da dann alles um ? Das Ergebnis für TWBR wäre mit Prescaler 1 dann 2, also kleiner als 10.

Meiner Meinung gibt es nur die Möglichkeiten

  • Erhöhung der CPU-Frequenz, oder eben
  • eine kleinere SCL-Frequenz als 400kHz (bei Wert 10 etwa 307 kHz) !


--Linux 80 15:16, 12. Jan 2006 (CET)


LiFePO4 Speicher Test