Donton
Guest
Wed Aug 02, 2006 6:52 pm
witam.
w pewnym ukladzie jest pamiec 24c02 atmela, a w chwili obecnej potrzeba
2x wiecej miejsca, wiec zastosowalem 24c04 i jeszcze przed zmiana kodu w
programie na obsluge obu polowek pamieci 24c04 zrobilem test. okazalo
sie, ze po wlozeniu 24c04 w miejsce 24c02 niektore bajty zachowuja sie
dziwnie. dziwnie, czyli nie zapisuja sie i sa to zawsze (_zawsze_) te
same bajty. dane wpisuje do pamieci eeproma po kolei, tak jak leci od
komorki 0 w gore i zawsze te same bajty maja co innego niz to co wyslalem.
czy moge prosic o jakas sugestie?
ps. oczywiscie drugiego 24c04 nie mam w tej chwili na podmiane :-/
ps2. 24c02 jest atmela, a 24c04 jest STMicroelectronics.
--
Donton
PAndy
Guest
Wed Aug 02, 2006 7:40 pm
"Donton" <ekhm@no.this.time> wrote in message
news:eaqs96$84u$1@opal.icpnet.pl...
ciach
tak - powinno w 99,99%, w wiekszosci urzadzen wstawialem nawet 256 i
dzialaly
Donton
Guest
Wed Aug 02, 2006 7:48 pm
PAndy napisał(a):
Quote:
tak - powinno w 99,99%
ok.
Quote:
w wiekszosci urzadzen wstawialem nawet 256 i
dzialaly
256?
--
Donton
Donton
Guest
Wed Aug 02, 2006 8:25 pm
Donton napisał(a):
Quote:
w pewnym ukladzie jest pamiec 24c02 atmela, a w chwili obecnej potrzeba
2x wiecej miejsca, wiec zastosowalem 24c04 i jeszcze przed zmiana kodu w
programie na obsluge obu polowek pamieci 24c04 zrobilem test. okazalo
sie, ze po wlozeniu 24c04 w miejsce 24c02 niektore bajty zachowuja sie
dziwnie. dziwnie, czyli nie zapisuja sie i sa to zawsze (_zawsze_) te
same bajty. dane wpisuje do pamieci eeproma po kolei, tak jak leci od
komorki 0 w gore i zawsze te same bajty maja co innego niz to co wyslalem.
czy moge prosic o jakas sugestie?
znalazlem powod takiego zachowania :)
ta wieksza pamiec wymagala zwiekszenia czasow krazenia w petli delay() w
trakcie komunikacji po i2c.
ciekawa sprawa, bo na tych 24c02 od atmela poszlo juz duzo sterownikow i
nie bylo nigdy problemow, a pamiec 24c04 z STMicroelectronics jest taka
powolna. ciekawe, czy to "wina" producentow i czy rowniez 24c04 atmela
tez bedzie podonie dzialala?
--
Donton
marcom
Guest
Thu Aug 03, 2006 7:24 am
Quote:
ta wieksza pamiec wymagala zwiekszenia czasow krazenia w petli delay() w
trakcie komunikacji po i2c.
Witam.
Lepiej tak nie pisac programow. Przeciez I2C po to ma sygnaly ACK, zeby
miec pewnosc, a nie dzialac w ciemno i stosowac jakies opoznienia.
To juz nie wina pamieci, tylko sposobu dzialania progamu.
Inna sprawa jest to, ze w PDF-ie na pewno jest napisane ile max. moze
trwac zapis i w zalenosci od producenta moze sie on roznic.
Quote:
ciekawa sprawa, bo na tych 24c02 od atmela poszlo juz duzo sterownikow i
nie bylo nigdy problemow, a pamiec 24c04 z STMicroelectronics
Akurat sie udawalo, bo widocznie byl duzy zapas czasu, ale to nie jest
dobra metoda.
Mariusz
Piotr Gałka
Guest
Thu Aug 03, 2006 11:24 am
Użytkownik "Donton" <ekhm@no.this.time> napisał w wiadomości
news:ear1oi$fvt$1@opal.icpnet.pl...
Quote:
znalazlem powod takiego zachowania :)
ta wieksza pamiec wymagala zwiekszenia czasow krazenia w petli delay() w
trakcie komunikacji po i2c.
Piszesz o komunikacji, a nie o czasie programowania, który (według pdf-ów)
musi być w obu wypadkach ustawiony na 5ms (jeśli nie chcesz stosować
pollingu i mieć gwarancję, że zawsze zadziała).
W komunikacji widzę pewne różnice. Na przykład:
AT wymaga stanu niskiego na CK przez 1200ns (dla VCC 2V7 i 5V0).
Dla 1V8 ten czas jest znacznie większy z tego można przypuszczać, że jak dla
2V7 wystarcza 1200ns, to dla 5V może faktycznie wystarcza dużo mniej.
ST (zarówno wersja R jak i W) wymaga 1300ns.
Może miałeś 1000 i dla AT przy 5V starczało, a dla ST już nie.
Teraz zwiększyłeś i już jest OK.
P.G.