DS3231 RTC I2C

Gast #3814953
Lesenswert?

Hallo,

ich möchte mit dem Attiny84/Alternativ Attiny841 einen DS3231 über I2C 
auslesen. Leider haben beide keine I2C Master Schnittstelle :(

http://www.atmel.com/Images/doc8478.pdf
http://www.atmel.com/Images/doc2564.pdf

Die konnten mir auch nicht weiterhelfen. Finde zu Software TWI/I2C 
ebenfalls nicht das passende.

Das ganze möchte ich an Anlehnung dieser Lib später realisieren.


https://github.com/akafugu/ds_rtc_lib/blob/master/library-gcc/rtc.c

Danke für eure Hilfe
#3815061
Lesenswert?

AVRs sind mitunter schlecht mit Peripherie ausgestattet. Ein gleich 
großer PIC24F08KL200 hat einen richtigen Hardware-UART und eine richtige 
MSSP, die alle erdenklichen SPI und I2C-Modi kann. "Tellerrand" sag ich 
da nur. Dass er nebenbei doppelt so schnell ist und 16 statt 8 Bits hat, 
ist ein angenehmer Nebeneffekt.

Oder Du nimmst statt dem DS3231 einen DS3234. Der hat SPI statt I2C.

fchk
Gast #3815085
Lesenswert?

Die anderen Attinys die ich habe, haben ebenfalls 2 Hardware USART 
schnittstellen (841).

Mit PIC noch nie gearbeitet. Ist zwar direkt teurer als meine Attinys, 
hält sich aber in grenzen. Da ist der DS3234 leider ganz anders, mal 
schnell Preise geprüpft.
Bei ebay nicht bezahlbar und für 2-3 Stk lohnt sich nicht bei Mouser zu 
bestellen.

Mal schaun ob man bei Maxim noch Samples bekommen. Sind mit ausnahme des 
größeren Packages (mehr Pins) soweit noch vertretbar.
Gast #3815222
Lesenswert?

Beitrag "Attiny85 I2C DS3231"

Hatte das auch mal versucht. Die Infos, die dann ausgegeben werden, sind 
sehr sperrlich. Google findet auch nach langem Suchen nichts.

Habe das Projekt nicht weiter verfolgt. Es gibt viele Sachen, die bei µC 
sehr gut erklärt sind. Aber gerade der TWI Teil kommt da einfac zu kurz.

http://www.mikrocontroller.net/attachment/226063/USI_TWI_Master.c
Das dürfte die Headerdatei dazu sein
http://www.cs.cmu.edu/~dst/ARTSI/Create/PC%20Comm/USI_TWI_Master.h

Ging bei mir nicht. Zum einen war der Attiny85 dort nicht mitgelistet 
und es wurde mit den Datenblatt keine passenden Register gefunden.

Wäre schön gewesen, wenn man mal irgendwo ein komplettes Beispiel für 
Attiny44/84/45/85 irgendwo finden könnte. Aber derzeit fehlanzeige.
#3815287
Lesenswert?

Merri schrieb:
> http://www.mikrocontroller.net/attachment/226063/U...
>
> Ist dass die C-Datei dazu?

Nein: 
http://www.atmel.com/images/Atmel-2561-Using-the-USI-Module-as-a-I2C-Master_AP-Note_AVR310.zip

> Bei Atmel war kein Code als solches nicht als Beispiel hinterlegt.

Einfach mal bei Atmel die Seite vom Tiny85 aufmachen und die Dukumente 
ansehen: http://www.atmel.com/devices/attiny84a.aspx?tab=documents
Alles da.
Gast #3815938
Lesenswert?

Hilft nicht wirklich weiter, es wird nicht darauf eingegangen,welche 
Register ich für den Attiny841 dort suchen muss. Es gibt keinerlei 
Hinweise, wie die Register dort heißen. Keines der TWI Register passt zu 
den Punkten
1
  USIDR    =  0xFF;                       // Preload dataregister with "released level" data.
2
  USICR    =  (0<<USISIE)|(0<<USIOIE)|                            // Disable Interrupts.
3
  (1<<USIWM1)|(0<<USIWM0)|                            // Set USI in Two-wire mode.
4
  (1<<USICS1)|(0<<USICS0)|(1<<USICLK)|                // Software stobe as counter clock source
5
  (0<<USITC);
6
  USISR   =   (1<<USISIF)|(1<<USIOIF)|(1<<USIPF)|(1<<USIDC)|      // Clear flags,
7
  (0x0<<USICNT0);                                     // and reset counter.
#3816116
Lesenswert?

In solchen Fällen hilft ein Blick ins Datenblatt. In diesem Fall hättest 
Du sehen können, daß der 841 nur Register für TWI-Slaves zu finden sind 
und nirgends erwähnt ist, daß er Master spielen kann.
Bei Deinem ersten Kandidaten, dem Tiny84 findest Du alle nötigen 
Register unter genau den Bezeinungen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren