I2C-slave for 8051

Apr 11, 2005 8 Replies

Witam,



Szukalem w sieci procedurki do obslugi I2C w trybie slave dla procesorka



8051, ale jedyne co udaje mi sie znalezc to procedurka dla procesorow
8x751, ktore maja sprzetowa obsluge I2C. A mnie zalezy zeby to dzialalo na
89C2051 - mam tego kilkanascie sztuk w wersji SMD i znakomicie nadawaloby sie to na scalaczki dedykowane z komunikacja I2C. Nie chcialbym wywazac otwartych drzwi i pisac ta obsluge, jesli sa gdzies dostepne gotowe procedurki. Ale ze nie udalo mi sie znalezc wiec pytanie - czy faktycznie istnieje takie cos czy nie? Moze ktos ma linka albo dysponuje plikiem - w ASM, bo taki jezyk mnie interesuje.

a moze wziasc bascoma i sobie podejrzec jak to jest zrobionew asm? AVR ma I2C slave, to moze i 8051 tez ma..

Bascoma niestety nie uzywam - jesli ktos z jego uzytkownikow moze looknac czy jest obsluga I2C-slave dla 8051, to byloby milo.

Ale cos czuje, ze nie bedzie latwizny i trzeba bedzie pisac samemu. A myslalem, ze ten temat to juz dawno jest przecwiczony...

Zachcialo mi sie robic uklady z rozproszona inteligencja :-)

Nie znajdziesz takiej procedury bo 8051 jest za wolny i nie jest w stanie sprostac wymaganym rezimom czasowym.

PC

Mon, 11 Apr 2005 11:22:52 GMT, na pl.misc.elektronika, Jack Houseman napisał(a):

Nie znajdujesz bo 2051 jest do tego zbyt wolny. Przy 100 kHz czas impulsu SCK to 5us - zwykła 51 niewiele tu nadziała. Chyba żeby bardzo zmniejszyć szybkość. AVR są dużo szybsze i takie procedurki są gotowe nawet w notach Atmela ( można też znaleźć slave'y dla 1wire ). A i tak najprościej kupić tanie atmegi 8 smd - masz pełny sprzętowy i2c ( i masę dodatkowych mozliwości, o których 2051 nawet nie może pomarzyć ) przy prawie takich samych wymiarach ( a dodatkowo bez kwarcu i zewnętrznego resetu i z programowaniem ISP ). Jeśli już 2051 to IMHO najwygodniej byłoby dołożyć małe kosteczki 485 i użyć uartu w 9-bitowym trybie adresowym.

Witaj Jurek :-) Nie wiem czy mnie jeszcze pamietasz - Jacek Domanski z tej strony :-) Mialem 3 letnia przerwe w elektronice i wlasnie usiluje troche wrocic do tematu :-) Ale chyba tylko z doskoku. AVR'ow niestety nie przerabialem - ale za to PIC'e tak. Moglbym to pewnie na jakims PIC'u zrobic, bo sa szybkie, ale po co kupowac nowe scalaki jak stare zalegaja szuflady :-) Okazuje sie, ze tak z marszu troche do tematu podszedlem nie wczytujac sie w parametry transmisji. Nic - w takim razie zrezygnuje z tego pomyslu w ogole.

a z drugiej strony, to kto ci kaze pedzic I2C na 100kHz? jesli dla wlasnych zstosowan, to moze 10kHz wystarczy?

Procesor glowny to 16F877 ze sprzetowym I2C, ktory na dodatek jest ustawiony na 400kHz - nie moge tego zmniejszyc, bo inne procedury wymagaja szybkiego dostepu np. do pamieci EEPROM.

Chyba, ze w innym zastosowaniu...

Mon, 11 Apr 2005 19:30:13 GMT, na pl.misc.elektronika, Jack Houseman napisał(a):

Witaj ! Jasne,że pamiętam ! To wszystko rwie do przodu aż się kurzy :-) Też mam rozmaite szufladowe zapasy, z którymi nie tak dawno wiązały się rozmaite plany ( w tym sporo różności z serii 51 właśnie ). Pozbywam się tego sukcesywnie zanim staną się całkiem zabytkowe. Trochę żal ale za dużo wchodzi fajnych nowości, żeby dłubać w starszych rzeczach - nie wystarczy czasu na wszystko . Może po prostu wypuść zapasy na Allegro? :-)

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required