Alteramı yoksa xilinx mi?

Başlatan fractal, 16 Şubat 2011, 17:35:10

fractal

bunalmış hocam daha önceki fpga ile cpld arasındaki fark nedir sorusuna verdiğiniz cavabı buldum.devrede cok sayıda lojik eleman varsa pal kullanabilirim cok sayıda pal bulunursa cpld kullanabilirim cok sayıda cpld varsa fpga kullanabilirim.en basit böyle ifade edersem...eğer ben cpld öğrenmeye başlarsam fpga direkt gereçebilirmiyim?
cpld denmi başlamalı yoksa fpga danmı?
cpld ile yapılan herşey fpga ile yapılabilirmi?
cpld yerine fpga kullanılabilirmi?

eğer cpld den başlayacaksam alttaki ürünü almayı düşünüyorum..
http://www.cizgi-tagem.org/e-market/product.aspx?key=altera-max2
Restantum cogniscutur Quantum deligutur

z

Sadece CPLD ile ugrastim, FPGA ile ugrasmisligim yok. (Zamaninda Gate ve FF blok sayisi cok yogun CPLD kullanirken  bunlari FPGA olarak biliyordum)

Yeteri yogunlukta CPLD ile  dilediginiz cevre birimi olusturabilir bunu da islemcinizin harici veri/adres yoluna baglayabilirsiniz.

Alternatif olarak islemciyi de cevre birimini de kendim yapacagim derseniz FPGA kullanabilirsiniz.

Motor kontrol konusunda cpld vs ihtiyaciniz olmamasi lazim. Cok eski yillarda icinde pwm blogu olan islemci sayisi tek tuktu ve ulkemizde bulunmuyordu. Simdilerde ise tonla var.

Motor kontrol konusunda FPGA ile ugrasmak size kalmis. Bana biraz luks geldi.

Standart denetleyicilerde 20 tane pwm cikisi, 4 tane shaft encoder  sayicisi bulamazsiniz,  20Khz de 14 bit cozuzurluk elde edemezsiniz.
Bu durumlarda CPLD yada FPGA kacinilmaz olur.

Fakat ogrenmek iyidir gun gelir ihtiyac duydugunuzda kullaniverirsiniz.

CPLD  bahsettiginiz kadar eski degil.

Ilk Islemcilerde ram, rom, cevre birimi hep ayri ciplerdi, hatta portlar bile ayriydi. Bunlari birbirine baglamak icin TTL kapi vs FF larla devre kurmak zorunda kaliyorduk.

Daha sonralari bu TTL cipler kaldirilip PAL, PLD vs  kullanilmaya baslandi. Ayni donemlerde denetleyiciler bir anda cevrebirimi acisindan zenginlesti ve PLD vslere ihtiyac kalmadi. Yerlerini CPLD ye devrettiler. CPLD + denetleyici cok guzel bir ikili. FPGA ile bunlari da kaldirip atabilirsiniz.

Tek bir sinyalle tetiklenip bir kac kontrolu ayni anda yapmak icin de FPGA kullanilabilir. Sonucta FPGA icine dogrudan donanim tasarlamis oluyorsunuz.

CPLD ye kod yasarken simdilerde yuksek seviyeli diller kullaniliyordur. Ben zamaninda low level bir dil olan ABEL kullaniyordum.
Eger ABEL yerine VHDL gibi yuksek seviyeli diller kullanirsaniz FPGA ye geciste zorluk yasayacaginizi sanmiyorum.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

vebsel

fractal kardes mesala motorola veya renesas gibi microcontroller lar kullanılsa gene de fpga nın yaptığı işi yapmaz mı fpga yı sadece parazit ten
etkilenmedigi için mi kullanmak istiyorsubuz

fractal

#18
bunalmiş hoca cok güzel anlatmışsiniz teşekkürler.şimdi ben cpld ile başlasam daha iyi olucak gibi.cpld proglama dili ile yanı zamanda fpga ile de programlaya biliyoruz ozaman.donanım nasıl peki bir işlemci gibi bir osilatör devresi birkaç kondansatör regüleli bir besleme olay bitiyormu?
..cpld olayına birde şu açıdan bakarsam;örneğin işlemcide 40khz de çalışma ihtiyacım oldu.line drive pwm üretmek istedim.pll ile 40 mhz ozilatörüm var.pr2 değerim 60 civarında oldu.pwm duty cycle 0- 60 değerinde %0---%100 arasında değişiyor. aynı şekilde death time süreside %50 duty için en fazla 29 lara cıkabiliyor.anlatmak istediğim cözünürlük ve skla frekans yükseldikçe cok sert çıkışlar yapıyor.
bu durumda pwm işelmleri için işlemci kontrolcü cpld bu işleri yapsa daha iyi olmazmı?
vebsel hoca benim incelediğim dikiş kaynak inverterlerinin hepsinde en az cpld var.bir tanesi cok tuhaftı  hatta spartan 3 ü direk koymuş karta ve kartın arka yüzü komple lojik entegrelerle döşenmişti.şimdi fpga kullandıysa neden bu kadar cok sayıda lojiğe ihtiyaç duydu...

ac sürücüler yada servolarda genelde çalışma freknası düşükmax 400hz yazıyorlar.ama bu inverterlerde 800hz  çalışma gereksinimi olabiliyor.ve cok yüksek güçler söz konusu 60-70 ampere kadar cıkıyor.igbt ler su ile soğutuluyor.ben tam olarak bu inverterlerde neden cpld yada fpga kullanıldığını bilmiyorum  konuyu açarak bu nu anlamaya çalışıyorum.ve üstelik cok pahalılar.40 dolar civarında.sg3526 ile yapan biri var türk malı ama hızlı kaynak yapan makinelerde kullanılamıyor.sanırım en fazla 200hz çalışabilir.fiyat 3-4bin tl....

sonuç olarak diyorumki bir cpld ile işe başlayayım.işlemci ile genel kontrolü yapayım  cpld pwm işlerini halletsin.

birde alteranın sitesine girdim cpld programlamak için hangi yazılımı indireyim?
Restantum cogniscutur Quantum deligutur

z

Hem PWM Frekansim hem de cozunurlugum yuksek olsun diyorsan yuksek frekansli clk ile beslenen pwm modulu olan islemci kullanacaksin.

Ornegin bu ARM olabilir, TI DSP yada DSP controller lari olabilir. Fantazi olsun dersen CPLD hatta FPGA de olabilir.

FPGA cipi goren karti kopyalamaktan vazgececek yada isin zor oldugunu dusunecektir. Acaba FPGA kodlari harici bir romdan mi yukleniyora bakmak lazim. Iri ve cok bacakli cipler
bakani korkutur. Belki adam icine cok basit bir donanim atti.

Isin felsefesini bildinmi denetleyiciymis, FPGA mis farketmez. Hatta ve hatta 3524 gibi bir cipi dahi kullanabilirsin.

Bence CPLD yada FPGA icin acele etme. Dagilirsin. Once isin felsefesini ogren.

Ornegin SG3524 le kaynak makinasini 4/4 yap. Sonra bunu islemci ile yap. Sonrasinda bu isi CPLD ile de FPGA ile de yaparsin.

Eger SG3524 ile beceremiyorsan ne kullanirsan kullan beceremezsin. Cunku onlar sihirli degnek degiller.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

vebsel

bence de  bunalmış hocam çok doğru.  fpga çok gelişmiş işler için bence bir devrede fpga  kullanılmış olması bu devrenin illaki fpga ile yapılmasını gerektirmez gibi geliyor. logic entegrelerle de bence yapılabilir. eskiden fpga mı varmış . Fpga lar hakkında çok fazla bilgim yok ama bildiğim kadarıyla sadece logic kapılar tasarlanıyor diye biliyorum 10 larca hatta yüzlerce kapıyı bir entegre içine yazabiliyorsun diye biliyorum . ama merak ettiğim şey mesala bir bekleme devresi kuracaksın bunu nasıl yapıyorsun içine bir sayıcı devresi mi yapacaksın bence fpga içinde bir program yazmak zor bir iş gibi geliyor microcontroller lerde olduğu gibi delay_us komutu varmı mesela ki hic sanmıyorum bana bu konuda bilgi verecek arkadaşlara çok teşşekür ederim .

fractal

#21
fpga olsa olsa lojik kontrol dersi vardı orda örneğin bir toplama devresi yada frekans katlayıcı,sayıcı,gibi devre dizaynı yapılıyordu.hepsindede lojik entegreler vardı.karnog diyağramı cıkarıyorduk sadeleştiriyorduk.sonra devreyi kuruyorduk.sanırım şu akıllı rölelerde blok diyagram ile programlama var onun gibidir.yada makro gibi bloklar hazırlarsın sonra bunları kullanırsın..

ben inverter üzerine ilk denememi 18f452 ile yaptım pwm çıkışından  semikron igbt driverı sürdüm.igbt ler ile h-köprü yaptım.nokta nokta punta yaptı.teorisi konusunda çok araştırma yaptım değişken frekanslarda akım kontrolü,endüktif yük sürme ,spwm,üçgen dalag sinüs karşılaştırıp igbt on -off zamanlarını elde etme,,,,hiç birisini 4x4 lük halledemedim.galiba en uygunu sg3526 gibi cünkü onunla en son yaptığım başka bir uygulamada başarılı oldum her nekadar bazı eksikliklerim olsada.sg akım açık cevrim kontrollü olur ozaman bir potla pwm duty cycyle genliği yani akımı belirlerim başka bir potla ise frekansı.sg çıkışınada igbt driverı takarım...böyle çalıştımı.18f serisi gelişmiş pwm modlu bir işelmci ile yada drekt dspic ile yapmaya çalışıp kapalı cevrim akım kontrolüne geç.meye çalışırım....



ama transformatör,endüktif yükler,burdaki güçler,pik değerler,burdaki h-köprü nün ince noktaları,,akım-gerilim ölçümleri analog işlemler,bu konularda cok bilgi eksikliği var.tüm günüm elektriğin-elektroniğin temellerini öğrenmeye çalışmakla geciyor.5 yıl oldu mezun olalı yaş29,halen daha 0 noktasaına ulaşamay çalışıyoruz...arm ,fpga derken,modbus haberleşeyim ,opamp kullanayım,tft süreyim,kendi bobinimi sarayım,c#öğreneyim derken ne olucak...

modelsim alterayı indirğım...dim ve kurdum.free olmasına rağmen lisans uyarısı verdi.sadece max II içinde yazılım varmış.bunları bir kurcalayaca
Restantum cogniscutur Quantum deligutur

fractal

son olarak şunu düşündüm:ben cpld yada fpga öğrensem yapabileceğim en fazla dspic lerin pwm modülleri olurdu ve ondan öteye gitmezdi.öyleyse madem dspic ler bu modüller var yapmayı planladığım iş için gerek kalmadı cplda yada pfga ya.şu noktada yazılım korumak gibi kullanıldığı cpld nin cok daha mantıklı gelmeye başladı.bir 30f serisiini incelediğimde içindeki pwm modül ile herşey yapılıyor.smps motor kontrol ne istersen...şimdi birkaç deneme yapıp çalışmalarımı burda yayınlamak istiyorum.
Restantum cogniscutur Quantum deligutur

fatihkuzucu

pic düşmanı değilim ama bu projede lpc1768 kullanırsan rahat edersin.
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...

fractal

lpc2103 kullanıyordum ki ulink2 im bozuldo.c30 derleyicisi ile yazılmış cok güzel kapalı cevrim calışan sünizodial pwm üreten açık kod örnekler var.daha önce hiç dspic kullanmadım .elimde 30f2010 vardı.sabah başladım şimdi pwm elde ettim.ama su smsps özelliğide olan 30f2020 gibi yada 33f serisinden bir dspiclemi devam ederim bilmiyorum.şu noktadan itibaren önceki denemelerime göre cok öndeyim projemim çalışma olasılığını  şimdiden %90 görüyorum.motor kontrol pwm yada smps pwm gibi modları inceleyip deneyeceğim biraz..
Restantum cogniscutur Quantum deligutur

iyildirim

LPC1768 uygun çevre birimleri ile desteklenirse dsPIC den daha iyi olabilir. Ki oda 32bit olmasının getireceği avantajdır.

Uygun çevre birimleri kullanılmadığı durumda dsPIC 'ler motor kontrol veya SMPS uygulamalarında öne geçer diye düşünüyorum.

Doğru seçilmiş, konfigüre edilmiş ve ayarlanmış bir dsPIC ile,  kapalı çevrimde akım kontrolünü, akımı vs. yi de zaman içerisinde değiştirmiyorsak, kapalı çevrim kontrolu için tek satır kod çalıştırmadan mikrosaniyeler altında tepki süreleri ile elde etmek mümkün olabiliyor.   Adeta chopper chipleri gibi.. 

dsPIC'lerin dezavantajı  SMPS serilerinde max 10bitlik ADC barındırmaları. Motor kontrol olanlarda da max 12bitlik ADC bulunuyor. Diğer çevre birimlerinde de yüksek offset voltajı vs. gibi  olumsuzluklar var. Ancak tek bir chipte motor kontrol gibi bir uygulama için gereken herşeyi barındırdıklarından yine de tercih edilebilir.
Bu arada DSP işlemciler sadece Microchip ile sınırlı değil. Örneğin TI'da çok daha üst seviye DSP lerde var. Örneğin dsPIC'lerdeki en hızlı ADC 4msps iken TI da hem MIPS hem ADC, PWM vs. olarak  çok daha hızlı DSP'ler gördüğümü de hatırlıyorum.

Bu arada ATMEL'de de özellikle ATXMEGA serileri hem 16bit olmaları hemde barındırdıkları çevre birimleri açısından oldukça iyi gibi görünüyor. Ancak temini sıkıntılı.  Ayrıca yine ATMEL'de 32bitlik AT32UC3 serileri de oldukça iyi. Hatta AT32UC3C serileri hem DSP hem de floating point unitesi barındırıyor. AT323C3L serilerinde de 8bitlik 36 PWM çıkışı var.

Bunlarında incelenmesi gerekir.  Ancak bulunabilirlik, ulaşılabilirlik, derleyici,  döküman ve örnek uygulama gibi konularda sanırım Microchip biraz daha avantajlı gibi. Derleyici, döküman vs. konusunda ATMEL de en az Microchip kadar iyi ancak özellikle ATXMEGA ların temini çok sıkıntılı.

fractal

hocam konu dspic e kaydı başka birdspic motor kontrol ve smps pwm kullanımı hakkında bir konu açıp orda  devam edeceğim.bu konudan cıkan sonuç bence yapmak istediğim şey için şu an cpld ve fpga cok erken..
Restantum cogniscutur Quantum deligutur

salih18200

FPGA de bir adet clock sinyalin var bu sinyali ister katlar ister bölebilirsin, clock sinyalinin periyodunu sayarak istediğin gecikmeleri yazabilirsin. İstersen fpga üzerine mikro işlemci gömer, mikro işlemci yanınada fpga içerisinde bir pwm modül yazarsın bu pwm modülü mikro işlemci ile kontrol edersin. Tüm dijital işlemleri fpga içerisinde tek çiple halledebilirsin ama senin projen için ne derece gerekli orasını bilmiyorum.

fatihkuzucu

Üff be neler yapıyormus, vaybee.
Merak ettimde Kac tane analog işaret ölçebiliriz acaba? Bana bir tane yeter.
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...

salih18200

ADC kullanılması gerekir direk anolog sinyal kabul etmez..