PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : i2c bit rate



peaceman
23.10.2006, 21:26
wie ich inzwischen erfahren habe, ist es wohl wichtig, über die bit rate beim verwenden des i2c bus' bescheid zu wissen.
ich denke gerade in meinem fall:

ich möchte, dass ein atmega32 mit dem controller vom ccrp5 kommuniziert. da der controller vom rp5 keine i2c schnittstelle hat will ich den i2c bus emulieren (code dafür gibts im download bereich, soweit ich weiß aber nur für den µC als master).

da der controller vom rp5 wesentlich langsamer läuft als mein avr, muss ich wohl die bit rate anpassen, damit der rp5 überhaupt mitbekommt, dass er angesprochen wird.

meine frage: wie und wie groß?

mein avr läuft mit 16 MHz und der controller vom rp5 ist das 4 MHz Quarz angeschlossen. ich habe aber irgendwo gelesen, dass der trotzdem nur mit der hälfte läuft, also 2 MHz.
vielleicht kann mir ja jemand helfen O:)

philiph
24.10.2006, 01:09
Wenn ich mich nicht irre gibt das I²C bus-Protocol das Timing vor d.h. es ist egal wie viel mhz dein chip ist hauptsache deine emulation ist für 4 mhz geschrieben

raptor_79
24.10.2006, 01:15
der master macht den clock. was der chip hat ist egal. mußt halt nur im bus selber vorgeben.

CowZ
24.10.2006, 01:36
Nein.

Wenn dein Slave "Clock-Stretching"(?) kann, ist es total egal, wie schnell dein Master ist, weil der Slave die Geschwindigkeit des Busses drosselt.
(So isses auf jeden Fall bei "normalen" Slaves, ob das einfacher als eine langsame Geschwindigkeit beim Master zu realisieren ist, sei einfach mal dahin gestellt ;))


edit: Folgender Absatz nur für den Fall, dass du fertige Routinen für den rp5 suchen solltest:
Du solltest diese (eher rp5-spezifische) Frage im passenden Forum (https://www.roboternetz.de/phpBB2/viewforum.php?f=43) stellen :)

Gruß, CowZ

peaceman
24.10.2006, 22:50
alles klar, habs einfach mal mit ausprobieren gemacht. funktioniert auch so halbwegs.

die restlichen fragen werde ich im "passenden Forum" los 8)