RTV forum PL | NewsGroups PL

Implementacja programowego I2C na MC68HC908GP32 z pamięcią EEPROM AT24C32

Programowy I2C

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Implementacja programowego I2C na MC68HC908GP32 z pamięcią EEPROM AT24C32

Piotr
Guest

Sun Jun 18, 2006 8:41 pm   



Witam serdecznie.

Chciałbym zrealizować programową obsługę protokołu I2C. Ogólny zarys
pomysłu jest taki, iż linia zegara jest podłączona do pinu ustawionego
jako wyjście, natomiast linia danych połączona jest z pinem który
standardowo ustawiony jest jako wejście. Jeżeli coś się pojawi na SDA,
generowane jest przerwanie w którym to odczytuje bity. Jeśli natomiast
będę chciał coś wysłać, ustawiam pin SDA jako wyjście i wysyłam.

Takie rozwiązanie zamierzam zaimplementować na mikrokontrolerze
MC68HC908GP32 i testować je komunikując się z pamięcią eeprom AT24C32.

Bardzo proszę o porady oraz o ewentualne bardziej profesjonalne sposoby
realizacji programowego I2C.

Z góry dziękuję za pomoc.

--
Piotr

Paweł Cern
Guest

Mon Jun 19, 2006 7:21 am   



Quote:
Chciałbym zrealizować programową obsługę protokołu I2C. Ogólny zarys
pomysłu jest taki, iż linia zegara jest podłączona do pinu ustawionego
jako wyjście, natomiast linia danych połączona jest z pinem który
standardowo ustawiony jest jako wejście. Jeżeli coś się pojawi na SDA,
generowane jest przerwanie w którym to odczytuje bity. Jeśli natomiast
będę chciał coś wysłać, ustawiam pin SDA jako wyjście i wysyłam.

Takie rozwiązanie zamierzam zaimplementować na mikrokontrolerze
MC68HC908GP32 i testować je komunikując się z pamięcią eeprom AT24C32.

Moment, jeśli ten MC68HC... będzie masterem, to może nie warto używać
przerwań. Jeśli już to może do śledzenia czy slave nie blokuje SCL (zapis
komórki/grupy komórek w pamięci typu eeprom to czas rzędu kilku ms). Swoją
drogą warto dobrze sprawdzić czy jakiś interfejs nie jest natywnie zgodny z
I2C. Oznaczenie I2C jest własnością Philipsa i zdarza się że producenci go
nie używają. Przykładem jest Atmel i interfejs TWI w MCU AVR.

Paweł

Piotr
Guest

Mon Jun 19, 2006 12:13 pm   



Paweł Cern napisał(a):
Quote:
Moment, jeśli ten MC68HC... będzie masterem, to może nie warto używać
przerwań. Jeśli już to może do śledzenia czy slave nie blokuje SCL
(zapis komórki/grupy komórek w pamięci typu eeprom to czas rzędu
kilku ms).

Faktycznie jeśli będzie masterem to teoretycznie będę wiedział kiedy
przełączyć pin na wejście i zczytywać dane. Tylko zastanawia mnie czy
nie lepiej zrobić to na przerwaniu, a nie w jakiejś pętli zczytywać dane.

Quote:
Swoją drogą warto dobrze sprawdzić czy jakiś interfejs nie
jest natywnie zgodny z I2C.

Tak, owszem zdaję sobie z tego sprawę, niestety ten uC nie posiada
żadnego interfejsu I2C. Jeżeli by mnie interesowało sprzętowe
rozwiązanie problemu to bym zamontował jakiś mostek UART <-> I2C,
chociażby SC16IS740 Philips'a.

Dziękuję za zainteresowanie i proszę o dalsze porady.

--
Piotr

Paweł Cern
Guest

Mon Jun 19, 2006 1:37 pm   



Quote:

Faktycznie jeśli będzie masterem to teoretycznie będę wiedział kiedy
przełączyć pin na wejście i zczytywać dane. Tylko zastanawia mnie czy nie
lepiej zrobić to na przerwaniu, a nie w jakiejś pętli zczytywać dane.


A jaki będzie narzut czasowy zapamiętania / odtworzenia kontekstu
(rejestrów) wewnątrz obsługi przerwania? Byćmoże gra nie jest warta
świeczki.

Paweł

elektroda NewsGroups Forum Index - Elektronika Polska - Implementacja programowego I2C na MC68HC908GP32 z pamięcią EEPROM AT24C32

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map