Hi! Da das USI voll blöd ist und ich auf dessen Funktionen getrost verzichten kann wollte ich mir mit meinem Tiny26 eine Softwarelösung für den TWI-Master erstellen. Der Bustakt soll entweder mit dem Timer0 per Overflow Interrupt generiert werden oder mit dem Timer1 per Compare Match Interrupt, alles mit entsprechendem Vorteiler. Nun habe ich ein paar Fragen zu den Timings. Was bedeutet eigentlich 10 kHz Bustakt? Dass es 10000 mal in der Sekunde eine Taktflanke gibt? Also 5000 Takte die Sekunde? Oder dass es volle 10000 Takte/s gibt und damit eben 20000 Taktflanken? Zwischen einer fallenden und einer steigenden Taktflanke wird das Bit auf der SDA Leitung geändert. Muss ich hier noch eine Wartezeit einbauen? oder kann das unmittelbar geschehen? D.h. SCL auf low, kurz das Datenregister um ne Bitposition verschieben, das neue Bit an SDA ausgeben und SCL gleich wieder auf high und dann für ne entsprechende Zeit auf high lassen? Oder soll während das Bit auf der SDA leitung geändert wird genau die gleiche Zeit vergehen wie im darauffolgenden Takt-high? Kann ich um die Startcondition zu senden wie folgt vorgehen: SDA auf low, danach sofort SCL auf low, das entsprechende Bit an SDA ausgeben und gleich mit dem ersten Takt beginnen, oder sollten hier noch Wartezeiten eingebaut werden? Wie lange soll entsprechend gewartet werden? mfg PoWl
Hi Im Anhang ist eine ältere Atmel AppNote mit I2C-Master in Software. Ist allerdings in ASM. MfG Spess
Danke, das gab schonmal aufschluss.. werde mir auch nochmal die Spezifikationen durchlesen. Aber was bedeutet denn nun 100khz bustakt? Dass es 100.000 High-Pulse pro sekunde gibt? Oder Flankenwechsel und somit nur die Hälfte an High-Pulsen? Sind die Low-Teile viel länger als die High Teile? mfg PoWl
also ne Frequenzangabe gilt immer für die gesammte Periode, also nur eine der beiden Flanken. ansonsten würde man nicht von kHz, sondern von kbit/s oder kBaud sprechen...
Danke, d.h. die Periodendauer, 10µs bei 100khz oder 100µs bei 10khz, entspricht der Zeit zwischen beispielsweiser einer steigenden Taktflanke und der nächsten?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.