Harici eeprom A0, A1, A2 uçları hakkında

Başlatan ziyaretci, 16 Nisan 2014, 12:45:41

ziyaretci

Öncelikle merhaba,

Harici eeprom'da bulunan A0, A1, A2 uçları hakkında öğrenmek istediğim bir konu var. Şöyle ki; şimdiye kadar ki araştırmalarımda kendi tahminimi söyleyerek bilgimi sizler aracılığıyla netleştirmek istiyorum.

Misal olarak 2kBit yani 256 byte'lık bir harici eeprom olsun. A0, A1, A2 uçları sırasıyla;

0-000  ->>1. 256/8= 32byte adres
1-001  ->>2. 256/8= 32byte adres
2-010   .
3-011   .
4-100   .
5-101   .
6-110   .
7-111   .

Örnek olarak CCS C 'deki yazma fonksiyonunda  " write_ext_eeprom(adres,veri); " 1. parametre 0(dahil) ile 31(dahil) arası değer mi alacak?

Yani kısacası elimizde varolan 256byte 'lık adresi 8 bölüme ayrılarak 32byte, 32byte.. olarak mı yazma işlemleri sağlanıyor?

Vereceğiniz bilgiler için teşekkür ederim.

sfiber

O bacaklarla eepromun adresini belirliyorsun.

elektronart

Muhtemelen I2C ile haberleşen EEPROMlardan bahsediyorsunuz. Eğer öyle ise;
Bu eepromların yazılımsal olarak erişilebilen bir adresleri vardır. I2C hattına bu adresi yazdığınızda bu eeproma erişebilirsiniz. Ancak kartınızda birden fazla aynı eepromdan varsa bu durumda hepsinin adresi aynı olacak ve siz doğru erişim sağlayamıyacaksınız. A1, A2, A3 kullanılarak eepromun I2C ile erişilebilecek olan adresini değiştirebilirsiniz.
Örnek A1,A2,A3 = 0 olduğunda adresi 0x10 ise, A3, A2 = 0, A1 = 1 olduğunda adresi 0x11 olur. Böylece adresleri aynı iki eeproma farklı adreslerle erişebilirsiniz.
Açık Elektronik

diot

a0,a1,a2 bacaklar CS (chipselect) bacaklarıdır. 8 adet serial epromun sda scl bacaklarını paralel bağlayarak a0,a1,a2 0->7 ye ayrı ayrı bağlanarak. kullanılır. control baytı yollandığında device select bus bitleriyle bu ciplerden biri seçilir. seçilen çip okuma yazma yapılır.
http://ww1.microchip.com/downloads/en/DeviceDoc/21061H.pdf linkinde sayfa 5 de açıklama mevcut.

ziyaretci

Evet I2C.
Verdiğiniz aydınlatıcı bilgilerden dolayı teşekkür ederim.

CCS C derleyicisindeki 24c64 programına baktım. Kontrol bilgisi a1, a2, a3 (000) ile tanımlanmış. Ekleyeceğimiz eeprom sayısına göre bu kontrol bilgisini değiştirmek gerekiyor demi? Ve birde şunu anlayamadım. Yüksek değerli 4 bit sürekli (1010) değerini alır demiş Serdar Çiçek'in kitabı bu yüksek değerli 4 bit ne işe yarıyor?


diot

yukarıda verdiğim linkteki katalogda da görüleceği üzere, command byte nın ilk 4 biti slave adres olarak geçer. standartta 1010 olarak durur. Yani herhangi bir anlamı yok, imalatçı firmanın tasarrufunda olan bir durum o şekil yapmışlar. sanırım control byte olduğunu bildirmek için olabilir.

Kabil ATICI

#6
Aynı i2c hattı üzerine başka tür kontrol entegreleri veya DS1307 gibi saat entegreleri takarsan bunların belirttiğin bitleri farklıdır. Örneğin  barometre yapımında kullanılan modüller var. Bunların içinde eeprom ve ölçüm için kullanılan iki ayrı bölüm var. Ama ikisi de aynı fiziksel bağlantıyı kullanıyor.  bu kimlik kodu bölümü burada işe giriyor..

örneğin epprom için
1010xxx (x burada A0,A1,A2 temsil eder.)

DS1307 için
1101000 şeklindedir.

Bu başka tür i2c haberleşmeli entegrelerde daha farklı bit değerleri alabiliyor.
ambar7

elektronart

Alıntı yapılan: erkantr67 - 16 Nisan 2014, 13:33:23
Yüksek değerli 4 bit sürekli (1010) değerini alır demiş Serdar Çiçek'in kitabı bu yüksek değerli 4 bit ne işe yarıyor?

I2c hattında bir entegrenin adresi 7 bittir. 8. bit onun okuma mı yazma mı olduğunu belirtir. 4 bit adres sabit, (1010) 3 bit adres bacaklardan geliyor(A2 A1 A0), bir de okuma yazma biti geldiğinde eder 8 bit. Yüksek değerlikli 4 bit ve bacaklara vereceğiniz değerler çipin adresi oluyor.
Açık Elektronik

ziyaretci

Bilgiler akmış resmen teşekkür ederim.