Hi, ich stelle die Frage nun mal so. Da ich auf sämtliche Fragen was das USI mit TWI anbelangt irgendwie keine Antwort bekomme würde ich gerne mal wissen ob sich überhaupt jemand dafür interessiert bzw. schonmal damit beschäftigt hat. Oder ob jemand daran interesse hätte dafür mal einen Master zu "entwickeln". Das ganze in Assembler. Habe dazu mehrere Fragen was die Taktung der ganzen Geschichte angeht. meine ICQ-Nummer: 126342470 mfg PoWl
Ich denke mal, dass du dich auf deinen anderen Thread beziehst... "TWI Master mit USI sinnvoll?" Beitrag "TWI Master mit USI sinnvoll?" Es gibt hier bestimmt viele Leute, die das USI bereits (erfolgreich) eingesetzt haben. Hast du schon mal die entsprechenden AppNotes von Atmel angesehen? Damit müssten sich die meisten Fragen eigentlich beantworten lassen. AVR310: Using the USI module as a I2C master (8 pages, revision B, updated 09/04) This Application Note describes how to use the USI for TWI master communication. http://www.atmel.com/dyn/resources/prod_documents/doc2561.pdf AVR319: Using the USI module for SPI communication (8 pages, revision A, updated 09/04) This application note describes a SPI interface implementation, in form of a fullfeatured driver and an example of usage for this driver. http://www.atmel.com/dyn/resources/prod_documents/doc2582.pdf Gruß, Magnetus
>Da ich auf sämtliche Fragen was das USI mit TWI anbelangt irgendwie >keine Antwort bekomme würde ich gerne mal wissen ob sich überhaupt >jemand dafür interessiert bzw. schonmal damit beschäftigt hat. Nein, leider nicht.
Magnus Müller wrote: > Es gibt hier bestimmt viele Leute, die das USI bereits (erfolgreich) > eingesetzt haben. Wie kommst Du denn bloß darauf ? Bisher gibts ja schon ne Menge Threads dazu, mit wenig bis null Antworten. Beitrag "TWI Master mit USI sinnvoll?" Beitrag "TWI clock stretching funktioniert nicht" Beitrag "ATmega8 TWI <- ATtiny26 USI TWI, clock stretching?" Beitrag "USI: I²C/TWI Slave sendet kein ACK :-/" Beitrag "Hilfe bei TWI / I²C mit dem USI des ATtiny26" Beitrag "Clock Stretching unterstützt ATmega8 - TWI" Beitrag "USI - TWI Slavemit ATtiny26" Peter
Nun ja... "viele" war bestimmt ein wenig übertrieben ;) Die Threads hab ich mit der Suchfunktion (+powl +usi) auch schon gefunden, aber nicht alle gelesen. Trotzdem sollten sich die meisten Fragen mit den AppNotes beantworten lassen. @powl: Du kannst dich in deinen Fragen dann ja auch auf die (für dich) unklaren Abschnitte in den AppNotes beziehen, dann fällt es uns auch bestimmt leichter, dir weiter zu helfen. Gruß, Magnetus
Ok. Using USI as a TWI Master. Atmel stellt ihr USI im TWI betrieb so ein dass die Taktquelle für das Schieberegister eine positive Flanke an SCL ist. Die des 4-bit Counters ist das einschreiben einer 1 des USITC-bits. Ebenso SCL wird durch USITC getoggelt. Das geht aber meinem logischen Verständnis entgegen. Zuerst wird die SDA-Leitung auf den entsprechenden Datenzustand low oder released, also high, gebracht und DANN gibt es einen Taktimpuls, das Schieberegister muss also VOR der positiven Taktflanke an SCL auf die richtige position gebracht werden und nicht während oder noch schlimmer nach ihr. Um die Start Condition zu erzeugen wird zuerst die SDA-leitung auf low gezogen (im Schieberegister befindet sich 0xFF), danach die SCL-Leitung. Dann wird das zu sendende Byte ins Schieberegister geladen. An SDA liegt nun das Bit-7 im Schieberegister an. Wenn ich nun mit der Atmel Einstellung einen Takt auslöse in dem ich eine 1 in das USITC-bit reinschreibe entsteht an SCL eine positive Taktflanke und durch diese wird das Schieberegister entweder im gleichen oder im darauffolgenden Moment weitergeschoben. Das ist aber unlogisch das darf garnicht sein. Das Schieberegister darf wenn überhaupt nach einer negativen Taktflanke an SCL weitergetaktet werden. So werde ich das probieren. Deswegen verstehe ich die Appnotes nicht. Die Vorgehensweise ist ja auch nirgendwo vernünftig dokumentiert, man krigt einfach so n Code in die Hand gedrückt und darf sich dann da durchwurschteln.. mfg PoWl
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.