FPGA veya CPLD basit proje yardım.

Başlatan hyperalika, 08 Ocak 2012, 14:58:08

fatihinanc

Alıntı yapılan: gerbay - 09 Ocak 2012, 00:03:44
hocam çarpma, bölme, türev, integral olaylarına girmeyecekmisiniz. FPGA biraz yormaz mı? micro blaze, nios falan mı kullanacaksınız? onların bölme instruction ı var mı?

Nios oldukça güzel bir CPU çekirdeği fakat içerisindeki çevrebirimlerin kullanımı o kadar kolay değil. Bir de bana göre en sıkıntı tarafı çevrebirimler için Altera'nın yazdığı kütüphaneler çok yer kaplıyor. Bu sebeple yüksek hafıza bloğu taşıyan bir FPGA seçmek kaçınılmaz oluyor. O da bir CM4 MCU ya kıyasla oldukça yüksek ekstra maliyet demek. Bence FPGA arkasına güzel bir MCU daha mantıklı. İşin bir de soft core lar için maddi boyutu var tabi...
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

z

FPGA?

Çizgi izleyen robot değil de uçak izleyen roket yapıyor olmalısın.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mozkan87

Alıntı yapılan: bunalmis - 09 Ocak 2012, 00:55:41
FPGA?

Çizgi izleyen robot değil de uçak izleyen roket yapıyor olmalısın.
,
;D ;D ;D

Bende yazacaktım ama vazgeçmiştim.

z

FPGA kullanipda icine MCU gomme fikri bana cok sacma geliyor.

Eger FPGA icinde PID isletecekseniz bunun icin cipin icine MCU gommenize gerek yok zaten bu FPGA in asil amacina da aykiri. PID nin ozu carpma ve toplamadir. Bu iki islemi lojik devre olarak tasarlayip FPGA yada yogun bir CPLD icine gomersin olur biter ve Mhz hatta Ghz mertebesinde samplelar alarak PID ni dondurursun.

Fakat cizgi izleyen robot icin bu frekanslar inanilmaz dehset korkunc urkutucu degerler.

Rahat etmek istiyorsan TI in 16Bit motor kontrol islemcileri var. Bunlarla robota takla bile attirirsin. PWM ve ADC birimi iceren herhangi bir ARM cipi de secebilirsin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fatihinanc

Alıntı yapılan: gerbay - 08 Ocak 2012, 23:45:03
Sinyal => [hızlı bir ADC] => [FPGA] <=> [Cortex=M4] <====> diger peripheral lar..

şeklinde bir olay kurun, istediğiniz gibi oynayın..

Hocam burada aklıma takılan bir soruyu sormak istiyorum.
Şu an benzer bir tasarım üzerinde çalışıyorum ve sinyal işleme ağırlıklı olmayan kısımları bir MCU'ya yüklemek istiyorum.
FPGA ile MCU arasındaki iletişimde sizce hangi yol seçilmeli ?
Yani SPI,I2C veya UART veya da paralel iletişim veya... ?
Hangisi sizce pratikte daha verimli olur ?
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

hyperalika

STM32F4 kullanmaya karar verdim . Herkeze çok teşekkür ediyorum bilgilendirdikleri için

fatihinanc

Alıntı yapılan: gerbay - 10 Ocak 2012, 00:23:05
hocam saydıkların içerisinden tabiki SPI ama bazı insanlar static memory controller içeren MCU lar ( örneğin STM32 ler ) ile bu işi yapıyorlar ve FPGA i static RAM gibi bağlıyorlar. Bu şekilde çok daha yüksek hızlarda veri aktarımı yapıyorlar. Ben hiç denemedim ama görmüştüm bu tip çalışmalar..

Hocam teşekkür ederim. Bu konuyu araştıracağım. Bahsettiğimiz olay external memory controller olayı, doğru mudur ?
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

electronious

Alıntı yapılan: bunalmis - 09 Ocak 2012, 00:55:41
FPGA?

Çizgi izleyen robot değil de uçak izleyen roket yapıyor olmalısın.

Hocam çok iyi olmuş açıklama :D

z

FPGA ile paralel veri alışverişi yapmak için illaki işlemcinin external bus'a sahip olması gerekmiyor. Eğer varsa (memory controller olması şart değil) FPGA'den veri okumak yada tersine yazmak tek makine koduna indirgenebiliyor.

Eğer external bus yoksa yapılacak iş gene basit. I/O portlardan da paralel konuşmak mümkün. (Örneğin LCD lerle konuştuğumuz gibi) Bu durumda konuşma bir makine koduyle değil de bir kaç makine koduyla oluyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fatihinanc

@gerbay hocam açıklama çok güzel olmuş teşekkür ediyorum.
Evet ST'de bu özellik FSMC olarak geçiyor dün biraz araştırmıştım. Diğer CM3 serisi LPC ve Stellaris'lerde var mı diye baktım ama galiba yok. LPC178x serisinde var sadece.
Çıkışa FSMC modülü olan basit bir CM3 çok güzel olur aslında. Zaten matematik işlemlerini FPGA halledecek.

@bunalmis hocam dediğiniz gibi i/o lar ile de rahatlıkla yapılabilir. Hız açısından bildiğimiz standart seri iletişim protokollerinin haricinde başka hernagi birşey var mı diye merak etmiştim. Bu external memory controller olayı varmış. En azından bu işler için özel tasarlanmış bir modül.
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

z

FPGA'ye hesaplatacağın matematiksel problem nedir?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fatihinanc

Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

z

FPGA'ın şanına yaraşır bir işlem. Peki giriş sinyalimiz hangi aralıkta?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fatihinanc

Hocam giriş sinyali DTMF tonlarının frekans aralığı olacak. Yani en yüksek 1633Hz ile 933Hz arasında.
Bitirme projemle ilgili bir konu olduğundan meraktan sormuştum. Yani "ille de en hızlısı benimki olsun" diye değil :)
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

z

Bitirme ödevi ise sorun yok. FPGA için gayet güzel bir konu.

Bu projenin hakkını vermek için hazır toollardan kaçınmak lazım.

(Şimdi ABEL kullan diyeceğim ama Müfit hocamdan korkuyorum.)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com