8031-89C2051 po I2C

Jun 01, 2005 7 Replies

Jak zrobiæ, ¿eby dwa mikrokontrolery (8031 i am³y atmel 2051) komunikowa³y siê poprzez I2C? Zaden z uk³adów nie ma wyprowadzeñ na I2C, ani przydzielonych adresów. Poprzez expander I2C jedyne rozwi±zanie?


Panoramix napisał(a):

Zrobić programową obsługę I2C? Uprzedzam, będzie powolna.

- poczytaj opis standardu I2C (Philips) / TWI (Atmel).

- musisz zaimplementować master I2C w jednym procesorze, a slave I2C w drugim; zdecyduj, który jest ważniejszy i będzie tego drugiego odpytywać

- wymyśl komendy do transferu danych (możesz np. udawać procesorem slave pamięć EEPROM)

- chyba wszystko jasne?

A tak poza tym to I2C srednio sie nadaje do komunikacji miedzy 2 procesorami. Pomysl raczej o szybkim synchronicznym interfejsie szeregowym (cos jak RS232 ale z dodatkowa linia zegara) albo SPI.

badworm napisał(a):

No własnie - zwłaszcza realizacja funkcji MASTER'a będzie dosyc wolna. A czy te procesory maja jeszcze gadac po I2C z jakimis innymi układami ? I jakie są wymagania co do szybkości transmisji ?

Tak. I2C obs³ugiwane programowo, wyj¶cia s± deklarowane w kodzie programu. Im wolniejszy transfer tym lepiej. Ramka musi byæ widoczna na oscyloskopie.

Im wolniej tym lepiej (4800bodów bedzie widoczne na standardowych szkolnych oscyloskopach?). Dzia³a tak: atmel poprostu wysy³a ca³y czas ramke, która zawiera cyfrê któr± dosta³ z klawiatury 16-przyciskowej. Wysy³a to do 8031, a ten wy¶wietla to na LED`zie i ju¿. Ca³y uk³ad. Realizowany przez RS`a i przez I2C.

Bêdzie ta sama funkcja realizowana zarówno na I2C jak i na RS`ie. Kwestie edukacyjne.

Najsensowniej .. zrobic to bez I2C albo zmienic procki na takie co maja sprzetowo.

Najtaniej .. to chyba trzeciego atmelka miedzy nie wlozyc :-) Niech udaje dwa slave i fifo w obie strony, jak to bedzie jedyne zadanie to powinien zdazyc.

A moze jakies malutkie FPGA ?

J.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required