6-7 tane eprom ic2 protokol ile

Başlatan gladi, 13 Temmuz 2009, 16:18:54

gladi

arkadaşlar 6-7 hatta 9-10 tane eprom bağlamam lazım ... bunu yapabiliyormuyuz ? ...nete de baktım ya bana raslamadı yada aramayı beceremedim bilemiyorum ...

okuma ve yazmayı sıra ile yapmam gerekiyor ...
misafir olan kimse, beraberce getiremediği birşeye kalbini bağlamaz.

f_machine

bildiğim kadarıyla, en fazla 8 tane bağlayabiliyorsun.

gladi

bağlantı şekli nasıl acaba bir bilginiz varmı ...
misafir olan kimse, beraberce getiremediği birşeye kalbini bağlamaz.

Tagli

Protokol nedir? Clock ve data hatları ortak olacak ve bunlarda pullup dirençleri olacak. I2C ise bunlar yeterli. SPI ise her çipe bir de slave select (yoksa chip select miydi?) hattı gitmesi gerekiyor.

Ayrıca bu hafıza çiplerinin üç bacağı vardır A0, A1, A2 diye. Bunları sanki ikili tabanda bir sayı gibi düşünüp uygun şekilde +5V veya toprağa bağlamalısın. Bunlar çip adreslerinin 7 bitinin 3'ünü belirliyor. Böylece 8 çipe farklı adreslerle erişebilirsin.
Gökçe Tağlıoğlu

hasangurlek

Epromları neye bağlayacaksın ?

I2C protokole ve 3 bit donanımsal adrese (A0-A2 gibi bacak isimleri ile anılır) sahip epromları aynı data hattında 8 adet kullanabilirsin.

Bu sekizer gruplu epromların Vcc beslemelerini direk değilde 74LS138 gibi bir binary çözücü (3to8) çıkışına bağlayacağın pnp transistör ile sürersen 8grupx8adet=64 epromu aynı data hattı ile kullanabilirsin. Bu durumda MCU nun 3 pinini daha bu işe ayırmalısın (çözücünün enable pinleri hariç).

Ayrıca çözücü kullanmadan I2C hattını anahtarlama yöntemi ile istediğin guruba yönlendirebilirsin.

Birde bu kadar eprom bilgisini ne için kullanacaksın ? 24c512 65536 byte bilgi depolar buda yaklaşık 17 A4 dolusu metin demektir. Eğer glcd için kullanacaksan 128x64 için pixel bazında 8 ekran görüntüsünü 1 adet 24c512 depolayabilir.
http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

gladi

en az bir haftalık tarih saat sensör bilgileri dakika dakika kayıt olacak ...

ic2 protokol
pic 18f452
misafir olan kimse, beraberce getiremediği birşeye kalbini bağlamaz.

hasangurlek

Tarih, saat bilgisini sürekli kaydetmene gerek yok, başlangıçtan itibaren her 60. kayıt yeni saatin başlangıcı, her 1.440 ıncı kayıt yeni 24 saatin başlangıcı olur. Sadece epromun başına başlama tarih ve zaman bilgisini, son kaydın hangi güne ait olduğunu (okuma sıralaması için) ve son kayıt adresini (yeni kayıt adresi için) yazman yeterli olur. Eprom dolduğunda ise ilk kayıt ilk silinir mantığı ile ilk kaydın üzerine yazar ve başta yaptığın tarih kaydını bir artırırsın. Kısacası zaman takibini programla halledebilirsin. Bu şekilde her kayıt için 5 bytelık zaman bilgisinden tasarruf edebilirsin.

60 dakika x 24 saat = 1440 kayıt/gün

Örneğin sensör datası 3 byte ise bir saatlik kayıt için 3x60= 180 byte yer kaplar. Epromdan 15.dakikadan itibaren bir saatlik veriyi okumak için 3x15= 45 adresinden başlar, 180 byte okuma yaparsın. 4. gün 3. saat bilgisi için ise 1440x3byte=4320x(4-1)=12960 (ilk günü 0 alırsan 4-1 yerine x4) ilk kayıdın başlangıç adresini verir. Bu şekilde 3 byte data için 24c512ye 15 günlük kayıt sığar ama biraz kod uzar :)
http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

gladi

çok doğru ... çok sağol ...

burada halledilmesi gereken ayların 29 - 30 - 31 gibi olanları sadece ay sonlarını kaydetsek yeterli onuda aslında pic e yazdırmak lazım ... geriye donuk okumalarda mesala ayın 1 de geriye donuk hesaplamalarda gecen ay 29 örnegi gibi

yani şöyle toparlayacak olursak ;

pic e bu gunun tarihi sadece bir kerelil yazılır 24 saat geçip yeni gün oluşunca ikinci kayıt tarihi arkasına yazılır ... bölelikle 7-8 gun ayın hangi tarihleri  hangileri oldugu takip edilir ...

daha mantıklı ve kestirme olabilirmi ? bu şimdilik güzel oldu ...
misafir olan kimse, beraberce getiremediği birşeye kalbini bağlamaz.

onurksp

ben proje olarak data logger yapmıştım.dediğn gibi verileri dakika dakika kayıt etsen bile sana bir tane 24Lc512 eeprom yater.Bu eepromlardanda 8 tane kullanabilirsin chip select yaparak.

hasangurlek

Ayın son gününü takip etmek için DS1307 gibi bir RTC kullan. RTC yi her okumada bir önceki tarihi yedekle, gün 1 olduğunda, yedeğe attığın son kayıt sana ayın kaç gün çektiğini verir.
http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

hasangurlek

Bazı aylar 30 ve bazı aylar 31 gündür ve bunlar her yıl aynıdır, şubat 28 gün olmasına rağmen 4 yılda bir 29 gün çeker. İlk 29 gün çeken yılı takvimden tespit ettikden sonra gerisi çorap söküğü gibi gelir. Bu mantıkla oluşturduğun kod ile ayın son günü işini halledebilirsin.

Yada PC lerdeki gibi tarih takip edebilirsin, muhtemelen görmüşsündür bazı cihazlar 1999-2099 gibi tarih aralıklarında tarihi hesaplayabilir, çünkü tarih bilgisi tabloya kayıtlıdır ve bu tablodan okur, 2099 dan sonra sapıtır. Cihazın ekonomik ömrü 10-15 yıl olduğu için zaten önemli değildir. Sende kullanacağın döneme esas böyle bir tablo oluşturup, kullanabilirsin.
http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

gladi

evet RTC kullanıyorum devrede ... yoksa tarih sati tutturmak zor programda ...
misafir olan kimse, beraberce getiremediği birşeye kalbini bağlamaz.