Talaan ng mga Nilalaman:

Ghetto Programmable Logic (CPLD) Development System: 13 Mga Hakbang
Ghetto Programmable Logic (CPLD) Development System: 13 Mga Hakbang

Video: Ghetto Programmable Logic (CPLD) Development System: 13 Mga Hakbang

Video: Ghetto Programmable Logic (CPLD) Development System: 13 Mga Hakbang
Video: CPLD 2024, Hulyo
Anonim
Ghetto Programmable Logic (CPLD) Development System
Ghetto Programmable Logic (CPLD) Development System

Sa nakaraang ilang buwan ay nasisiyahan ako sa Ghetto Development System para sa mga prosesor ng AVR. Sa katunayan, ang halos zero dolyar na tool na ito ay napatunayan na nakakaakit at kapaki-pakinabang na nagtataka sa akin kung posible na palawakin ang konsepto sa pagpapaunlad din ng FPGA / CPLD. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Kaya gumawa ako ng kaunting paghuhukay sa web at nakagawa ako ng isang sistema ng pag-unlad para sa mga Atmel CPLD. Ang paghahambing sa mga aparatong Altera ay ipinapakita ang kanilang pinout na pareho (sa loob ng mga paghihigpit na detalyado ko sa ibaba), kaya gagana rin sila. Sa pamamagitan ng pagbuo ng board ng pag-unlad at interface ng cable na aking ipapakita, pagkatapos ay i-download ang mga tool, maaari kang bumuo ng iyong sariling mga application ng CPLD. Mangyaring tandaan ang mga sumusunod na limitasyon at paghihigpit. Sinubukan kong balansehin ang kakayahan at pagiging simple upang makabuo ka ng isang bagay na masisiyahan ka at matutunan mula sa.5V na mga aparato lamang. Ang pagpapalawak ng system upang masakop ang mga karagdagang voltages (3.3V, 2.5V, 1.8V ay suportado ng mga aparato ng Atmel sa parehong pamilya) ay hindi mahirap, ngunit kumplikado nito ang parehong development board at ang programming cable. Palaktawan natin ito sa ngayon. Tandaan na kailangan mong magbigay ng isang 5V supply sa board.44 pin PLCC lamang. Partikular, na-program ko ang Atmel ATF1504AS. Ang konsepto ng Ghetto CPLD ay maaaring madaling mapalawak sa iba pang mga aparatong Atmel, ngunit ang aparatong ito ay tila isang mahusay na kompromiso sa pagitan ng presyo, kadalian sa paggamit, at kakayahan. Ang konsepto ay dapat ding mapalawak sa iba pang mga aparato tulad ng mga mula sa Altera, Xilinx, Actel, atbp. Sa katunayan, ang pamilya Max7000 EPM7032 at EPM7064 ay gagana sa parehong socket hangga't gagamitin mo ang 44 na mga bersyon ng PLCC. Sa ngayon nagamit ko lamang ang Atmel programming cable, ngunit ang Altera Byte-Blaster ay suportado ng software ng Atmel at dapat ding gumana nang maayos. Ito ay talagang isang maliit na mas simpleng disenyo kaysa sa Atmel cable. (Itinayo ko ang bersyon ng Atmel at gumagana ito, kaya hindi ko pa nasubukan ang bersyon ng Altera.) Nag-aalok ang SparkFun ng isang $ 15 na bersyon ng Altera cable. Dahil gagana ito para sa parehong Atmel at Altera, inirerekumenda ko ito. Kung bubuo ka sa mga bahagi ng Altera, gugustuhin mo ring makuha ang Altera software. Hindi ko talaga nasubukan ito, ngunit walang dahilan na maiisip ko na hindi ito gagana. Limitado ang bilis. Dahil ang Ghetto CPLD Development System ay binuo gamit ang mga kable ng kamay at walang ground plane, huwag asahan ang maaasahang pagpapatakbo sa bilis ng higit sa ilang megahertz. Kahit na hindi garantisadong ang iyong mileage ay maaaring mag-iba! Siyempre, kung magtatayo ka ng hardware ng prototype na may isang ground plane kung gayon ang iyong CPLD ay maaaring gumana nang maayos sa mas mataas na bilis. Huwag lamang asahan na mabilis itong mai-mount sa Ghetto Development System.

Hakbang 1: Pumunta sa Mga Bahagi ng Order

Pumunta sa Mga Bahagi ng Order
Pumunta sa Mga Bahagi ng Order

Kakailanganin mo ang isang 44 pin plcc socket, ilang mga decoupling cap, ilang mga hindi naka-program na CPLD, socket para sa mga koneksyon sa breadboard, isang pull-up risistor at marahil ilang perf board upang maitayo ito. Kung mayroon kang anuman sa iyong junk box maaari kang makatipid ng kaunting pera. Para sa iyong kaginhawaan, narito ang Digikey Part Number: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Qty: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Qty: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Qty: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Qty: 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 Ang ilang mga bahagi ay maaaring may minimum na dami, ngunit dapat ay medyo mura. Kung nais mong bumuo ng ilang mga blinkenlight (Hakbang 8) o gumawa ng isang hanay ng mga switch (hakbang 9) baka gusto mong mag-order ang mga ito rin. Tandaan na ang Digikey ay may minimum na $ 25 upang maiwasan ang isang singil sa paghawak, kaya baka gusto mong makakuha ng isang labis na hindi naka -ogram na mga CPLD o isang AVR processor o dalawa para lamang sa kasiyahan. Inirerekumenda kong bilhin mo ang Altera programming cable mula sa SparkFun. Narito ang mga numero ng bahagi. Kunin ang cable at konektor din. (Kung hindi man, mag-order ng mga bahagi para sa cable mula sa Digikey kung nagtatayo ka ng iyong sarili.) Altera FPGA Compatible Programmer PN: PGM-087052x5 Pin IDC Ribbon Cable PN: PRT-085352x5 Pin Shrouded Header PN: PRT-08506

Hakbang 2: Kumuha at Mag-install ng Software

Kunin at I-install ang Software
Kunin at I-install ang Software

Kasalukuyan kong ginagamit ang kadena ng tool ng Atmel Prochip Designer 5.0. Kinakailangan ng tool na ito na magparehistro ka sa Atmel at punan ang kanilang opisyal na form ng kahilingan. Sinabi ko sa kanila na ako ay isang taga-disenyo ng disenyo, kasalukuyang walang trabaho, at ang aking pangunahing layunin ay malaman ang kanilang mga aparato at VHDL (lahat totoo, BTW). Inaprubahan nila ang kahilingan sa lisensya. Ang nakakuha lamang ay ang lisensya ay mabuti para sa 6 na buwan lamang. Inaasahan kong makahanap ng isang kadena ng tool sa pampublikong domain sa oras na mag-expire ito. Ang Altera ay mayroon ding isang kadena ng tool na maaari kong suriin. Anumang mga mungkahi ay pahalagahan. Tingnan ang mga komento at link sa huling hakbang. Narito ang Atmel Prochip Designer 5.0. Kung nakuha mo ito, tiyaking makuha mo rin ang Service Pack 1.

Hakbang 3: Gumawa ng Cable ng Programming

Gumawa ng Programming Cable
Gumawa ng Programming Cable

Ang pinakamadaling diskarte dito ay upang bumili ng trabaho ng Altera Byte-Blaster mula sa Sparkfun (tingnan ang Hakbang 1). Kung ang $ 15 ay higit pa sa pag-aalaga mong gastusin, pagkatapos ay maaari mong gamitin ang eskematiko ng SparkFun Altera Cable o gamitin ang eskematiko ng Atmel Cable at isa-simula. (Kung mayroong maraming interes sa simula ng paggawa ng cable, maaari akong mag-alok ng ilang mga mungkahi, ngunit ang Sparkfun kit ay tila ang tamang sagot sa akin.)

Hakbang 4: Gumawa ng Programmer Cradle

Gumawa ng Programmer Cradle
Gumawa ng Programmer Cradle
Gumawa ng Programmer Cradle
Gumawa ng Programmer Cradle
Gumawa ng Programmer Cradle
Gumawa ng Programmer Cradle

Tingnan ang programmer ng Atmel. Ito ay napaka-kakayahang umangkop at ito ay isang mahusay na pagpipilian kung mayroon kang pera at balak na gumawa ng maraming pag-unlad ng CPLD. Nag-aalok ang Altera ng katulad na bagay, naniniwala ako. Ngunit nagpunta ako sa isang mas murang diskarte - iyon ang tungkol dito! Ipinapakita ng mga larawan ang harap at likurang tanawin ng duyan na aking itinayo. Tandaan ang mga socket ng DIP na ginamit bilang mga konektor ng breadboard. Ang lahat ng mga pin sa isang gilid ng bawat konektor ay konektado sa lupa; ang mga pin sa kabilang panig ay kumonekta sa mga signal pin sa CPLD. Nagsama rin ako ng ilang mga koneksyon sa kuryente; ilagay ang mga ito sa kung saan magkasya. Ang mga diagram ay uri ng mga nakalarawang iskema; ang labis na mga koneksyon sa kuryente lamang ang hindi ipinapakita. Tingnan ang mga larawan para sa mga ideya sa mga ito.

Hakbang 5: Pagbuo ng duyan - Bahagi 1

Pagbuo ng duyan - Bahagi 1
Pagbuo ng duyan - Bahagi 1
Pagbuo ng duyan - Bahagi 1
Pagbuo ng duyan - Bahagi 1

Simulang buuin ang duyan sa pamamagitan ng pagpasok ng mga socket sa mga lokasyon kung saan mo nais ang mga ito. Payagan ang isang bakanteng hilera o dalawa upang magkaroon ng puwang para sa mga decoupling cap. Ginagawa nitong mas madali upang kumonekta sa mga signal ng CPLD signal. I-anchor ang mga socket na may kaunting solder o epoxy depende sa uri ng perf board na iyong ginamit. Pahintulutan ang ilang dagdag na silid sa tuktok (sa itaas ng pin 1 ng socket ng CPLD) para sa konektor ng JTAG at ang konektor ng kuryente. Sumangguni sa mga larawan ng aking itinayo. Paglibot sa isang hubad na kawad (20 gauge o higit pa) sa paligid ng mga socket para sa isang ground bus. Ruta ang power bus din. (Ang pulang kawad sa mga larawan.) Sumangguni sa mga larawan para sa ilang patnubay, ngunit ang iyong board ay malamang na magkakaiba - at ayos lang. I-block ang mga labas na pin ng mga socket sa ground bus. Makakatulong ito sa pag-angkla sa wire ng bus.

Hakbang 6: Pagbuo ng duyan - Bahagi 2

Pagbuo ng duyan - Bahagi 2
Pagbuo ng duyan - Bahagi 2
Pagbuo ng duyan - Bahagi 2
Pagbuo ng duyan - Bahagi 2

I-install ang mga decoupling cap at ikonekta ang mga ito sa lupa at mga power pin sa bawat panig ng socket ng CPLD. Iminumungkahi ko ang pagruruta ng mga wire pataas at sa mga panlabas na hanay ng mga pin upang maabot ang panloob na mga hilera. Sumangguni sa mga diagram ng numero ng pin upang makuha ang tamang mga pin - ang pin-out ng CPLD socket ay malayo sa halata. Iwanan ang sapat na silid upang payagan ang koneksyon sa anumang mga pin na nadaanan mo ang mga wire. Kapag tapos na ang mga koneksyon sa cap, ikonekta ang power at ground bus. Ang lahat ng mga pulang pin sa mga diagram ay Vcc at dapat na konektado. Ang mga itim na pin ay ground at dapat na konektado din. Muli, ang pagruruta nito sa hangin ay isang mahusay na diskarte. Tingnan ang mga larawan para sa mga ideya.

Hakbang 7: Pagbuo ng duyan - Konklusyon

Pagbuo ng duyan - Konklusyon
Pagbuo ng duyan - Konklusyon
Pagbuo ng duyan - Konklusyon
Pagbuo ng duyan - Konklusyon
Pagbuo ng duyan - Konklusyon
Pagbuo ng duyan - Konklusyon

Ituro ang mga koneksyon sa JTAG sa tamang mga pin. Tingnan ang iyong Programming Cable upang matiyak na ang konektor ay tama ang oriented. Huwag kalimutan ang pull-up sa TDO pin. Ipinapakita lamang ito sa larawan at papunta sa pagitan ng TDO pin at Vcc. Ang huling hakbang ay upang ikonekta ang bawat I / O pin ng CPLD sa isang pin sa mga socket. Gamitin ang mga numero sa mga diagram para sa mga koneksyon. Ito ang tumatagal ng pinakamahabang oras! Kung susundin mo ang aking scheme sa pagnunumero, maaari mong gamitin ang diagram ng Top View bilang isang gabay sa pag-hook up ng iyong mga circuit. Talagang hindi mo kailangang i-hook up ang lahat ng mga ito sa una maaari mong maghintay hanggang sa kailangan mo ang mga ito para sa mga circuit na iyong dinisenyo. Maingat na suriin ang iyong trabaho. Siguraduhin na ang kapangyarihan at lupa ay hindi maikli!

Hakbang 8: Gumawa ng Mga Blinkenlight (Bersyon ng TTL)

Gumawa ng Mga Blinkenlight (Bersyon ng TTL)
Gumawa ng Mga Blinkenlight (Bersyon ng TTL)

Gusto mong makita ang iyong mga circuit ay gumagana, syempre. Kaya't gugustuhin mo ang ilang mga blinkenlight (pinasikat ng The Real Elliot). Ang nakakuha lang ay ang mga CPLD na walang masagana na output na mayroon ang mga processor ng AVR. Gumamit ng mga LED na na-rate para sa 10ma at gumamit ng 1KOhm series resistors. Bibigyan ka nito ng mga malinaw na signal ng output nang hindi pinapagod ang mga output ng CPLD.

Hakbang 9: Gumawa ng Mga switch

Gumawa ng Mga switch
Gumawa ng Mga switch
Gumawa ng Mga switch
Gumawa ng Mga switch

Upang magbigay ng mga stimuli para sa iyong mga circuit, kakailanganin mo ng ilang mga switch. Mayroon kang ilang mga pagpipilian dito, ngunit ang mga kinakailangan ay naiiba kaysa sa mga processor ng AVR. Ang mga output ng CPLD ay walang built-in na pull-up at hindi ganoong kadaling gawin ang pag-debit sa software. (Posible, ngunit kumukuha ng mga mapagkukunan na marahil nais mong gamitin sa iyong mga circuit.) Ang ipinakitang mga switch ng DIP ay nagbibigay ng maraming mga switch sa isang maginhawang pakete, ngunit kailangang hilahin. Gumamit ako ng 1K pull-up. Ang mga pushbutttons ay maaaring gawin gamit ang circuit na inirekomenda ng Atmel para sa kanilang demo board. Ang mga iskematika ay nasa pahina 36 o higit pa. Ang isa pang pagpipilian ay upang mai-hook up ang isang AVR processor upang magbigay ng stimuli - at kahit suriin ang mga tugon. Ngunit iyan ay isang ehersisyo na naiwan sa mag-aaral.

Hakbang 10: Lumikha ng Iyong Unang Circuit

Lumikha ng Iyong Unang Circuit
Lumikha ng Iyong Unang Circuit
Lumikha ng Iyong Unang Circuit
Lumikha ng Iyong Unang Circuit

Sa oras na ito dapat ay nakuha mo at na-install ang software. Sundin ang masusing, detalyadong tutorial upang likhain ang iyong unang simpleng circuit ng CPLD (dalawang-input AT gate; hindi mas nagiging simple). Siguraduhin na piliin ang tamang aparato (44 Pin PLCC, 5V, 1504AS [mga detalye]) at piliin ang I / O mga numero ng pin na magagamit (Gumamit ako ng 14 at 16 bilang mga input; 28 bilang isang output). Ang mga detalyeng ito ay bahagyang naiiba sa tutorial, ngunit hindi ka dapat bigyan ng anumang problema.

Hakbang 11: I-program ang Iyong Unang CPLD

I-program ang Iyong Unang CPLD
I-program ang Iyong Unang CPLD
I-program ang Iyong Unang CPLD
I-program ang Iyong Unang CPLD

I-hook up ang iyong programming cable sa parallel port sa iyong PC, i-hook ito sa iyong Programmer Cradle, i-hook up ang 5 Volts sa konektor ng Power at sundin ang tutorial upang talagang programa ang iyong pinakaunang CPLD. Piliin ang tamang bersyon ng cable. Tandaan na ang Altera Byte-Blaster ay isa sa mga pagpipilian.

Hakbang 12: Subukan ang Iyong Na-Program na Bahagi

Subukan ang Iyong Programmed Part!
Subukan ang Iyong Programmed Part!
Subukan ang Iyong Programmed Part!
Subukan ang Iyong Programmed Part!

Idiskonekta ang iyong Programming Cable mula sa duyan. I-plug ang mga switch at blinkenlight sa tamang mga pin, i-on ang kuryente, at subukan ito. Dahil nagsisimula ka sa isang simpleng circuit, ang pagsubok ay hindi isang malaking hamon. Kung ito ay gumagana, ikaw ay nasa labas at tumatakbo! Gagabayan ka ng tuktok na diagram ng pagtingin sa pagkonekta sa iyong mga switch at mga blinkenlight para sa pagsubok.

Hakbang 13: Ang Wakas at Ilang Mga Mapagkukunang Web

Ang Wakas at Ilang Mga Mapagkukunang Web
Ang Wakas at Ilang Mga Mapagkukunang Web

Hindi layunin ng tutorial na ito upang turuan ka kung paano gamitin ang VHDL. (Nagsisimula pa lamang akong malaman kung bakit nilikha ko ang programmer, tandaan mo?) Na sinabi, natagpuan ko ang maraming mga kapaki-pakinabang na tutorial at ilang kapaki-pakinabang na mapagkukunan na maaari kong ituro sa iyo. Ang feedback at iba pang mga mungkahi ay lubos na pinahahalagahan. Tandaan na maaari mo ring gamitin ang Ghetto CPLD Development System upang malaman ang Verilog at iba pang mga diskarte sa pagprograma ng CPLD na hindi pinapahalagahan ng hardware. Mga Mapagkukunang VHDL sa Web: Mga Pangunahing Kaalaman at ilang mga link dito at dito. mga libreng kasangkapan. Ang mga tutorial na gusto ko ay narito at narito, ngunit maraming iba ang makikita mo. Panghuli (sa ngayon), gugustuhin mong suriin ang pangkat ng talakayan. Tangkilikin, alamin ng maraming, at ibahagi ang alam mo.

Inirerekumendang: