24C32 - problem



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <jacekmey_at_nospam_poczta.onet.pl>
Subject: 24C32 - problem
Date: Sat, 23 Sep 2000 22:18:08 +0200


Witam!
Kupiłem sobie 24C32 Atmela i to cholerstwo nie chce mi działać. Sterownik
pisałem już trzy razy. Pytanie: co trzeba po kolei zrobić, żeby zapisać i
odczytać tą pamięć?


--
Pozdrawiam,
Jacek Meyerhold


Poprzedni Następny
Wiadomość
Spis treści
From: "Marek" <neticus_at_nospam_poczta.wp.pl>
Subject: Re: 24C32 - problem
Date: Sat, 23 Sep 2000 22:44:22 +0200


Kupiłem sobie 24C32 Atmela i to cholerstwo nie chce mi działać. Sterownik
pisałem już trzy razy. Pytanie: co trzeba po kolei zrobić, żeby zapisać i
odczytać tą pamięć?


A co z linią WRITE PROTECT (pin 7 bodajże), czy ma poprawny stan ?

Pozdrawiam,

Marek



Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <jacekmey_at_nospam_poczta.onet.pl>
Subject: Re: 24C32 - problem
Date: Sat, 23 Sep 2000 23:00:07 +0200



Marek napisał(a) w wiadomości: <39cd15bc$1_at_nospam_news.vogel.pl>...
Pytanie: co trzeba po kolei zrobić, żeby zapisać i
odczytać tą pamięć?


A co z linią WRITE PROTECT (pin 7 bodajże), czy ma poprawny stan ?

Chyba ma poprawny. Ma być 0 i jest 0. Cały czas.

Pozdrawiam,
Jacek Meyerhold


Poprzedni Następny
Wiadomość
Spis treści
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: 24C32 - problem
Date: Sun, 24 Sep 2000 02:38:51 +0200


Jacek Meyerhold napisał(a) w wiadomości: <8qj3a5$ks8$1_at_nospam_news.onet.pl>...
Witam!
Kupiłem sobie 24C32 Atmela i to cholerstwo nie chce mi działać. Sterownik
pisałem już trzy razy. Pytanie: co trzeba po kolei zrobić, żeby zapisać i
odczytać tą pamięć?
...

Pisalem do 24C64 ale chyba nie ma zadnych roznic oprocz pojemnosci.
Ja nie mialem z nia zadnych problemow.
Moze napisz co Ty robisz lub przyslij kawalek kodu.

Ponizej masz przyklad dla 8051.
Andrzej

******************************************
******************************************

_2464_ReadByte PROC
call strtcon ; start
mov a, #0a0h
clr acc.0 ; write
call outbyte ; slave address
mov a,dph
call outbyte ; MSB address
mov a,dpl
call outbyte ; LSB address
call strtcon ; start
mov a, #0a0h
setb acc.0 ; read
call outbyte
clr F0
call inbyte ; read data
call stopcon ; stop
ret





Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <jacekmey_at_nospam_poczta.onet.pl>
Subject: Re: 24C32 - problem
Date: Sun, 24 Sep 2000 15:24:14 +0200



Andy napisał(a) w wiadomości: <8qji88$59a$1_at_nospam_news.tpi.pl>...
Jacek Meyerhold napisał(a) w wiadomości: <8qj3a5$ks8$1_at_nospam_news.onet.pl>...
Moze napisz co Ty robisz lub przyslij kawalek kodu.


Ja piszę na AVR. Najpierw zapisuję bajt, a później chcę go odczytać. Ma być
0b10101010 a ciągle mi odczytuje 0xFF, czyli chyba nie zapisuje, lub ja
odczytuję nie tą komórkę, którą zapisywałem.

Pozdrawiam,
Jacek Meyerhold


Poprzedni Następny
Wiadomość
Spis treści
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: 24C32 - problem
Date: Mon, 25 Sep 2000 07:37:22 +0200


Jacek Meyerhold napisał(a) w wiadomości: <8qm17p$86f$1_at_nospam_news.onet.pl>...

Moze napisz co Ty robisz lub przyslij kawalek kodu.
...
Ja piszę na AVR. Najpierw zapisuję bajt, a później chcę go odczytać. Ma być
0b10101010 a ciągle mi odczytuje 0xFF, czyli chyba nie zapisuje, lub ja
odczytuję nie tą komórkę, którą zapisywałem.



A dostajesz potwiedzenie od pamieci (bit ACK) ?

Gdy wyslesz do niej adres urzadzenia
to po 9 impulsie zegara pamiec powinna wystawic stan niski.

Jak masz podloczane nozki 1,2,3 i czy stosownie do tego
ustawiasz odpowiednie bity w "adresie urzadzenia" ?

Moze AVR jest za szybki , daj troche nop'ow dla opoznienia.

Andrzej






Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: 24C32 - problem
Date: Mon, 25 Sep 2000 07:56:18 +0200


A dostajesz potwiedzenie od pamieci (bit ACK) ?

Gdy wyslesz do niej adres urzadzenia
to po 9 impulsie zegara pamiec powinna wystawic stan niski.

Jak masz podloczane nozki 1,2,3 i czy stosownie do tego
ustawiasz odpowiednie bity w "adresie urzadzenia" ?

Moze AVR jest za szybki , daj troche nop'ow dla opoznienia.

Generalnie powodem moze byc wszystko....

1. Adres sprzetowy + ustawiony nogami
2. Za szybko piszesz i czytasz
3. Piszesz nie to co potrzeba
4. Walnieta pamiec
5. Pojemnosci na sciezkach
6. Sprawdz impulsy czy wygladaja jak potrzeba (nachylenia, overshoty i
undershoty i czy wygladaja jak TTL-owe :-) )
7. Sprawdz polozenie wzajemne zboczy zegara i danych
8. Czy przelaczasz kierunek linii potrow AVR'a w czasie oczekiwania na ACK
(Chyba trzeba :-)
9. Po kazdym ACK daj przerwe ze 255 cykli w petelce albo 20 razy tyle
testowo
10. Daj komus do napisania :-)

Problem jest taki, ze do AVR'a taka pamiec to zabojstwo jesli gadasz do niej
w petli programu. Na 51-ce dawno temu, musialem dac strasznie duzo
opozniaczy, nie pamietam ile ale petelka DJNZ to robilem. Na dodatek trzeba
robic odstepy miedzy bajtami i to ogromne.

Moim zdaniem tego typu pamieci szeregowe to lekka mina. Niepotrzebne
zamieszanie i spowalnianie procesora. Wiadomo jest to tanie i do kart SECA
sie nadaje idealnie czy do telefonow ale tam szybkosci nie potrzeba przy
zasysaniu danych czy zapisie.

Jesli potrzebny byl AVR to znaczy, ze zalezy ci na szybkosci. jesli duzo
korzystasz z tej pamieci to nie ma to sensu. Obecnie w tym co widze nie ma
nigdzie magistral I2C. Moze w telewizyjnych sprawach i generalnie pierdolach
powszechnego uzytku.

Posadz rownoleglego :-)

Juliusz



Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <jacekmey_at_nospam_poczta.onet.pl>
Subject: Re: 24C32 - problem
Date: Tue, 26 Sep 2000 01:57:15 +0200



Andy napisał(a) w wiadomości: <8qmo33$hf9$1_at_nospam_news.tpi.pl>...
Jacek Meyerhold napisał(a) w wiadomości: <8qm17p$86f$1_at_nospam_news.onet.pl>...

A dostajesz potwiedzenie od pamieci (bit ACK) ?

Tak.

Gdy wyslesz do niej adres urzadzenia
to po 9 impulsie zegara pamiec powinna wystawic stan niski.

Stwierdziłem doświadczalnie. Daje ACK, po ósmym impulsie.
Po dziewiątym już nie ma ACK.


Jak masz podloczane nozki 1,2,3 i czy stosownie do tego
ustawiasz odpowiednie bity w "adresie urzadzenia" ?

Tak.
Moze AVR jest za szybki , daj troche nop'ow dla opoznienia.


Powsadzałem tyle NOPów, że odczyt bajtu trwa 20s.

Pozdrawiam,
Jacek Meyerhold


Poprzedni Następny
Wiadomość
Spis treści
From: "marcio" <beamar_at_nospam_priv4.onet.pl>
Subject: Re: 24C32 - problem
Date: Mon, 25 Sep 2000 08:16:28 +0100


a w procedurce zapisu odczekujesz na koniec (jakies 4 mS), aż się zapisana
dana "ustabilizuje" w kości. Podobne sztuki działy mi się z 24c64. Zapis się
wykonywał, ACK-ki od EEPROMa były a w nim samym ciemność (0xFF), jak dałem
delaja po każdym zapisanym bajcie DJNZ w DJNZ tak coby wyszło pare ms, to
łaskawie zadziałało , może to to????

Jacek Meyerhold wrote in message <8qm17p$86f$1_at_nospam_news.onet.pl>...

Andy napisał(a) w wiadomości: <8qji88$59a$1_at_nospam_news.tpi.pl>...
Jacek Meyerhold napisał(a) w wiadomości: <8qj3a5$ks8$1_at_nospam_news.onet.pl>...
Moze napisz co Ty robisz lub przyslij kawalek kodu.


Ja piszę na AVR. Najpierw zapisuję bajt, a później chcę go odczytać. Ma być
0b10101010 a ciągle mi odczytuje 0xFF, czyli chyba nie zapisuje, lub ja
odczytuję nie tą komórkę, którą zapisywałem.

Pozdrawiam,
Jacek Meyerhold




Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <jacekmey_at_nospam_poczta.onet.pl>
Subject: Re: 24C32 - problem
Date: Tue, 26 Sep 2000 02:12:30 +0200



marcio napisał(a) w wiadomości: <8qmqj8$6up$1_at_nospam_news.ipartners.pl>...
Jacek Meyerhold wrote in message <8qm17p$86f$1_at_nospam_news.onet.pl>...
Andy napisał(a) w wiadomości: <8qji88$59a$1_at_nospam_news.tpi.pl>...
Jacek Meyerhold napisał(a) w wiadomości: <8qj3a5$ks8$1_at_nospam_news.onet.pl>...


Na razie rozwiązałem ten problem nieco inaczej. Napisałem sobie procedury
zapisu i odczytu do PCF 8583. Na razie DZIAŁA. Do EEPROMów wrócę za jakiś
czas. Dziękuję wszystkim za pomoc i wsparcie.
Pozdrawiam,
Jacek Meyerhold


Poprzedni Następny
Wiadomość
Spis treści
From: Romuald Bialy <romekb_at_nospam_polbox.com>
Subject: Re: 24C32 - problem
Date: Tue, 26 Sep 2000 19:23:04 +0200


Jacek Meyerhold wrote:
Na razie rozwiązałem ten problem nieco inaczej. Napisałem sobie procedury
zapisu i odczytu do PCF 8583. Na razie DZIAŁA. Do EEPROMów wrócę za jakiś
czas. Dziękuję wszystkim za pomoc i wsparcie.
Pozdrawiam,
Jacek Meyerhold

Drobna uwaga ! Pamieci 24C32 i wiekrze obsluguje sie troszku inaczej
niz tego PCF8583 czy male eepromy (do 24C16). One maja rozszerzony
protokol I2C czyli operacja np. zapisu wyglada np tak:
1. Start
2. Wyslanie adresu ukladu do zapisu (np 0A0h przy nogach 1,2,3
zwartych do masy)
3. Wyslanie adresu strony pamieci (00-0Fh dla 24C32)
4. Wyslanie adresu komorki na stronie (00-FFh)
5. Wyslanie bajtow danych do zapisu (max 16 bajtow - tryb page write)
6. Stop

Odczyt:
1. Start
2. Wyslanie adresu ukladu do zapisu (np 0A0h przy nogach 1,2,3
zwartych do masy)
3. Wyslanie adresu strony pamieci (00-0Fh dla 24C32)
4. Wyslanie adresu komorki na stronie (00-FFh)
5. Start
6. Wyslanie adresu ukladu do odczytu (np 0A1h przy nogach 1,2,3
zwartych do masy)
7. Odczyt bajtu (x bajtow) danych - tu dowolna ilosc bajtow
odczytywanych potwierdzamy kazdy przez ACK
8. Odczyt ostatniego bajtu przy ktorym nie wysylamy ACK do pamieci.
9. Stop

W obu przypadkach jezeli po punkcie 2 pamiec nie odpowie ACK to nie
jest gotowa i nalezy powtorzyc jeszcze raz punkt 1 i 2.
Tryb "page write" ma dodatkowe uwarunkowania, ale o tym dokladnie
pisza w PDF'ach.

--
Pozdrawiam.... Romuald Bialy
E'mail: romekb_at_nospam_polbox.com
WWW: http://www.polbox.com/r/romekb