I2S nedir?

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
21,579
I2S, bir stereo ses sinyalinin dijital olarak bir komponentten diğerine iletilmesini sağlayan bir sinyal bağlantı standardıdır.

Öncelikle neden I2S gibi bir sinyalizasyon standardına gerek var onu irdeleyelim. Diyelim yüksek kaliteli bir medya oynatıcısı tasarlıyoruz ve bu cihaz, 96 kHz, 24 bit stereo olan bir ses dosyasını çalabiliyor. Bu cihazdaki işlemcinin, ses dosyasını açması gerekiyor ve iki tane 24 bitlik ses örneğini sağ ve sol DAC'lara göndermesi gerekiyor. Eğer DAC'lar paralel bus kullanıyorsa, bu durumda işlemci ile DAC'lar arasında sadece ses örneklerinin iletimi için 48 tane data bitine ihtiyacımız var! Bir de senkronizasyon amaçlı da birkaç tane data/kesme biti olacağından EN AZ 50 bitlik bir data hattına ihtiyaç var. Bu kadar veri hattına sahip işlemci sayısı sınırlıdır. Ayrıca bu kadar hat üzerinde ölçüm ve doğrulama yapmak da çok zordur ve çok yüksek sayıda data hattını destekleyen bir lojik analizöre ihtiyaç olur. Bunun dışında 50 tane hattın üzerinde sürekli değişen dijital sinyallerin olması, devrede şaseleme ve parazit açısından zorluklar doğurur.

Tüm bu sebeplerden dolayı günümüzde bütün veri yollarındaki trend, seri veri iletimi yönündedir. İşte I2S de tam olarak bunu sağlamaktadır. Normalde 24 bit örneklerden oluşan stereo bir sinyalin dijital olarak iletimi en az 50 bitlik veri hattı gerektiriyorken, I2S ile bu işlem sadece 3 veri hattı ile yapılabilmektedir, çünkü tüm veri seri olarak iletilmektedir.
 
I2S deki bu üç tane sinyal hattının ismleri sırasıyla BCLK, LRCLK, DATA dır.

BCLK, her bir veri bitinin sınırlarını belirleyen ve iletimi senkronize eden saat sinyalidir. LRCLK ise stereo sinyalin sağ veya sol kanalının sınırlarını belirleyen ve iletimi senkronize eden saat sinyalidir. DATA ise veriyi oluşturan bitlerdir.

BCLK'in her yükselen kenarında DATA hattındaki veri alınır veya gönderilir. LRCLK 0 ise sol kanalın verisi iletiliyor, 1 ise sağ kanalın verisi iletiliyor.

I2S ile en fazla 32 bitlik örneklere sahip ses sinyali iletilebilir. O yüzden LRCLK sinyalinin yüksek ve düşük alanlarında 32 tane BCLK palsı vardır.
 
Aşağıda şu anda çalıştığım bir cihazda, işlemcinin I2S çıkışından DAC'ın I2S girişine giden sinyali görüyoruz. Burada işlemciden 44.1 kHz, 16 bit bir ses dosyası çalıyoruz.

En alttaki sinyal (mavi) BCLK. Ortadaki sinyal (yeşil) LRCLK, üstteki sinyal (sarı) DATA. Aslında DATA sinyali sürekli olarak sese göre değişiyor, ama burada sadece anlık bir görüntüsünü almış oluyoruz.

LRCLK frekansı, örnekleme frekansına eşit ve 44.1 kHz. BCLK frekansı ise şu şekilde hesaplanır:

fBCLK = (kanal sayısı) x (her kanalın maksimum bit sayısı) x (örnekleme hızı)

bizim değerleri yerine koyarsak:

fBCLK = 2 x 32 x 44100 = 2.8224 MHz

a.png
 
Son düzenleme:
Aşağıda ise 96 kHz, 24 bitlik bir müzik dosyasını çalıyorum. Görüldüğü gibi DATA bit sayısı daha fazla, LRCLK ise 96 kHz olmuş.

a.png
 
Bazan I2S veri hattındaki veri iletiminin hatasız olduğundan emin olmak için, içeriğinde sabit veri olan ses dosyaları çalıyorum. Örneğin aşağıda, 44.1 kHz, 16 bit bir ses dosyası çalıyorum ve bu dosyanın içinde hem sol kanal hem de sağ kanal için 5515h sabit sayısı gönderiliyor. Sonra da osiloskopta özel trigger tanımlayıp bu dalga şeklindeki bir değişiklikte trigger alıyorum. Eğer uzun süre trigger oluşmazsa veri iletiminin güvenilir ve sağlam olduğuna karar veriyorum.

a.png
 
Bilgiler için çok teşekkür ederim. I2S konusunda pek Türkçe bilgi yok
 

Çevrimiçi personel

Forum istatistikleri

Konular
5,663
Mesajlar
97,421
Üyeler
2,440
Son üye
turankaya

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top