Witam ponownie tym pięknym śnieżnym niedzielnym popołudniem
Przymierzam się do odczytu za pomocą Atmegi32 pamięci Am29F040:
Datasheet: http://www.datasheetcatalog.org/datasheets/400/135891_DS.pdf
Połączyłem już odpowiednie piny pamięci z nóżkami kontrolera, mam jednak pewien problem w ustaleniu protokołu komunikacji.
Nie wiem czy pamięć jest pusta czy nie, ale nie ważne. Czytając z dokumentacji dowiaduje się, że odczyt spod adresu 00XXh powinien zwrócić wartość bajtu 01h czyli kod producenta.
W tym datasheecie jest taki schemacik co do przebiegów czasowych podczas odczytu, mam jednak mały problem z jego zrozumieniem. Przepraszam, nie jestem po elektronice. Gdyby ktoś posiadał jakąś książkę w której jest to opisane, z chęcią poczytam.
Do rzeczy. Schemacik wygląda tak:
Czy to oznacza że powinienem:
ustawić linię WE w stan wysoki
ustawic na liniach adresowych odpowiedni adres
chwilkę poczekać
ustawić linię CE w stan niski
chwilkę poczekać
ustawić linię OE w stan niski
chwilkę poczekać
odczytać z lini danych wartość bajtu
ustawić linię CE i OE w stan wysoki
?
Czy przed wszystkimi tymi operacjami powinienem ustawić linię CE, OE i WE w stan niski?
A druga sprawa - czy taki pojedynczy cykl powinien mi zwrócić odpowiedni bajt z pamięci? Oglądając tabelkę 4 z tego datasheetu widzę, że większość operacji ( w tym operacja read) składa się z kilku cykli (np drugi wiersz w tej tabelce) i zdębiałem kompletnie...

Przymierzam się do odczytu za pomocą Atmegi32 pamięci Am29F040:
Datasheet: http://www.datasheetcatalog.org/datasheets/400/135891_DS.pdf
Połączyłem już odpowiednie piny pamięci z nóżkami kontrolera, mam jednak pewien problem w ustaleniu protokołu komunikacji.
Nie wiem czy pamięć jest pusta czy nie, ale nie ważne. Czytając z dokumentacji dowiaduje się, że odczyt spod adresu 00XXh powinien zwrócić wartość bajtu 01h czyli kod producenta.
W tym datasheecie jest taki schemacik co do przebiegów czasowych podczas odczytu, mam jednak mały problem z jego zrozumieniem. Przepraszam, nie jestem po elektronice. Gdyby ktoś posiadał jakąś książkę w której jest to opisane, z chęcią poczytam.
Do rzeczy. Schemacik wygląda tak:
Czy to oznacza że powinienem:
ustawić linię WE w stan wysoki
ustawic na liniach adresowych odpowiedni adres
chwilkę poczekać
ustawić linię CE w stan niski
chwilkę poczekać
ustawić linię OE w stan niski
chwilkę poczekać
odczytać z lini danych wartość bajtu
ustawić linię CE i OE w stan wysoki
?
Czy przed wszystkimi tymi operacjami powinienem ustawić linię CE, OE i WE w stan niski?
A druga sprawa - czy taki pojedynczy cykl powinien mi zwrócić odpowiedni bajt z pamięci? Oglądając tabelkę 4 z tego datasheetu widzę, że większość operacji ( w tym operacja read) składa się z kilku cykli (np drugi wiersz w tej tabelce) i zdębiałem kompletnie...