Isi kandungan:

Sistem Pembangunan Logik Boleh Diprogramkan Ghetto (CPLD): 13 Langkah
Sistem Pembangunan Logik Boleh Diprogramkan Ghetto (CPLD): 13 Langkah

Video: Sistem Pembangunan Logik Boleh Diprogramkan Ghetto (CPLD): 13 Langkah

Video: Sistem Pembangunan Logik Boleh Diprogramkan Ghetto (CPLD): 13 Langkah
Video: PEMUDA KAYA RAYA BAB 81-140 2024, Julai
Anonim
Sistem Pembangunan Logik Berprogram Ghetto (CPLD)
Sistem Pembangunan Logik Berprogram Ghetto (CPLD)

Sejak beberapa bulan ini, saya menikmati Sistem Pembangunan Ghetto untuk pemproses AVR. Sebenarnya, alat yang hampir bernilai sifar dolar ini terbukti sangat menarik dan berguna sehingga membuat saya tertanya-tanya apakah mungkin untuk memperluas konsep ini ke pembangunan FPGA / CPLD juga. (FPGA: Array Gate Programmable Field. CPLD: Perangkat Logik yang Dapat Diprogramkan Kompleks.) Oleh itu, saya melakukan sedikit penggalian di web dan menghasilkan sistem pengembangan untuk Atmel CPLDs. Perbandingan dengan peranti Altera menunjukkan pinoutnya sama (dalam sekatan yang saya perincikan di bawah), jadi ia juga berfungsi. Dengan membina papan pengembangan dan kabel antara muka yang akan saya paparkan, kemudian memuat turun alat, anda boleh mengembangkan aplikasi CPLD anda sendiri. Harap perhatikan had dan batasan berikut. Saya telah cuba mengimbangkan kemampuan dan kesederhanaan supaya anda dapat membina sesuatu yang anda akan nikmati dan pelajari dari peranti.5V sahaja. Memperluas sistem untuk merangkumi voltan tambahan (3.3V, 2.5V, 1.8V disokong oleh peranti Atmel dalam keluarga yang sama) tidak sukar, tetapi menyukarkan kedua-dua papan pengembangan dan kabel pengaturcaraan. Mari melangkau sekarang. Perhatikan bahawa anda harus menyediakan bekalan 5V ke papan. PLCC.44 pin sahaja. Secara khusus, saya telah memprogram Atmel ATF1504AS. Konsep Ghetto CPLD dapat diperluas dengan mudah ke perangkat Atmel lain, tetapi perangkat ini sepertinya kompromi yang baik antara harga, kemudahan penggunaan, dan kemampuan. Konsep ini juga harus diperluas ke peranti lain seperti dari Altera, Xilinx, Actel, dll. Malah, keluarga Max7000 EPM7032 dan EPM7064 akan berfungsi di soket yang sama selagi anda menggunakan versi PLCC 44 pin. Setakat ini saya hanya menggunakan kabel pengaturcaraan Atmel, tetapi Altera Byte-Blaster disokong oleh perisian Atmel dan juga harus berfungsi dengan baik. Ini sebenarnya reka bentuk yang lebih sederhana daripada kabel Atmel. (Saya membina versi Atmel dan ia berfungsi, jadi saya belum mencuba versi Altera.) SparkFun menawarkan kabel Altera versi $ 15. Oleh kerana ini akan berfungsi untuk Atmel dan Altera, saya mengesyorkannya. Sekiranya anda akan mengembangkan dengan bahagian Altera, anda juga ingin mendapatkan perisian Altera. Saya sebenarnya belum mencuba ini, tetapi tidak ada sebab saya boleh berfikir bahawa ia tidak akan berjaya. Kecepatan terhad. Oleh kerana Sistem Pembangunan Ghetto CPLD dibina dengan pendawaian tangan dan tanpa permukaan tanah, jangan mengharapkan operasi yang boleh dipercayai dengan kelajuan melebihi beberapa megahertz. Walaupun tidak dijamin jarak tempuh anda mungkin berbeza! Sudah tentu, jika anda membina prototaip perkakasan yang mempunyai landasan tanah maka CPLD anda mungkin berfungsi dengan baik pada kelajuan yang lebih tinggi. Jangan harap ia dipasang dengan pantas dalam Sistem Pembangunan Ghetto.

Langkah 1: Pergi Bahagian

Pergi Bahagian
Pergi Bahagian

Anda memerlukan soket plcc 44 pin, beberapa penutup pelepas, beberapa CPLD yang tidak diprogramkan, soket untuk sambungan papan roti, perintang penarik dan mungkin beberapa papan wangi untuk membangunnya. Sekiranya anda mempunyai semua ini di kotak sampah anda, anda dapat menjimatkan beberapa dolar. Untuk kemudahan anda, berikut adalah Nombor Bahagian Digikey: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Kuantiti: 2SOCKET IC BUKA BUKAN 18POS.3 "PN: 3M5464-ND Kuantiti: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Kuantiti: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Kuantiti: 4, C2-C5RES METAL FILM 5.10K OHM 1 / 4W 1% PN: P5.10KCACT-ND PC BOARD FR4 1-SIDE PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Beberapa bahagian mungkin mempunyai kuantiti minimum, tetapi masih boleh cukup murah. Sekiranya anda ingin membina beberapa lampu kilat (Langkah 8) atau membuat satu set suis (langkah 9), anda mungkin ingin memesan ini juga. Perlu diingat bahawa Digikey mempunyai minimum $ 25 untuk mengelakkan caj pengendalian, jadi anda mungkin ingin mendapatkan beberapa CPLD yang tidak diprogramkan atau pemproses AVR atau dua hanya untuk bersenang-senang. Saya cadangkan anda membeli kabel pengaturcaraan Altera dari SparkFun. Berikut adalah nombor bahagian. Dapatkan kabel dan penyambung juga. (Jika tidak, pesan bahagian untuk kabel dari Digikey jika anda membina sendiri.) Altera FPGA Compatible Programmer PN: PGM-087052x5 Pin IDC Ribbon Cable PN: PRT-085352x5 Pin Shrouded Header PN: PRT-08506

Langkah 2: Dapatkan dan Pasang Perisian

Dapatkan dan Pasang Perisian
Dapatkan dan Pasang Perisian

Saya kini menggunakan rangkaian alat Atmel Prochip Designer 5.0. Alat ini menghendaki anda mendaftar dengan Atmel dan mengisi borang permintaan rasmi mereka. Saya memberitahu mereka bahawa saya adalah jurutera reka bentuk, sekarang menganggur, dan tujuan utama saya adalah mempelajari peranti mereka dan VHDL (semuanya benar, BTW). Mereka meluluskan permintaan lesen. Satu-satunya tangkapan adalah bahawa lesen itu hanya dapat digunakan selama 6 bulan. Saya berharap dapat mencari rangkaian alat domain awam pada masa ia tamat. Altera juga mempunyai rantai alat yang mungkin saya periksa. Sebarang cadangan akan dihargai. Lihat komen dan pautan pada langkah terakhir. Atmel Prochip Designer 5.0 ada di sini. Sekiranya anda mendapatkannya, pastikan juga mendapatkan Service Pack 1 untuknya.

Langkah 3: Buat Kabel Pengaturcaraan

Buat Kabel Pengaturcaraan
Buat Kabel Pengaturcaraan

Pendekatan termudah di sini adalah membeli Altera Byte-Blaster yang serupa dari Sparkfun (lihat Langkah 1). Sekiranya $ 15 lebih banyak daripada yang anda belanjakan, maka anda boleh menggunakan skema SparkFun Altera Cable atau menggunakan skema Atmel Cable dan membina calar. (Sekiranya terdapat banyak minat untuk membina kabel dengan calar, saya boleh memberikan beberapa cadangan, tetapi kit Sparkfun sepertinya jawapan yang tepat untuk saya.)

Langkah 4: Buat Cradle Programmer

Buat Buaian Programmer
Buat Buaian Programmer
Buat Buaian Programmer
Buat Buaian Programmer
Buat Buaian Programmer
Buat Buaian Programmer

Lihatlah pengaturcara Atmel. Ini sangat fleksibel dan merupakan pilihan yang bagus jika anda mempunyai banyak wang dan merancang untuk melakukan banyak pembangunan CPLD. Altera menawarkan sesuatu yang serupa, saya percaya. Tetapi saya pergi dengan pendekatan yang lebih murah - itulah maksudnya! Gambar menunjukkan pandangan depan dan belakang buaian yang saya bina. Perhatikan soket DIP yang digunakan sebagai penyambung papan roti. Semua pin di satu sisi setiap penyambung disambungkan ke tanah; pin di sebelah lain sambungkan ke pin isyarat pada CPLD. Saya juga menyertakan beberapa sambungan kuasa; letakkan ini di tempat yang sesuai. Gambar rajah adalah skema bergambar; hanya sambungan kuasa tambahan yang tidak ditunjukkan. Lihat gambar untuk idea mengenai perkara ini.

Langkah 5: Membangun Buaian - Bahagian 1

Membangun Buaian - Bahagian 1
Membangun Buaian - Bahagian 1
Membina Buaian - Bahagian 1
Membina Buaian - Bahagian 1

Mula membina buaian dengan memasukkan soket di lokasi yang anda mahukan. Biarkan satu atau dua baris kosong sehingga akan ada ruang untuk penutup pemutusan. Ini juga menjadikannya lebih mudah untuk disambungkan ke pin isyarat CPLD. Lekatkan soket dengan sedikit pateri atau epoksi bergantung pada jenis papan perf yang anda gunakan. Benarkan beberapa ruang tambahan di bahagian atas (pin di atas soket CPLD) untuk penyambung JTAG dan penyambung kuasa. Lihat gambar yang saya bina. Balik wayar telanjang (20 gauge atau lebih) di sekitar bahagian luar soket untuk bas tanah. Laluan bas elektrik juga. (Kawat merah dalam gambar.) Rujuk gambar untuk panduan, tetapi papan anda mungkin akan sedikit berbeza - dan itu baik-baik saja. Pegang pin luar soket ke bas tanah. Ini akan membantu mengikat wayar bas.

Langkah 6: Membangun Buaian - Bahagian 2

Membangun Buaian - Bahagian 2
Membangun Buaian - Bahagian 2
Membangun Buaian - Bahagian 2
Membangun Buaian - Bahagian 2

Pasang penutup pelepas dan sambungkannya ke landasan dan pin kuasa di setiap sisi soket CPLD. Saya cadangkan untuk mengarahkan wayar ke atas dan ke atas baris pin luar untuk mencapai baris dalam. Rujuk gambar rajah pin untuk mendapatkan pin yang betul - pin keluar dari soket CPLD jauh dari jelas. Tinggalkan ruang yang cukup untuk membolehkan sambungan ke pin yang anda lalui kabel. Setelah sambungan penutup selesai, sambungkan bas elektrik dan bas bawah tanah. Semua pin merah pada gambar adalah Vcc dan harus disambungkan. Pins hitam tanah dan harus disambungkan juga. Sekali lagi, mengarahkannya ke udara adalah pendekatan yang baik. Lihat gambar untuk idea.

Langkah 7: Membangun Buaian - Kesimpulannya

Membina Buaian - Kesimpulannya
Membina Buaian - Kesimpulannya
Membina Buaian - Kesimpulannya
Membina Buaian - Kesimpulannya
Membina Buaian - Kesimpulannya
Membina Buaian - Kesimpulannya

Arahkan sambungan JTAG ke pin yang betul. Lihatlah Kabel Pengaturcaraan anda untuk memastikan penyambung berorientasikan dengan betul. Jangan lupa penarik pada pin TDO. Ini ditunjukkan dalam gambar sahaja dan berada di antara pin TDO dan Vcc. Langkah terakhir adalah menyambungkan setiap pin I / O CPLD ke pin pada soket. Gunakan nombor dalam rajah untuk sambungan. Ini memerlukan masa paling lama! Sekiranya anda mengikuti skema penomboran saya, maka anda boleh menggunakan gambarajah Paparan Atas sebagai panduan semasa memasang litar anda. Anda sebenarnya tidak perlu menghubungkan semua ini pada mulanya anda boleh menunggu sehingga anda memerlukannya untuk litar yang anda reka. Periksa kerja anda dengan teliti. Pastikan daya dan tanah tidak terpendek!

Langkah 8: Buat Lampu Berkedip (Versi TTL)

Buat Lampu Berkedip (Versi TTL)
Buat Lampu Berkedip (Versi TTL)

Anda pasti mahu melihat litar anda berfungsi. Oleh itu, anda mahukan beberapa lampu kilat (terkenal oleh The Real Elliot). Satu-satunya tangkapan ialah CPLD tidak mempunyai output yang baik yang dimiliki pemproses AVR. Gunakan LED yang diberi nilai untuk 10ma dan gunakan perintang siri 1KOhm. Ini akan memberi anda isyarat output yang jelas tanpa membebankan output CPLD.

Langkah 9: Buat Suis

Buat Suis
Buat Suis
Buat Suis
Buat Suis

Untuk memberikan rangsangan untuk litar anda, anda memerlukan beberapa suis. Anda mempunyai beberapa pilihan di sini, tetapi syaratnya berbeza daripada pemproses AVR. Output CPLD tidak mempunyai pull-up bawaan dan tidak begitu mudah untuk melakukan penyingkiran dalam perisian. (Mungkin, tetapi memerlukan sumber yang mungkin anda ingin gunakan di litar anda.) Suis DIP yang ditunjukkan menyediakan beberapa suis dalam pakej yang mudah, tetapi harus ditarik. Saya menggunakan pull-up 1K. Butang tekan boleh dibuat menggunakan litar yang disyorkan Atmel untuk papan demo mereka. Skema ada di halaman 36 atau lebih. Pilihan lain adalah menyambungkan pemproses AVR untuk memberikan rangsangan - dan bahkan memeriksa respons. Tetapi itu adalah latihan yang diserahkan kepada pelajar.

Langkah 10: Buat Litar Pertama Anda

Buat Litar Pertama Anda
Buat Litar Pertama Anda
Buat Litar Pertama Anda
Buat Litar Pertama Anda

Pada masa ini anda semestinya telah memperoleh dan memasang perisian. Ikuti tutorial terperinci dan terperinci untuk membuat litar CPLD sederhana pertama anda (gerbang DAN dua input; tidak menjadi lebih mudah). Pastikan memilih peranti yang betul (44 Pin PLCC, 5V, 1504AS [detail]) dan pilih nombor pin I / O yang tersedia (saya menggunakan 14 dan 16 sebagai input; 28 sebagai output). Perincian ini sedikit berbeza dari tutorial, tetapi tidak memberi anda masalah.

Langkah 11: Program CPLD Pertama Anda

Program CPLD Pertama Anda
Program CPLD Pertama Anda
Program CPLD Pertama Anda
Program CPLD Pertama Anda

Sambungkan kabel pengaturcaraan anda ke port selari pada PC anda, sambungkan ke Programmer Cradle anda, sambungkan 5 Volt ke penyambung Power dan ikuti tutorial untuk benar-benar memprogram CPLD pertama anda. Pilih versi kabel yang betul. Perhatikan bahawa Altera Byte-Blaster adalah salah satu pilihan.

Langkah 12: Uji Bahagian Anda yang Diprogramkan

Uji Bahagian Anda yang Diprogramkan!
Uji Bahagian Anda yang Diprogramkan!
Uji Bahagian Anda yang Diprogramkan!
Uji Bahagian Anda yang Diprogramkan!

Putuskan sambungan Kabel Pengaturcaraan anda dari buaian. Pasangkan suis dan lampu berkedip ke pin yang betul, hidupkan kuasa, dan cubalah. Oleh kerana anda memulakan dengan litar sederhana, ujian bukanlah cabaran besar. Sekiranya ia berfungsi, anda sudah mula beroperasi! Gambarajah paparan atas akan membimbing anda dalam menghubungkan suis dan lampu berkedip anda untuk diuji.

Langkah 13: Akhir dan Beberapa Sumber Web

Akhir dan Beberapa Sumber Web
Akhir dan Beberapa Sumber Web

Bukan tujuan tutorial ini untuk mengajar anda cara menggunakan VHDL. (Saya baru mula belajar itulah sebabnya saya membuat programmer, ingat?) Yang mengatakan, saya telah menemui beberapa tutorial yang sangat berguna dan beberapa sumber berguna yang dapat saya arahkan kepada anda. Maklum balas dan cadangan lain sangat dihargai. Perhatikan bahawa anda juga boleh menggunakan Sistem Pembangunan Ghetto CPLD untuk mempelajari Verilog dan teknik pengaturcaraan CPLD lain yang tidak diambil perhatian oleh perkakasan. Sumber VHDL di Web: Asas dan beberapa pautan di sini dan di sini. alat percuma. Tutorial yang saya suka ada di sini dan di sini, tetapi anda akan menjumpai banyak yang lain. Akhirnya (buat masa ini), anda ingin melihat kumpulan perbincangan. Nikmati, belajar banyak, dan kongsi apa yang anda tahu.

Disyorkan: