PSoC 5LP Universal Data Block Array Yapısı hakkında

Başlatan Mucit23, 27 Ocak 2017, 17:28:15

Mucit23

PSoC lardaki bu birimin nasıl çalıştığını anlayamadım. Bu konuda anlamadığım birkaç nokta var.
Şimdi PsoC'ların temelinde PLD yani programlanabilir lojik kombinezonal devreler olduğunu biliyorum. Bunun yanı sıra temel mikroişlemci çevre birimleri ve analog donanımlar mevcut.

PSoC'larda anladığım kadarıyla PLD yerine UDB yani universal data block arraylar kullanılıyor. Daha doğrusu UDB birimleri aslında PLD lerden oluşuyor.
Alıntı YapUDBs consist of a combination of uncommitted logic similar to programmable logic devices (PLDs), structured logic (datapaths),
and a flexible routing scheme.

Fakat bunlar nasıl şekilleniyor tam olarak anlayabilmiş değilim. Özellikle şu SPI çok kafamı karıştırıyor. Anlamadığım nokta UDB nasıl paylaştırılıyor. Bunu nasıl düşünmek lazım.

Mesela Aşağıdaki resimde PSoC5 LP serisinin dijital işlemlerin yapıldığı birim görülmekte.


Psoc 5 Serisinin genel mimarisi ise buradaki linke yükledim.
http://www.cypress.com/file/123561/download
Sayfa 24 de genel mimari blok diyagramı olarak verilmiş.

Yukarıdaki resime bakarsak eğer Dijital bloklar içerisinde hiç SPI Modülü bulunmuyor. SPI modülü proje derlenirken UDB içerisinde tasarlanıyor anladığım kadarıyla. Fakat I2C, USB ve Canbus gibi donanımlar ise doğrudan mikro işlemcilerdeki gibi içeriye gömülmüş.

Anlamadığım nokta şu. SPI modülü UDB içerisinde tasarlanıyor. Benimde örneğin 10 tane SPI modülüne ihtiyacım var. Burada bir sınır var mı? Burada UDB kullanımı nasıl oluyor? Aynı şekilde I2C de öyle. Modül olarak psoc içerisine gömülmüş ama istenirse UDB ile birden fazla I2C donanımı yapılabiliyor.

Örneğin projede resource meter var ki psoc'ın hangi biriminden ne kadar kullanılmış onu gösteriyor.


Benim anladığım kadarıyla kullandığım psoc'da toplamda X kadar UDB var. kullanılan donanımlara göre bu UDB paylaştırılıyor. Yani istersem eğer UDB'nin hepsini SPI modülleri yapmak için kullanabiliyorum. Yanlışmıyım?

Buradaki mantığı oturtmaya çalışıyorum ama mimari gerçekten çok karışık.

Bu UDB birimi ile neler yapılabilir? Bu konuda bilgili olan arkadaşları bu başlığa davet ediyorum.  :)