24C128 problem

Snail Instruments snail
Středa Březen 17 11:43:47 CET 2004


>Diky za pomoc, ale ja jsem pri dalsim experimentovani zjistil, ze kdyz tu
pamet 
>dam do programatoru a zacnnu ji cist, tak cela komunikace probehne v
poradku, 
>potvrdi se vse, co se potvrdit ma, ale cteni adres je docela zmatene.
Pokud ctu 
>nekolik adres po jedne od zacatku a to zpusobem, ze poslu cislo I2C, vyssi, 
>nizsi adresu, I2C cislo a prectu data a to cele opakuju nekolikrat, tak se
cte 
>adresa 0, 4, 8, 12, atd...

Spravna sekvence je: Start, I2C cislo pro zapis (sude), horni adresa, dolni
adresa, start, I2C cislo pro cteni (liche), cist data, cist data, cist
data...., atd, treba celou pamet najednou,...Stop. Po precteni kazdeho byte
poslat acknowledge, po precteni posledniho not-acknowledge, jinak muze
pamet zblbnout, pridrzi si SDA (je-li prvni bit nasledujiciho byte 0) a
master nemuze vygenerovat stop bit.

Cim by mohlo byt zpusobeno preskakovani adres si nedovedu predstavit, ale
to jeste neznamena, ze to nejde udelat.

Dalsi vec - pozor na casovani, tahle pamet je asi stavena na 400kHz, ale
presto bych prosel kazdy jednotlivy dynamicky parametr, jestli to nekde
nejde moc rychle. Je to pomerne pracne, mozny je i tento postup: nejdelsi
parametr je treba 1.2us, instrukcni cyklus procesoru je rekneme 2us, nemuzu
tedy nikde mit dve hrany rychleji za sebou, nez 2us. Cteni a zapis portu
budou ovsem probihat v jine casti instrukcniho cyklu.

Pokud mate alespon obycejny osciloskop, muzete se podivat, co se deje na
sbernici - cteni je treba uzavrit do nekonecne smycky, pripadne lze na
nejakem vyvodu procesoru generovat synchronizacni impuls pro externi
sychronizaci.

Traduje se, ze pameti nevyuzivaji moznost natahovani hodin (clock
stretching), takze kod lze zjednodusit tim, ze SCL ovlada master uplne
podle sveho a dokonce nemusi mit ani odpor na plus (musi to pak byt ovsem
normalni vyvod, nikoliv volny kolektor). Pokud je to na '51, tak odpor je
uz v procesoru a vyndat ho nelze.

Jeste me napada, jestli taky spravne funguje ten programator, trebaze je
pravdepodobnost asi mensi, tuto moznost bych zcela nevyloucil, to se pak
muze clovek uhledat, a chybu stejne nenajde.

>Pokud by to bylo mozne, chtel bych vas pozadat o zaslani zdrojoveho kodu 
>komunikace s pameti.
V zasade ano, ale je to pro PIC16C73, adresove bity jsou trochu zprehazene,
navic cteni je jedna z uloh v multitaskingovem prostredi, cte vzdy jeden
byte ale sbernici uvolni az po precteni stranky, aby mohla dalsi uloha
obnovit displej, pripadne zapsat do RTC. Neni to samostatna rutina, ale
cast dlouhe nudle hlavni smycky programu. Je to proste znacne zasmodrchany.
Design hardware je navic ponekud krkolomny, ale jako polehcujici okolnost
mohu uvest, ze jsem ho nedelal.

Jestli to pomuze, muzu Vam alespon drzet palce, pokud budou dalsi negativni
vysledky, ozvete se. Muzete zkusit poslat i svuj kod do konference, treba
nekoho neco napadne.

Josef Hanzal


======================================================================
Electronical devices for chemical laboratory, custom electonics design
----------------------------------------------------------------------
Snail Instruments                     Josef Hanzal, M. S.
Vojanova 615                          phone/fax: +420-311-24433
266 01 Beroun                         e-mail: snail@iol.cz
Czech Republic                        URL: http://www.vitrum.cz/snail/
======================================================================






Další informace o konferenci Hw-list