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

adresowanie pamieci 24c256

gothye 30 Dec 2007 20:34 2425 8
  • #1
    gothye
    Level 33  
    jest tak :
    są 2 pamieci fram 24c16 oraz 24c256 na szynie I2C wraz z atmega16,jak ustalić wejscia (A0,A1,A2) dla pamieci 24c256 aby miała inny adres niz pamiec 24c16 (adres 160 ,w nocie doczytałem ze niemozna go zmienic ) oraz jaki bedzie miała adres po ustaleniu tych wejsc ,niemogę znaleśc w jaki adres wynika z konfiguracji poziomu wejść :( ,było by mi łatwiej gdyby ktoś posiadał jakis opis w jezyku PL

    pozdrawiam
  • #2
    zumek
    Level 39  
    gothye wrote:
    ...jak ustalić wejscia (A0,A1,A2) dla pamieci 24c256 aby miała inny adres niz pamiec 24c16 (adres 160 ,w nocie doczytałem ze niemozna go zmienic ) oraz jaki bedzie miała adres po ustaleniu tych wejsc ,niemogę znaleśc w jaki adres wynika z konfiguracji poziomu wejść :( ,było by mi łatwiej gdyby ktoś posiadał jakis opis w jezyku PL

    pozdrawiam

    A obrazków nie potrafisz interpretować :?: I gdzie Ty widzisz linie A2 :?:

    Piotrek
  • Helpful post
    #4
    zumek
    Level 39  
    gothye wrote:
    dokładnie taką mam pamieć ,i widzę A2 :>

    To zmienia postać rzeczy i to jest ta dobra wiadomość ;)
    Natomiast zła wiadomość - nie będą działały na 1 magistrali , ponieważ:
    24c16 jest widziana na I2C , jako 8 odrębnych urządzeń o adresach dla zapisu - A0,A2,A4,A6,A8,AA,AC,AE i tą sama przestrzeń adresową można tylko wybrać dla FM24c256.I teraz albo 2 osobne magistrale - kiepskie rozwiązanie - albo 24c16 wymienić na np.24c32.

    Piotrek
  • #5
    gothye
    Level 33  
    wiec wymienie na fm24c32 :) ,tylko teraz pytanie ,jakie poziomy (0 lub 1) podac na wejscia A1,A2,A0 ,kazdej pamieci aby miały rózne adresy ,oraz jakie będą to adresy :(
  • Helpful post
    #6
    zumek
    Level 39  
    gothye wrote:
    wiec wymienie na fm24c32 :) ,tylko teraz pytanie ,jakie poziomy (0 lub 1) podac na wejscia A1,A2,A0 ,kazdej pamieci aby miały rózne adresy ,oraz jakie będą to adresy :(

    A Ty znowu swoje ;)
    1 0 1 0 A2 A1 A0 RW - adres urządzenia

    Teraz , zależnie od stanów jakie podasz na piny adresowe a0-a2(różne dla obu pamięci) taki będziesz miał adres.Zamień A0-A2 w w/w bajcie adresowym na stany logiczne , RW zastąp 0 i otrzymasz wartość bajtu adresu do zapisu.Jak RW zastąpisz 1 , to będziesz miał bajt adresowy do odczytu.
    Toż to prosta jak ... elektroda ;)

    Piotrek
  • #7
    GienekS
    Level 32  
    Zgodny ze strony 4 pdf-a, 0xA0 + A2*2^3+A1*2^2+A0*2^1
  • #8
    gothye
    Level 33  
    zumek wrote:

    1 0 1 0 A2 A1 A0 RW - adres urządzenia

    Piotrek


    włanie ,tego niemoge zrozumiec (soft w bascom)

    1 0 1 0 A2 A1 A0 RW RW = 0 (odczyt) ,A0=0 ,A1 = 0,A2 = 0

    1 0 1 0 0 0 0 0 = ???

    jak sie oblicza ten bait ?? tego niemogę zrozumiec :(
  • #9
    zumek
    Level 39  
    gothye wrote:
    zumek wrote:

    1 0 1 0 A2 A1 A0 RW - adres urządzenia

    Piotrek


    włanie ,tego niemoge zrozumiec (soft w bascom)

    1 0 1 0 A2 A1 A0 RW RW = 0 (odczyt) ,A0=0 ,A1 = 0,A2 = 0

    1 0 1 0 0 0 0 0 = ???

    jak sie oblicza ten bait ?? tego niemogę zrozumiec :(

    Aż mnie zatkało :| Nie rozumiesz zapisu binarnego :?:
    Ok.
    1 0 1 0 0 0 0 0 = &HA0 (dziesiętnie 160)

    A teraz trochę algebry ;)

    1*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^0 = 160

    Reszta należy do Ciebie :)

    Szczęśliwego Nowego &B11111011000 Roku

    Piotrek