İçindekiler:

Getto Programlanabilir Mantık (CPLD) Geliştirme Sistemi: 13 Adım
Getto Programlanabilir Mantık (CPLD) Geliştirme Sistemi: 13 Adım

Video: Getto Programlanabilir Mantık (CPLD) Geliştirme Sistemi: 13 Adım

Video: Getto Programlanabilir Mantık (CPLD) Geliştirme Sistemi: 13 Adım
Video: Delta Plc SIFIRDAN Öğren Serisi(Yeni Başlayanlar)-Plc Nedir &Plc Tarama Sırası & Scan Time Nedir 2024, Kasım
Anonim
Getto Programlanabilir Mantık (CPLD) Geliştirme Sistemi
Getto Programlanabilir Mantık (CPLD) Geliştirme Sistemi

Son birkaç aydır AVR işlemcileri için Getto Geliştirme Sisteminden keyif alıyorum. Aslında, bu neredeyse sıfır dolarlık araç o kadar büyüleyici ve kullanışlı olduğunu kanıtladı ki, konsepti FPGA/CPLD geliştirmeye de genişletmenin mümkün olup olmadığını merak ettim. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.)Bu yüzden internette biraz araştırma yaptım ve Atmel CPLD'ler için bir geliştirme sistemi buldum. Altera cihazlarıyla yapılan karşılaştırma, pin çıkışlarının aynı olduğunu gösterir (aşağıda detaylandırdığım kısıtlamalar dahilinde), bu yüzden de çalışacaklardır. Size sunacağım geliştirme kartı ve arabirim kablosunu oluşturup ardından araçları indirerek kendi CPLD uygulamalarınızı geliştirebilirsiniz. Lütfen aşağıdaki sınırlamalara ve kısıtlamalara dikkat edin. Zevk alacağınız ve yalnızca 5V cihazlardan öğreneceğiniz bir şey oluşturabilmeniz için yetenek ve basitliği dengelemeye çalıştım. Sistemi ek voltajları kapsayacak şekilde genişletmek (3.3V, 2.5V, 1.8V aynı ailedeki Atmel cihazları tarafından desteklenmektedir) zor değildir, ancak hem geliştirme kartını hem de programlama kablosunu karmaşık hale getirir. Şimdilik onu geçelim. Panoya 5V besleme sağlamanız gerektiğini unutmayın. Yalnızca 44 pinli PLCC. Özellikle, Atmel ATF1504AS'ı programladım. Getto CPLD konsepti diğer Atmel cihazlarına kolayca genişletilebilir, ancak bu cihaz fiyat, kullanım kolaylığı ve yetenek arasında iyi bir uzlaşma gibi görünüyordu. Konsept, Altera, Xilinx, Actel, vb. gibi diğer cihazları da kapsamalıdır. Aslında, Max7000 ailesi EPM7032 ve EPM7064, 44 pinli PLCC versiyonlarını kullandığınız sürece aynı sokette çalışacaktır. Şimdiye kadar sadece Atmel programlama kablosunu kullandım, ancak Altera Byte-Blaster, Atmel yazılımı tarafından destekleniyor ve aynı zamanda iyi çalışması gerekiyor. Aslında Atmel kablosundan biraz daha basit bir tasarım. (Atmel sürümünü oluşturdum ve çalışıyor, bu yüzden Altera sürümünü denemedim.) SparkFun, Altera kablosunun 15 dolarlık bir sürümünü sunuyor. Bu hem Atmel hem de Altera için işe yarayacağı için tavsiye ederim. Altera parçalarıyla geliştirme yapacaksanız Altera yazılımını da almak isteyeceksiniz. Bunu gerçekten denemedim ama işe yaramayacağını düşünmem için hiçbir sebep yok. Hız sınırlıdır. Getto CPLD Geliştirme Sistemi elle kablolama ile inşa edildiğinden ve yer düzlemi olmadığından, birkaç megahertz'in üzerindeki hızlarda güvenilir çalışma beklemeyin. Bu garanti edilmese bile kilometreniz değişebilir! Tabii ki, bir yer düzlemine sahip prototip donanım oluşturursanız, CPLD'niz daha yüksek hızlarda gayet iyi çalışabilir. Getto Geliştirme Sistemine hızlı bir şekilde monte edilmesini beklemeyin.

Adım 1: Git Parçaları Sipariş Edin

Git Sipariş Parçaları
Git Sipariş Parçaları

44 pinli bir plcc soketine, bazı dekuplaj kapaklarına, bazı programlanmamış CPLD'lere, devre tahtası bağlantıları için yuvalara, bir çekme direncine ve belki de üzerine inşa etmek için bazı mükemmel panolara ihtiyacınız olacak. Çöp kutunuzda bunlardan herhangi biri varsa, birkaç dolar tasarruf edebilirsiniz. Size kolaylık sağlamak için, işte Digikey Parça Numaraları: BAĞLANTI PLCC SOKET 44POS TIN PN: 1-822473-4-ND SOKET IC AÇIK ÇERÇEVE 14POS.3" PN: 3M5462-ND Adet: 2SOKETLİ IC AÇIK ÇERÇEVE 18POS.3" PN: 3M5464-ND Adet: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Adet: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Adet: 4, C2-C5RES METAL FİLM 5.10K OHM 1/4W %1 PN: P5.10KCACT-ND PC KARTI FR4 1-YÜZ PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Birkaç parça minimum miktarda olabilir, ancak yine de oldukça ucuz olmalıdır. Bazı yanıp sönen ışıklar (Adım 8) veya bir anahtar seti yapmak (adım 9) sipariş etmek isteyebilirsiniz. bunlar da. Digikey'in bir işlem ücretinden kaçınmak için minimum 25 ABD doları olduğunu unutmayın, bu nedenle sadece eğlence için birkaç ekstra programlanmamış CPLD veya bir veya iki AVR işlemci almak isteyebilirsiniz. SparkFun'dan Altera programlama kablosunu satın almanızı öneririm. İşte parça numaraları. Kabloyu ve konektörü de alın. (Aksi takdirde, kendi kablonuzu yapıyorsanız, kablo için parçaları Digikey'den sipariş edin.)Altera FPGA Uyumlu Programcı PN: PGM-087052x5 Pin IDC Şerit Kablo PN: PRT-085352x5 Pin Örtülü Başlık PN: PRT-08506

2. Adım: Yazılımı Alın ve Yükleyin

Yazılımı Alın ve Yükleyin
Yazılımı Alın ve Yükleyin

Şu anda Atmel Prochip Designer 5.0 araç zincirini kullanıyorum. Bu araç, Atmel'e kaydolmanızı ve resmi talep formunu doldurmanızı gerektirir. Onlara bir tasarım mühendisi olduğumu, şu anda işsiz olduğumu ve asıl amacımın cihazlarını ve VHDL'yi (tümü doğru, BTW) öğrenmek olduğunu söyledim. Lisans talebini onayladılar. Tek yakalama, lisansın sadece 6 ay için iyi olmasıdır. Süresi dolduğunda bir kamu malı araç zinciri bulmayı umuyorum. Altera'da ayrıca kontrol edebileceğim bir alet zinciri var. Herhangi bir öneri takdir edilecektir. Son adımdaki yorumları ve bağlantıları görün. Atmel Prochip Designer 5.0 burada. Alırsanız, bunun için Service Pack 1'i de edindiğinizden emin olun.

Adım 3: Programlama Kablosu Yapın

Programlama Kablosu Yap
Programlama Kablosu Yap

Buradaki en kolay yaklaşım, Altera Byte-Blaster benzerini Sparkfun'dan satın almaktır (bkz. Adım 1). 15 $ harcamak istediğinizden fazlaysa, SparkFun Altera Kablo şemasını kullanabilir veya Atmel Kablo şemasını ve sıfırdan oluşturma şemasını kullanabilirsiniz. (Kabloyu sıfırdan oluşturmaya çok ilgi varsa, bazı önerilerde bulunabilirim, ancak Sparkfun kiti bana doğru cevap gibi görünüyor.)

Adım 4: Programcı Yuvası Yapın

Programcı Beşiği Yap
Programcı Beşiği Yap
Programcı Beşiği Yap
Programcı Beşiği Yap
Programcı Beşiği Yap
Programcı Beşiği Yap

Atmel programlayıcıya bir göz atın. Bu çok esnektir ve paranız varsa ve çok fazla CPLD geliştirmeyi planlıyorsanız harika bir seçenektir. Altera benzer bir şey sunuyor, inanıyorum. Ama ben daha ucuz bir yaklaşımla gittim - bütün mesele bu! Resimler, inşa ettiğim beşiğin önden ve arkadan görünüşlerini gösteriyor. Breadboard konektörleri olarak kullanılan DIP soketlerine dikkat edin. Her konektörün bir tarafındaki tüm pimler toprağa bağlanır; diğer taraftaki pinler CPLD üzerindeki sinyal pinlerine bağlanır. Birkaç güç bağlantısı da ekledim; bunları uygun yerlere koyun. Diyagramlar bir nevi resimsel şemalardır; sadece ekstra güç bağlantıları gösterilmez. Bunlar hakkında fikir edinmek için resimlere bakın.

Adım 5: Beşiği İnşa Etme - Bölüm 1

Beşiği İnşa Etme - Bölüm 1
Beşiği İnşa Etme - Bölüm 1
Beşiği İnşa Etme - Bölüm 1
Beşiği İnşa Etme - Bölüm 1

Soketleri istediğiniz yerlere takarak beşiği oluşturmaya başlayın. Dekuplaj kapakları için yer olması için bir veya iki sıra boş bırakın. Bu aynı zamanda CPLD sinyal pinlerine bağlanmayı da kolaylaştırır. Kullandığınız mükemmel kart tipine bağlı olarak soketleri biraz lehim veya epoksi ile sabitleyin. JTAG konektörü ve güç konektörü için üstte (CPLD soketinin 1 numaralı piminin üzerinde) biraz fazladan boşluk bırakın. Benim yaptığımın resimlerine bakın. Toprak veriyolu için soketlerin dışına çıplak bir kablo (20 gauge ya da öylesine) yönlendirin. Güç veri yolunu da yönlendirin. (Resimlerdeki kırmızı kablo.) Bazı rehberlik için resimlere bakın, ancak anakartınız muhtemelen biraz farklı olacaktır - ve bu sorun değil. Soketlerin dış pinlerini toprak veriyoluna lehimleyin. Bu, otobüs telinin sabitlenmesine yardımcı olacaktır.

Adım 6: Beşiği İnşa Etme - 2. Kısım

Beşiği İnşa Etme - 2. Kısım
Beşiği İnşa Etme - 2. Kısım
Beşiği İnşa Etme - 2. Kısım
Beşiği İnşa Etme - 2. Kısım

Dekuplaj kapaklarını takın ve bunları CPLD soketinin her iki tarafındaki toprağa ve güç pimlerine bağlayın. İç sıralara ulaşmak için telleri dıştaki pim sıralarının üzerinden geçirmenizi öneririm. Doğru pinleri elde etmek için pin numarası şemalarına bakın - CPLD soketinin pin çıkışı açık olmaktan çok uzaktır. Kabloları üzerinden geçirdiğiniz tüm pimlere bağlantıya izin verecek kadar boşluk bırakın. Kapak bağlantıları yapıldıktan sonra güç ve toprak veri yolunu bağlayın. Diyagramlardaki tüm kırmızı pinler Vcc'dir ve bağlanmalıdır. Siyah pimler topraklıdır ve ayrıca bağlanmalıdır. Yine, havada yönlendirmek iyi bir yaklaşımdır. Fikirler için resimlere bakın.

Adım 7: Beşiği İnşa Etme - Sonuç

Beşiği İnşa Etme - Sonuç
Beşiği İnşa Etme - Sonuç
Beşiği İnşa Etme - Sonuç
Beşiği İnşa Etme - Sonuç
Beşiği İnşa Etme - Sonuç
Beşiği İnşa Etme - Sonuç

JTAG bağlantılarını doğru pinlere yönlendirin. Konektörün doğru yönlendirildiğinden emin olmak için Programlama Kablonuza bakın. TDO pinindeki yukarı çekmeyi unutmayın. Bu sadece resimde gösterilmiştir ve TDO pini ile Vcc arasındadır. Son adım, CPLD'nin her bir I/O pinini soketlerdeki bir pin'e bağlamaktır. Bağlantılar için şemalardaki numaraları kullanın. Bu en uzun süreyi alır! Numaralandırma düzenimi takip ederseniz, devrelerinizi bağlarken Üstten Görünüm diyagramını kılavuz olarak kullanabilirsiniz. Bunların hepsini başlangıçta bağlamanız gerekmez, tasarladığınız devreler için ihtiyacınız olana kadar bekleyebilirsiniz. Çalışmanızı dikkatlice kontrol edin. Güç ve topraklamanın kısa devre yapmadığından emin olun!

8. Adım: Blinkenlights Yapın (TTL Sürümü)

Blinkenlights Yapın (TTL Versiyonu)
Blinkenlights Yapın (TTL Versiyonu)

Elbette devrelerinizin çalıştığını görmek isteyeceksiniz. Yani bazı yanıp sönen ışıklar isteyeceksiniz (The Real Elliot tarafından ünlü hale getirildi). Tek yakalama, CPLD'lerin AVR işlemcilerinin sahip olduğu etli çıktılara sahip olmamasıdır. 10ma için derecelendirilmiş LED'ler kullanın ve 1KOhm serisi dirençler kullanın. Bunlar, CPLD çıkışlarını zorlamadan size net çıkış sinyalleri verecektir.

9. Adım: Anahtarları Yapın

Anahtarlar Yapın
Anahtarlar Yapın
Anahtarlar Yapın
Anahtarlar Yapın

Devreleriniz için uyaran sağlamak için bazı anahtarlara ihtiyacınız olacak. Burada bazı seçenekleriniz var, ancak gereksinimler AVR işlemcilerinden farklıdır. CPLD çıkışlarında yerleşik pull-up'lar yoktur ve yazılımda geri tepme yapmak o kadar kolay değildir. (Bu mümkündür, ancak muhtemelen devrelerinizde kullanmak istediğiniz kaynakları alır.) Gösterilen DIP anahtarları, uygun bir pakette birkaç anahtar sağlar, ancak yukarı çekilmeleri gerekir. 1K pull-up kullandım. Butonlar Atmel'in demo panoları için önerdiği devre kullanılarak yapılabilir. Şemalar yaklaşık 36. sayfadadır. Diğer bir seçenek de uyaran sağlamak ve hatta yanıtları kontrol etmek için bir AVR işlemcisi bağlamaktır. Ama bu öğrenciye bırakılmış bir alıştırma.

Adım 10: İlk Devrenizi Oluşturun

İlk Devrenizi Oluşturun
İlk Devrenizi Oluşturun
İlk Devrenizi Oluşturun
İlk Devrenizi Oluşturun

Bu zamana kadar yazılımı edinmiş ve kurmuş olmalısınız. İlk basit CPLD devrenizi (iki girişli VE kapısı; daha kolay hale gelmez) oluşturmak için kapsamlı, ayrıntılı öğreticiyi izleyin. Doğru cihazı (44 Pin PLCC, 5V, 1504AS [detaylar]) seçtiğinizden ve mevcut G/Ç pin numaralarını seçtiğinizden emin olun (giriş olarak 14 ve 16 kullandım; çıkış olarak 28 kullandım). Bu ayrıntılar öğreticiden biraz farklıdır, ancak size herhangi bir sorun çıkarmamalıdır.

Adım 11: İlk CPLD'nizi Programlayın

İlk CPLD'nizi Programlayın
İlk CPLD'nizi Programlayın
İlk CPLD'nizi Programlayın
İlk CPLD'nizi Programlayın

Programlama kablonuzu PC'nizdeki paralel bağlantı noktasına bağlayın, Programlayıcı Yuvanıza bağlayın, Güç konektörüne 5 Volt bağlayın ve ilk CPLD'nizi gerçekten programlamak için öğreticiyi izleyin. Doğru kablo sürümünü seçin. Altera Byte-Blaster'ın seçeneklerden biri olduğunu unutmayın.

Adım 12: Programlanmış Parçanızı Test Edin

Programlanmış Parçanızı Test Edin!
Programlanmış Parçanızı Test Edin!
Programlanmış Parçanızı Test Edin!
Programlanmış Parçanızı Test Edin!

Programlama Kablonuzu yuvadan çıkarın. Anahtarları ve yanıp sönen ışıkları doğru pinlere takın, gücü açın ve deneyin. Basit bir devre ile başladığınız için test etmek büyük bir zorluk değildir. İşe yararsa, kaçıyorsun! Üstten görünüm şeması, anahtarlarınızı ve yanıp sönen ışıklarınızı test için bağlamada size rehberlik edecektir.

Adım 13: Son ve Bazı Web Kaynakları

Son ve Bazı Web Kaynakları
Son ve Bazı Web Kaynakları

Bu eğitimin amacı size VHDL'yi nasıl kullanacağınızı öğretmek değildir. (Daha yeni öğrenmeye başlıyorum, bu yüzden programlayıcıyı yarattım, hatırladın mı?) Bununla birlikte, sizi yönlendirebileceğim çok faydalı birkaç öğretici ve bazı faydalı kaynaklar buldum. Geri bildirim ve diğer öneriler çok takdir edilmektedir. Ghetto CPLD Geliştirme Sistemini Verilog ve donanımın umursamadığı diğer CPLD programlama tekniklerini öğrenmek için de kullanabileceğinizi unutmayın. Web'deki VHDL Kaynakları:Temel bilgiler ve bazı bağlantılar burada ve burada. Bağlantılar ücretsiz araçlar. Sevdiğim öğreticiler burada ve burada, ancak başka birçok şey bulacaksınız. Son olarak (şimdilik), tartışma grubuna göz atmak isteyeceksiniz. Eğlenin, çok şey öğrenin ve bildiklerinizi paylaşın.

Önerilen: