Haberler

Temel Elektronik: Inter-IC Ses (I2S) Veriyolu ile Yüksek Kaliteli Ses

CD çalar, 20. yüzyılda vazgeçilmez bir ses ürünü olarak, bir kutuda bir taşıyıcı ve bir DAC içerir. Ancak, bir CD çalardaki taşıyıcı için bilgilerin DAC ile nasıl bağlantılı olduğunu hiç merak ettiniz mi? Inter-IC Sound (I2S) Bus anahtar!

Bu blogda aşağıdaki konuları ele alacağım:

  • Inter-IC Sound (I2S) Girişi
  • Inter-IC Sound (I2S) ve Inter-Integrated Circuit (I2C) Karşılaştırması
  • I2S Nedir?
  • I2S Çalışma Modları
  • Arduino ve Raspberry Pi ile I2S

Inter-IC Sound (I2S) Girişi

CD çalar gibi, birçok dijital ses sistemi işleme için (V)LSI IC’lerine ihtiyaç duyar:

  • DAC ve ADC
  • Dijital sinyal işlemcileri
  • CD ve dijital kayıt için hata düzeltme
  • Dijital filtreler
  • Dijital giriş/çıkış arayüzü

Standartlaştırılmış iletişim yapıları, sistemin esnekliğini artırmak için üreticiler için kritik öneme sahiptir. I2S bu amaçla tasarlanmıştır.

Inter-IC Sound (I2S) veya Entegre Araçlar Arası Ses, Philips tarafından Şubat 1986’da tanımlanan bir dijital ses seri veri yolu arayüzü iletimi standardıdır (Haziran 1996’da revize edilmiştir). Bu, sistemin içindeki cihazlar arasında dijital ses verilerini iletmeyi amaçlar; örneğin CODEC, DSP, dijital giriş/çıkış arayüzü, DAC, ADC ve dijital filtre gibi.

I2S’i 1982’de piyasaya sürülen diğer Philips Semiconductor protokolü olan Inter-Integrated Circuit (I2C) ile karıştırmamaya dikkat edin.

Inter-IC Sound (I2S) ve Inter-Integrated Circuit (I2C) Karşılaştırması

Inter-IC Sound (I2S)

  • Dijital ses cihazlarını bağlamak için kullanılır. Aynı zamanda bir elektrikli veri yolu arayüzü standardıdır.
  • Veri ve saat sinyali ayrı iletildiği için düşük jitter bağlantısı sağlar.
  • Tam çift yönlü / yarım çift yönlü desteği vardır.
  • Master/slave modunu destekler.
  • Çok kanallı desteği vardır; çünkü I2S’nin varyantı çok kanallı zaman bölmeli çoklama (time-division multiplexing) destekler.
  • Tamamen dijital ses sinyal zinciri sunar. Geleneksel ses zincirinde genellikle bulunan ADC/DAC’ları ve ön amplifikatörü ortadan kaldırır.
  • Master saat kullanımı ile senkronizasyon sorunu yoktur.

Inter-Integrated Circuit (I2C)

  • I2C, elektriksel ve zamanlama spesifikasyonları ile ilişkili bir veri yolu protokolü içerir.
  • Düşük hızlı ve iki telli seri veri bağlantı veri yoludur.
  • İki yönlü veri transferi sağlar.
  • Aynı PCB üzerindeki IC’ler arasında sinyal iletimi için kullanılır.
  • Birden fazla master ve birden fazla slave arasında sadece iki hat, Seri Veri (SDA) ve Seri Saat (SCL) bulunur.
  • Senkron iletişim, master ve slave’ler arasında global bir saat sinyali vardır.
  • Farklı veri hızlarını destekler; örneğin 100Kbps, 400Kbps, 1Mbps ve 3.4Mbps.
  • Özel başlangıç ve durdurma koşulu vardır. Başlangıç ve durdurma bitleri ile birlikte her 8 bit veri transferi için ACK biti kullanılır.
  • Transfer için sabit bir uzunluk yoktur.

Özetle, I2C veri yolu, mikrodenetleyici ile çevresel cihazları bağlamak için kullanılırken, I2S veri yolu dijital ses cihazları arasında ses verisi iletimine odaklanır.

Peki, I2S nedir ve aslında ne yapar?

I2S Nedir?

Veri yolu yalnızca ses sinyalini taşımakla yükümlüdür; diğer sinyaller, örneğin alt kodlama ve kontrol, ayrı olarak iletilir. Pin sayısını minimize etmek için, I2S veri yolunda tanımlanan üç hat vardır:

  • kelime seçme hattı (WS)
  • sürekli seri saat hattı (SCK)
  • seri veri hattı (SD)

SCK ve WS’yi üreten cihaz master‘dır. Ancak, birden fazla verici ve alıcıya sahip bir sistem için master’ı tanımlamak zordur. Bu durumda, sistem master’ı, çeşitli IC’ler arasında dijital ses verilerinin akışını kontrol eden olarak tanımlanır. Bu nedenle, vericilerin dış bir saat kontrolü altında veri üretmesi ve slave olarak hareket etmesi gerekir.

I2S arayüzü zamanlama diyagramı. ref. I2S veri yolu spesifikasyonu tarafından Philips

Kelime Seçme Hattı

Kelime seçme hattı, verici tarafından seçilen kanalı gösteren kanal seçim sinyalidir.

  • WS = 0, kanal 1 (sol)
  • WS = 1, kanal 2 (sağ)

WS, seri saat sinyalinin düşen veya yükselen kenarında değişebilir, ancak simetrik olması gerekmez.

Slave’de, sinyal saat sinyalinin yükselen kenarında kilitlenir. WS hattı, MSB iletimi öncesinde bir saat periyodu değiştiğinde, slave vericinin iletim için ayarlanacak seri verinin senkron zamanlamasını elde etmesini sağlar. Ayrıca, alıcının önceki kelimeyi saklamasını ve bir sonraki kelime için girişi temizlemesini sağlar.

Saat Hattı

Resmi olarak “sürekli seri saat (SCK)”, genellikle “bit saati (BCLK)” olarak yazılır, modüldeki senkronizasyon sinyalidir ve slave modunda harici olarak sağlanır, master modunda ise dahili olarak üretilir.

SCK = Örnekleme frekansı (örneğin 48kHz, 44.1kHz, vb.) * kelime uzunluğu (16bit, 24bit, 32bit) * 2 (sol ve sağ kanallar)

Master saat ile veri ve/veya kelime seçme sinyalleri arasındaki yayılma gecikmelerini dikkate alarak, toplam gecikme şunların toplamıdır:

  • harici (master) saat ile slave’in iç saati arasındaki gecikme; ve
  • iç saat ile veri ve/veya WS sinyalleri arasındaki gecikme.

Veri Hattı

Seri veri, iki’nin tamamı ile MSB önce iletilir. MSB, verici ve alıcı arasındaki farklı kelime uzunlukları nedeniyle iletilir.

  • Eğer sistem kelime uzunluğu, verici kelime uzunluğundan büyükse, kelime kesilir (LSB’ler ‘0’ olarak ayarlanır) veri iletimi için.
  • Eğer alıcı, kelime uzunluğundan daha fazla bit alıyorsa, LSB’den sonraki bitler göz ardı edilir.
  • Eğer alıcı, kelime uzunluğundan daha az bit alıyorsa, eksik bitler dahili olarak sıfıra ayarlanır.

MSB’nin sabit bir konumu vardır, oysa LSB’nin konumu kelime uzunluğuna bağlıdır. Gönderen, her zaman WS değiştikten bir saat periyodu sonra bir sonraki kelimenin MSB’sini gönderir.

Verici tarafından gönderilen seri veri, saat sinyalinin düşen veya yükselen kenarı ile senkronize edilebilir. Ancak, seri veri alıcıya saat sinyalinin yükselen kenarında kilitlenmelidir.

I2S Çalışma Modları

SD’nin SCK ve WS’ye göre konumuna dayalı olarak, I2S üç farklı çalışma moduna ayrılır: Philips Standardı, Sol Justified Standardı, Sağ Justified Standardı.

Philips Standardı

Philips Standardı, standart sol justifiye standarttan bir saat bitinin değişimi ile gecikmiş özel bir sol justifiye durumudur. Hem sol hem de sağ kanalların veri MSB’si, WS değiştikten sonra ikinci SCK / BCLK yükselen kenarından sonra geçerlidir.

Sol Justified Standardı

Sol Justified Standardı yaygın olarak kullanılmamaktadır, BCLK’ye göre bir saatle gecikmemiştir. Her iki kanalın MSB’si, WS değiştikten sonra SCK / BCLK’nin ilk yükselen kenarından sonra geçerlidir.

Sağa Hizalanmış Standart

Sağa Hizalanmış Standart, Japon formatı, Japonya Elektronik Sanayileri Derneği (EIAJ) veya SONY formatı olarak da adlandırılır. Sol kanalın LSB’si, WS’nin düşen kenarından önce SCK / BCLK’nin yükselen kenarında geçerlidir, sağ kanalın LSB’si ise WS’nin yükselen kenarından önce SCK / BCLK’nin yükselen kenarında geçerlidir.

Sol Hizalanmış Standart ile karşılaştırıldığında, Sağa Hizalanmış Standart’ın dezavantajı, alıcı cihazın iletilecek verinin kelime uzunluğunu önceden bilmesi gerektiğidir.

Lütfen dikkatli olun, Sağa Hizalanmış Standart ve Sol Hizalanmış Standart için:

  • WS = 1, kanal 1 (sol)
  • WS = 0, kanal 2 (sağ)

Bu, Phillips Standardı’na tersdir!

Arduino ve Raspberry Pi ile I2S

Arduino ile

I2S protokolünü SAMD21 tabanlı kartlarda kullanmanıza olanak tanıyan ‘I2S kütüphanesi’ adında bir kütüphane bulunmaktadır. I2S kütüphanesi hakkında detaylı bilgi için lütfen ‘I2S kütüphanesi‘ne bakın.

I2S veri yolu kullanılarak, dijital cihazlar arasında düşük jitter ile ses verisi iletimi sağlanır. Şimdi, bu I2S protokolü ile gerçek zamanlı MIDI müzik çalarınızı inşa etme zamanı! Seeed’de, müzik kalkanı bu amaç için tasarlanmıştır ve Arduino, Seeeduino, Seeeduino Mega ve Arduino Mega ile uyumludur.

Raspberry Pi ile

Raspberry Pi hayranı mısınız? Endişelenmeyin, sizin için mükemmel bir set var. ReSpeaker 4-Mikrofon Dizisi Raspberry Pi için, AI ve ses uygulamaları için tasarlanmış 4 mikrofonlu bir genişletme kartıdır. Bu, Amazon Alexa Ses Servisi, Google Asistan gibi daha güçlü ve esnek bir ses ürünü oluşturmanıza olanak tanır.

Piyasada ayrıca başka versiyonlar da mevcuttur:

Leave a Reply

Your email address will not be published. Required fields are marked *