ATtiny13A i I2C

Mar 26, 2014 9 Replies

Czy da siê zrobiæ na ATtiny13 master I2C w prostym uk³adzie : Czujnik ->i2c->procesor->sygnalizator (beeper).



Wszystko ma byæ jak najmniejsze. Przy jednej okre¶lonej kombinacji z czujnika ma dzia³aæ sygnalizacja. ¯adnych obliczeñ. Zasilanie z bateryjki 3V i mniej. (jak najd³u¿ej)



A mo¿e nie Attiny tylko co¶ innego ?


pozdr.


W jednym urządziu robiłem na Attiny I2C sniffer. Czyli odbierał I2C i przekazywał po serialu odebrane dane. Więc mastera chyba też powinno się dać zrobić.

Moja ¿ona zrobi³a programow± obs³ugê I2C na 16F628. Obs³uguje to pamiêæ 24C256. Wiêc z pewno¶ci± siê da. S.

W dniu 2014-03-26 17:07, Akond ze skwak pisze:

Patrz u źródeł.

formatting link
Atmel AVR156: TWI Master Bit Bang Driver (file size: 126KB, 4 pages, revision A, updated: 07/2012)

This application note describes a Two-wire Interface (TWI) master implementation, in the form of a full-featured driver. Many chips feature a hardware TWI module; others have Universal Serial Interface (USI), which can be used in TWI mode. This application note discusses the TWI master driver for devices without any of these hardware modules. This driver provides interfaces to read/write to a TWI slave.

TWI to Atmelowska nazwa I2C

Ja, o ile pamiętam, lata temu używałem I2C Master autorstwa Petera Fleury'ego

formatting link

U¿ytkownik "Micha³ Lankosz" napisa³ w wiadomo¶ci grup dyskusyjnych:lh0n46$meb$ snipped-for-privacy@srv.chmurka.net...

ATtiny13 nie posiada TWI ani USI. Posiada 1kB pamiêci programu, 64B RAM i 64B EEPROM. Trochê ciasno, ale co¶ pokombinujê.

Dziêki za link.

AZS

W dniu 2014-03-27 17:47, Akond ze skwak pisze:

Czy ja gdzieś napisałem, że posiada TWI lub USI? Czy w nocie napisano gdzieś, że posiada?

W nocie Atmela napisano, że kod C zajmuje 713 bajtów. Czytanie czujnika i obsługa beepera powinna zająć bardzo niewiele. Wraz z kodem startowym powinno się zmieścić. Zawsze można obciąć ten kod od I2c i na przykład pozbyć się funkcji odczytu i zapisu ciągu danych, a w programie głównym wywoływać funkcje wysyłania i odbioru pojedynczych bajtów, o ile z czujnika odczytujesz stałą liczbę danych. Napisz swój program i sprawdź ile zajmuje kod wynikowy. Pomyśl też o pewnym zapasie - a nóż coś trzeba będzie dodać. Swego czasu na AT90S1200 implementowałem prosty I2C w ASM i było jeszcze mnóstwo miejsca na resztę. Obecnie wybór jest ogromny. Są ATtiny ośmionóżkowe z większym flashem, ale na moje oko ten ATtiny13 powinien starczyć. W razie czego kupisz większy.

Musi być tiny13? Są inne tiny w tej samej obudowie, które mają TWI (czy USI nie wiem, częściej używałem TWI i nie zwracałem uwagi na USI).

W dniu 2014-03-27 17:47, Akond ze skwak pisze:

To wskocz piętro wyżej na ATtiny25/45/85. Będziesz miał wszystkiego więcej i wsparcie dla TWI. Fakt, procentowo również więcej kosztuje, ale nie jest to chyba aż taka wielka różnica.

Pozdrawiam

DD

U¿ytkownik "Micha³ Lankosz" napisa³ w wiadomo¶ci grup dyskusyjnych:lh2654$4tl$ snipped-for-privacy@srv.chmurka.net...

Zrobi³em w oparciu o ¼ród³a z linku wy¿ej. Wszystko dzia³a bez problemu na ATtiny13.

Obs³uga i2c + beeper + prosta analiza danych = 520B czyli jakie¶ 52% pojemno¶ci pamiêci programu.

Jeszcze raz dziêki za link.

Akond

Użytkownik "Dariusz Dorochowicz" napisał w wiadomości grup dyskusyjnych:5335393d$0$2361$ snipped-for-privacy@news.neostrada.pl...

Jestem po lekturze specyfikacji Attiny85 i testach. Jest tam USI = rejestr przesuwny + licznik i nic więcej. Od USI do TWI jeszcze daleka droga. Większość trzeba zrobić programowo.

Jeżeli obsuga TWI w ATtiny13 czysto programowo zajmuje mniej niż 500B to wsparcie w w postaci USI na którym oszczędzę 100B to żadna radocha.

Oczywiście duży plus dla ATtiny85 w stosunku do 13-stki to 8 razy większa pamięć RAM. Tu już można poszaleć.

AZS

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required