eeprom

Başlatan erginkavakci, 09 Ocak 2006, 13:17:49

erginkavakci

merhaba arkadaşlar ben bir eeprom kopyalayıcı üzerinde çalışıyorum
devreyi proteusta yapıp çalıştırdım ve birde lcd li kontol cihazı yaptım gayet güzel çalıştı ben tv tamircisiyim bir analog rcıvır ın eepromunu
kopyaladım ama olmadı neden olabilir yardımlarınızı bekliyorum teşekkür ederim
kod:
addr var byte 
overi var byte
cont con %10100000
 
  
      
       
   if portb.0=1 then
   i2cread porta.0,porta.1,cont,addr,[overi]
   i2cwrite porta.2,porta.3,cont,addr,[overi]
  
   endif
http://www.ergin.ustasi.com http://www.erbaalilar.tr.cx [email]mucit_ergin@hotmail.com[/email]

Petek

Tavsiyem PCye seri porttan bağlanan ve beslemesini de PC den alan JDM programlayıcıyı yapın. Icprog programı ile sorunsuz kullanabilirsiniz. İstediğiniz 24XX serisi eepromları PCye yedekleyebilirsiniz.
http://fileshare.eshop.bg/ burada pek çok marka (Arçelik, vestel, beko,..) için bin dosyaları mevcut.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

erginkavakci

ben zaten  pc den eepromu programlayıp yedek alıyorum ama ben pc den bağımsız yapmak istiyorum kodları vermiştim önceki mesajımda biri yardımcı olursa sevinirim hatam acaba nerde???
http://www.ergin.ustasi.com http://www.erbaalilar.tr.cx [email]mucit_ergin@hotmail.com[/email]

mhk

Eğer kullanılan eeprom 256 byte'tan fazla ise
addr var byte  yerine
addr var word  olmalı
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana

Petek

Proteusta yaptığınızı dsn dosyasını ve program dosyalarını (hexi de olsun) gönderin oradan bakalım. Yukarıdaki 7 satırdan bir şey anlaşılmıyor. Herhalde ana programınızın parçası. Sadece 1 baytını kopyalamak için bir alt program parçasıda olabilir.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

erginkavakci

merhaba benim yapmaya çalıştığım eeprom kopyalama devrem i burdan indirip inceleyip tavsiyelerinizi bekliyorum

http://www.megaupload.com/tr/?d=LO83Q7HD
http://www.ergin.ustasi.com http://www.erbaalilar.tr.cx [email]mucit_ergin@hotmail.com[/email]

Petek

Alıntı yapılan: "erginkavakci"merhaba benim yapmaya çalıştığım eeprom kopyalama devrem i burdan indirip inceleyip tavsiyelerinizi bekliyorum

http://www.megaupload.com/tr/?d=LO83Q7HD

Hocam indirdim de, basic programın (PbP yu bilmiyorum) çok eksik. İlk önce iki farklı i2c PbP da yazılabiliyormu bunun cevabını bulmak lazım. Yazılamıyorsa kendin emulasyo yapman gerekiyor. Bu konuda Microchip ANlerinden, piclistten veya Jalden gerekli rutinleri alabilirsin. İkincisi her zaman 24c08 kopyalayacaksan (ve pagewrite işlemi yaptırmayacaksan) 8192  tur dönen bir döngü tanımlayacaksın. Döngünün indeksi seri eepromun adresi olacak. O nedenle döngüyü 0 dan başlat 8191 (dahil) e kadar devam et. Birinden okutacak diğerine yazdıracaksın. Emulasyon yaptığın için her bir yazdırmanın arkasından 3-5 ms kadar bekleme yapman gerekebilir (ack polling yapmıyacaksan). Yazma işleminin bitiiğini göstermesi için bir yere led koy ve işlem bitince yansın.

Kolay gelsin.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

fsan

@erginkavakci
merhaba, sağol senin bu eeprom kopyalama isi benimde ilgimi cekti oturup kisa bir pbp test kodu yazdim. Pratik olarak deneme imkanim yok, calisirmi bilmiyorum.

EEPROM KOPYALAYICI


DEFINE LCD_DREG PORTB   
'* LCD data bacaklarý hangi porta baðlý? 
DEFINE LCD_DBIT 4      
'* LCD data bacaklarý hangi bitten baþlýyor? 
DEFINE LCD_RSREG PORTB   
'* LCD RS Bacaðý Hangi Porta baðlý ? 
DEFINE LCD_RSBIT 2      
'* LCD RS bacaðý Hangi Bite baðlý ? 
'*** DEFINE LCD_RWREG PORTB 
'*** DEFINE LCD_RWBIT 2 
DEFINE LCD_EREG PORTB   
'* LCD Enable Bacaðý Hangi Porta baðlý? 
DEFINE LCD_EBIT 3 
'* LCD Enable Bacaðý Hangi bite baðlý ? 
DEFINE LCD_BITS 4 
'* LCD 4 bit mi yoksa 8 bit olarak baðlý? 
DEFINE LCD_LINES 2 
'* LCD Kaç sýra yazabiliyor 

cont  con %10100000 '$A0 

addr  var byte 
iveri var byte 
overi var byte 

Adat   var porta.0  ' okunacak eeprom 
Aclk   var porta.1 

Bdat   var porta.2  ' Yazdirilacak eeprom 
Bclk   var porta.3 

cnt   var byte      

TrisA = 00101 'porta.0,2 pinler giris digerleri cikis 
PortA = 0 

TrisB = 0 ' portb pinler, hepsi cikis 
PortB = 0 

clear 

Main: 

    '------------------------------------------------------- 

    lcdout $fe,1,"EEPROMA'a KAYIT" 

    for cnt = 0 to 15 
        overi = cnt 
        addr = cnt 
        i2cwrite Adat,Aclk,cont,addr,[overi] 
        lcdout $fe,$c0,"ADDR:",dec Addr," VERI:",hex2 overi 
        pause 500 
        lcdout $fe,$c0,"                " 
    next 
    
    lcdout $fe,$c0,"OK!             " 
    pause 2000 

    '-------------------------------------------------------- 
    
    lcdout $fe,1,"EEPROM KOPYA" 

    for cnt = 0 to 15 
        addr = cnt 
        i2cread Adat,Aclk,cont,addr,[iveri] 
        lcdout $fe,$c0,"ADDR:",dec Addr," OKU:",hex2 iveri 
        pause 1000 
        lcdout $fe,$c0,"                " 
        overi = iveri 
        i2cwrite Bdat,Bclk,cont,addr,[overi] 
        lcdout $fe,$c0,"ADDR:",dec Addr," YAZ:",hex2 overi 
        pause 500 
        lcdout $fe,$c0,"                " 
    next 
    
    lcdout $fe,$c0,"OK!             " 
    pause 2000 

    '--------------------------------------------------------------- 

    lcdout $fe,1,"KOPYA KONTROL" 

    for cnt = 0 to 15 
        addr = cnt 
        i2cread Bdat,Bclk,cont,addr,[iveri] 
        lcdout $fe,$c0,"ADDR:",dec Addr," OKU:",hex2 iveri 
        pause 500 
        lcdout $fe,$c0,"                " 
    next 
    
    lcdout $fe,$c0,"Kolay gelsin :) " 
    pause 5000 
    '-------------------------------------------------------------- 
    
 goto main 
  
 end


yalniz burada kopyalanacak(original) olan eeprom daki WP (write protect) pini VDD/VCC ye baglamak lazim.
Yazilacak eeprom WP pin ise GND baglamak lazim.

http://www.gs.ru/soft/si/ss2/doc/24LC08B.pdf
Datasheet bu eeprom ( 4 x 256 x 8 ) seklinde, yani 4 tane 256 byte blok var.
Bu yüzden eeprom'un 255 ten yüksek adreslerine ulasabilmek icin
Control word icerisinde (%1010 0000) sona yakin | 1 | 0 | 1 | 0 | X | b1 | b0 | R/W | blok addressing bit'ler ile oynamak lazim.
Öndeki 1010 = $A eeprom device code, "X" ise "1" veya "0" olabilir (don't care).
R/W bit ise PBP'de I2Cread veya I2Cwrite komutlari tarafindan otomatik olarak "1" veya "0" olarak ayarlaniyor.

örnek: eeprom 256-511 adresleri icin 2.blok

1.blok -> b1=0, b0=0 (0-255 arasi adresler)
2.blok -> b1=0, b0=1 (256-511)
3.blok -> b1=1, b0=0 (512-767)
4.blok -> b1=1, b0=1 (768-1024)

yani toplam 1024 adres, her adreste 1-byte(8-bit) veri saklanabilir.
yani 1024 x 8 = 8k eeprom

Proteus isis *.dsn ve pbp *.bas dosyalar:
http://home.no/fsan/projects/Diverse/EEPROM%20KOPYALAYICI

Kolay gelsin

Petek

dolar işareti önüne bir \ işareti koyarsanız görüntüdeki o kırmızılıklar gidecetir. Siz edit yaparken yazdığınız size şöyle görünmeli \\$

Yukarıda 8192 döngü demiştim. Yanlış olmuş. 2408 1Klık bir seri eeprom. fsan arkadaşımızın yazdığını okurken farkettim.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

fsan

merhaba Petek
senin bahsettigin $ isareti öncesi \\ isareti koymak neden gerekiyor anlamadim ben ie kullaniyorum bir sorun yok ama sizin icin yine de koydum oldumu ;) peki simdi nasil görünüyor?

CaFFeiNe

mathplayer plugini ile ilgili olabilir bende yüklü değil ve $ gibi işaretlerde problem yok

Petek

Alıntı yapılan: "fsan"merhaba Petek
senin bahsettigin $ isareti öncesi \\ isareti koymak neden gerekiyor anlamadim ben ie kullaniyorum bir sorun yok ama sizin icin yine de koydum oldumu ;) peki simdi nasil görünüyor?

Bende böyle görünüyor.
http://www.hemenpaylas.com/download/77333/screenshot.JPG.html

Merak ederdim neden kimse şikayet etmez bu konuda diye. Sadece bende mi çıkyor böyle acaba. İyi de ben MathPlayer plugini yüklemedim. Sadece font yükledim. Gerisini java scripti hallediyordu... Şimdi ie ile baktım ve dediğiniz doğru. Mozilla kullanıyorum ve herhalde fontları yüklerken birşeyleri yanlış yaptım. Teşekkürler. Bu konuda bir başlık açmıştım, neden orada uyarmadınız beni  8)
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

CaFFeiNe

@Petek
senin için gerçekten işkenceden farkı yokmuş :)
açtığın topici görmemişim demekki yoksa daha önceden uyarırdım :)

Petek

Sorun değil. Alıntıya cevap deyince düzgün görünüyor. Ama o da uzun iş. Teşekkürler.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

SpeedyX

evet bendede öyle görünüyor, nasıl düzeltiriz bunu?
önce bir hata mesajı veriyor ..... fontları yüklü değil diye, sonra yazılar kırmızı oluyor ve çöz çözebilirsen :)