Hi!
Ich wüsste nicht das man die Busgeschwindigkeit an sich regeln könnte...
Es liegt doch an dir wann du ein I2C Gerät ansprichst, time das doch einfach richtig.
mfG
Batti
Hallo zusammen,
ich benutze einen PIC18F452 mit 40MHz diese Geschwindigkeit brauche ich um gewisse Schiebeoperationen zu bewältigen.
Doch nun muss ich noch zusätzliche ein Gerät mit dem I2C- Bus ansteuern, jedoch kann dieses Gerät nur bis zu 5kHz Clock arbeiten.
Wie kann man die Geschwindigkeit des I2C- Bus so einstellen das er unter 5kHz fällt?
Ich brinnge ihn leider nur auf ca 78kHz...
Vielen Dank im voraus
Hi!
Ich wüsste nicht das man die Busgeschwindigkeit an sich regeln könnte...
Es liegt doch an dir wann du ein I2C Gerät ansprichst, time das doch einfach richtig.
mfG
Batti
Hallo. vielleicht habe ich mich da falsch ausgedrückt oder habe ich da etwas falsch in den Hals gekriegt...
Mit dem Register SSPADD kann man doch die Geschwindigkeit des I2C- Bus (als den Clock von SCL)einstellen oder nicht?
Wenn ja ich bräuchte einen Clock unter 5kHz und da dies ein Teiler braucht von 2000 und das SSPADD- Register nur 8 bit hat also max. einen Teiler von 255. ich brächte da schon irgendwie 11 bits...
Danke und Gruss
Wenn du mit Hardware nicht tiefer kommst, dann bleibt wohl nur eine Software-Version von I2C.
Falls der Master zu schnell ist, sollte der Slave eigentlich ein Clock-Stretch machen, um das Master-I2C-Modul zu bremsen. Ob er das bei 5kHz gegen 78kHz allerdings schnell genug schafft...?
Disclaimer: none. Sue me.
Eine weitere Lösung wäre ein extra Pic.
Dieser könnte die I2C Aufgaben bewältigen, ohne das der Große ausgebremst werden muß (z.B. über Software I2C).
Die Daten zu dem kleinen Pic kannst du schnell übertragen und die restliche Kommunikation erledigt er dann abenfalls.
Gruß, Tom
PS: Wenn möglich kann auch eine ISR (Interruptroutine) eingebaut werden, falls zeitlich möglich (dann kein Extra-Pic nötig).
Vielen Dank für deine Antwort...
Habe an den zweiten Pic auch schon gedacht aber da ich ein embedded system entwickle kommt das mit dem zweiten Pic nicht gerade gut(Stromverbrauch)
Aber ich habe nun den I2C halt Softwaremässig implementiert und funktioniert einwandfrei.
Vielen Dank nochmals für eure Hilfe
Lesezeichen