Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

AT89c2051 + Bascom + 2 * 24C16

iNTELL 15 Jan 2004 12:26 2527 6
  • #1
    iNTELL
    Level 30  
    Witam, chce sobie zrobić układzik który jednocześnie korzysta z dwóch pamięci eeprom i2c i zaadresowałem je sobie ładnie, tylko teraz pytanie, jak się odwołaś do poszczególnej pamięci w bascomie, bo do jednej to problemu nie było, a przy dwóch to nie wiem jak to zrobić :)
  • #2
    arkadius
    Level 12  
    O ile sie nie myle....
    Kazdy element wpiety w szyne i2c ma swoj adres, wiec trzeba dla kazdej kosci ustawic inny a w programie dopisac kod wybierajacy ktora z kosci ma byc w danej chwili "aktywna".
  • #3
    olekewaagata
    Level 25  
    Akurat wybrałeś bardzo niefortunnie eeprom 24c16.
    Ten akurat bity adresujące więcej niż jeden układ ma przeznaczone
    na adresowanie strony. Czyli linie A0,A1,A2 są przeznaczone na
    P0,P1,P2. 24c16 może być tylko jeden.
    Sugeruję jeśli Ci wystarczy 24c8 lub 24c32 (32k).
  • #4
    iNTELL
    Level 30  
    24C16 to tak tylko napisałem ot tak, bo myslałem że to nie będzie miało różnicy, ale w rzeczywistości to będę musiał mieć aż 3 eepromy:
    Dwie sztuki 24C512
    i jedną sztukę 24C64 lub 32 (ten będzie się zmieniał)
  • #5
    szymtro
    Level 30  
    Pewnie chcesz zrobic inteligentna kopiowarke do pamieci eeprom. Przedewszystkim musisz sobie odpowiedziec dokladnie jakie pamieci beda stale a jakie wymienne. Oczywiscie mozna zrobic dwie magistrale - jedna do pamieci wewnetrznej i druga do wymiennych(i za takim rozwiazaniem ja bym byl bo jest troche bezpieczniejsze). Rozne pamieci maja rozne adresy bazowe i tak:

    24c02/04 - 160/161(162/163, 164/165, .., 174/175) 1 bajt adresu
    24c32/64 - 160/161, ..., 174/175) 2 bajty adresu
    24c128 - 160/161, ..., 166/167 2 bajty adresu
    24c256 - 160/161, ..., 174/175) 2 bajty adresu
    24c512 - 160/161, ..., 166/167) 2 bajty adresu
  • #6
    iNTELL
    Level 30  
    Heh, to nie będzie kopiarka do pamięci, to będzie coś w rodzaju programatorka, ale chodzi mi o to że jak pisze do pamieci:
    i2cwbyte 174 to jest wtedy gdy wszystkie nogi z jednej strony są zwarte do masy, a jeśli inaczej zaadresuje te 24c512 to co będę musiał wpisać zamiast 174, jeśli możecie to napiszcie mi te kombinacje bo nie wiem co do czego :)
  • #7
    W.K
    Level 15  
    W nocie katalogowej np.24C512 na str.10 jest pokazany bajt adresowy.
    Bardziej znaczące 4 bity (MSB) +1 są
    stałe dla danego typu układu,pozostałe bity to dwa bity adresu i jeden
    bit zapisu/odczytu-"0"zapis "1"odczyt.
    Przykład:
    Mamy dwie kostki pamięci
    jedna kostka ma A0,A1 połaczone z GND to adres dla zapisu jest:
    10100000 czyli 160
    dla odczytu:
    10100001 czyli 161
    druga kostka ma A0 połączone z GND A1 z VCC to adres dla zapisu:
    10100100 czyli 164
    dla odczytu:
    10100101 czyli 165
    Myślę że to jasne
    Cześć