Satura rādītājs:

Ghetto programmējamās loģikas (CPLD) izstrādes sistēma: 13 soļi
Ghetto programmējamās loģikas (CPLD) izstrādes sistēma: 13 soļi

Video: Ghetto programmējamās loģikas (CPLD) izstrādes sistēma: 13 soļi

Video: Ghetto programmējamās loģikas (CPLD) izstrādes sistēma: 13 soļi
Video: CPLD 2024, Jūlijs
Anonim
Ghetto programmējamās loģikas (CPLD) izstrādes sistēma
Ghetto programmējamās loģikas (CPLD) izstrādes sistēma

Pēdējos mēnešus esmu baudījis Ghetto izstrādes sistēmu AVR procesoriem. Patiesībā šis gandrīz nulles dolāru rīks ir izrādījies tik aizraujošs un noderīgs, ka man radās jautājums, vai šo koncepciju ir iespējams attiecināt arī uz FPGA/CPLD izstrādi. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Tāpēc es nedaudz rakņājos tīmeklī un radīju Atmel CPLD izstrādes sistēmu. Salīdzinājums ar Altera ierīcēm parāda, ka to pinout ir vienāds (saskaņā ar tālāk izklāstītajiem ierobežojumiem), tāpēc arī tās darbosies. Izveidojot izstrādes paneli un saskarnes kabeli, ko es prezentēšu, un pēc tam lejupielādējot rīkus, jūs varat izveidot savas CPLD lietojumprogrammas. Lūdzu, ņemiet vērā šādus ierobežojumus un ierobežojumus. Esmu mēģinājis līdzsvarot iespējas un vienkāršību, lai jūs varētu izveidot kaut ko tādu, kas jums patiks un no kā mācīties. Tikai 5 V ierīces. Sistēmas paplašināšana, lai aptvertu papildu spriegumus (3.3V, 2.5V, 1.8V atbalsta vienas ģimenes Atmel ierīces), nav sarežģīta, taču sarežģī gan izstrādes plati, gan programmēšanas kabeli. Pagaidām to izlaidīsim. Ņemiet vērā, ka plāksnei ir jānodrošina 5 V barošana. Tikai 44 kontaktu PLCC. Konkrēti, esmu ieprogrammējis Atmel ATF1504AS. Ghetto CPLD koncepciju var viegli attiecināt uz citām Atmel ierīcēm, taču šī ierīce šķita labs kompromiss starp cenu, lietošanas ērtumu un iespējām. Šī koncepcija jāattiecina arī uz citām ierīcēm, piemēram, ierīcēm no Altera, Xilinx, Actel uc. Patiesībā Max7000 saimes EPM7032 un EPM7064 darbosies vienā kontaktligzdā, kamēr izmantosit 44 kontaktu PLCC versijas. Līdz šim esmu izmantojis tikai Atmel programmēšanas kabeli, bet Altera Byte-Blaster atbalsta Atmel programmatūra, un tam arī vajadzētu darboties labi. Tas faktiski ir nedaudz vienkāršāks dizains nekā Atmel kabelis. (Es uzbūvēju Atmel versiju, un tā darbojas, tāpēc neesmu izmēģinājusi Altera versiju.) SparkFun piedāvā Altera kabeļa versiju par 15 ASV dolāriem. Tā kā tas darbosies gan Atmel, gan Altera, es to iesaku. Ja plānojat attīstīties kopā ar Altera detaļām, vēlaties iegūt arī Altera programmatūru. Es to neesmu mēģinājis, bet nav iemesla domāt, ka tas nedarbosies. Ātrums ir ierobežots. Tā kā Ghetto CPLD izstrādes sistēma ir veidota ar rokas vadiem un bez iezemētas plaknes, negaidiet uzticamu darbību ar ātrumu virs dažiem megaherciem. Pat tas nav garantēts, ka jūsu nobraukums var atšķirties! Protams, ja jūs veidojat aparatūras prototipu, kuram ir iezemēta plakne, tad jūsu CPLD var darboties lieliski arī ar lielāku ātrumu. Vienkārši negaidiet, ka tas ātri tiks uzstādīts Ghetto Development System.

1. darbība: pasūtiet detaļas

Iet pasūtiet detaļas
Iet pasūtiet detaļas

Jums būs nepieciešama 44 kontaktu plcc kontaktligzda, daži atdalīšanas vāciņi, daži neprogrammēti CPLD, ligzdas maizes plākšņu savienojumiem, uzvilkšanas rezistors un, iespējams, kāda perf plate. Ja jūsu atkritumu kastē ir kāds no šiem, varat ietaupīt dažus dolārus. Jūsu ērtībai šeit ir Digikey detaļu numuri: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Daudzums: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Daudzums: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Daudzums: 1, C1CAP CER.10UF 50V 20% DISK RAD PN: 478 -4275-1-ND Daudzums: 4, C2-C5RES METAL FILM 5.10K OHM 1/4W 1% PN: P5.10KCACT-ND PC PLATE FR4 1-SIDE PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Dažām detaļām var būt minimālais daudzums, taču tām joprojām jābūt diezgan lētām. Ja vēlaties izveidot dažus mirgojošus lukturus (8. darbība) vai izveidot slēdžu komplektu (9. darbība), iespējams, vēlēsities pasūtīt arī šīs. Paturiet prātā, ka Digikey ir vismaz 25 ASV dolāri, lai izvairītos no apstrādes maksas, tāpēc, iespējams, vēlēsities iegūt pāris papildu neprogrammētus CPLD vai AVR procesoru vai divus tikai prieka pēc. Es iesaku iegādāties Altera programmēšanas kabeli no SparkFun. Šeit ir detaļu numuri. Iegūstiet arī kabeli un savienotāju. (Pretējā gadījumā pasūtiet kabeļa detaļas no Digikey, ja veidojat savu.) Altera FPGA saderīgs programmētājs PN: PGM-087052x5 kontakta IDC lentes kabelis PN: PRT-085352x5 tapas apvalks PN: PRT-08506

2. darbība: iegūstiet un instalējiet programmatūru

Iegūstiet un instalējiet programmatūru
Iegūstiet un instalējiet programmatūru

Pašlaik izmantoju rīku ķēdi Atmel Prochip Designer 5.0. Šis rīks pieprasa reģistrēties Atmel un aizpildīt viņu oficiālo pieprasījuma veidlapu. Es viņiem teicu, ka esmu projektēšanas inženieris, šobrīd bezdarbnieks, un mans galvenais mērķis bija iemācīties viņu ierīces un VHDL (viss tiesa, BTW). Viņi apstiprināja licences pieprasījumu. Vienīgā nozveja ir tā, ka licence ir derīga tikai 6 mēnešus. Es ceru atrast publiska domēna rīku ķēdi līdz tās derīguma termiņa beigām. Altera ir arī instrumentu ķēde, kuru es varu pārbaudīt. Visi ieteikumi tiks novērtēti. Skatiet komentārus un saites pēdējā solī. Atmel Prochip Designer 5.0 ir šeit. Ja to saņemat, noteikti iegādājieties arī 1. servisa pakotni.

3. solis: izveidojiet programmēšanas kabeli

Izveidojiet programmēšanas kabeli
Izveidojiet programmēšanas kabeli

Vienkāršākā pieeja šeit ir iegādāties līdzīgu Altera Byte-Blaster no Sparkfun (skat. 1. darbību). Ja 15 ASV dolāri ir vairāk, nekā vēlaties tērēt, varat izmantot SparkFun Altera kabeļa shematisko shēmu vai izmantot Atmel Cable shematisko un nulles konstrukcijas shēmu. (Ja ir liela interese par kabeļa izveidi, es varu piedāvāt dažus ieteikumus, taču Sparkfun komplekts man šķiet pareizā atbilde.)

4. solis: izveidojiet programmētāja šūpuli

Padariet programmētāja šūpuli
Padariet programmētāja šūpuli
Padariet programmētāja šūpuli
Padariet programmētāja šūpuli
Padariet programmētāja šūpuli
Padariet programmētāja šūpuli

Apskatiet Atmel programmētāju. Tas ir ļoti elastīgi un ir lieliska iespēja, ja jums ir nauda un plānojat daudz attīstīt CPLD. Es uzskatu, ka Altera piedāvā kaut ko līdzīgu. Bet es izvēlējos lētāku pieeju - tas ir tas, par ko ir runa! Attēlos redzams manis uzbūvētā šūpuļa priekšējais un aizmugurējais skats. Ņemiet vērā DIP ligzdas, ko izmanto kā maizes dēļa savienotājus. Visas tapas katra savienotāja vienā pusē ir savienotas ar zemi; tapas otrā pusē savienojas ar CPLD signāla tapām. Es iekļāvu arī dažus barošanas savienojumus; ievietojiet tos tur, kur tie ir piemēroti. Diagrammas ir ilustratīvas shēmas; netiek parādīti tikai papildu barošanas savienojumi. Apskatiet attēlus, lai iegūtu idejas par tiem.

5. solis: Šūpuļa uzbūve - 1. daļa

Šūpuļa celtniecība - 1.daļa
Šūpuļa celtniecība - 1.daļa
Šūpuļa celtniecība - 1.daļa
Šūpuļa celtniecība - 1.daļa

Sāciet veidot šūpuli, ievietojot kontaktligzdas vēlamajās vietās. Atļaujiet brīvu vai divas rindas, lai būtu vieta atdalīšanas vāciņiem. Tas arī atvieglo savienojumu ar CPLD signāla tapām. Piestipriniet kontaktligzdas ar mazliet lodāmu vai epoksīdu, atkarībā no izmantotās perforācijas plāksnes veida. Augšpusē (virs CPLD ligzdas 1. tapas) atvēliet papildu vietu JTAG savienotājam un strāvas savienotājam. Skatiet attēlus no manis uzbūvētā. Novietojiet tukšu vadu (apmēram 20 gabarītu) ap zemes kopnes kontaktligzdu ārpusi. Maršrutējiet arī jaudas autobusu. (Sarkanais vads attēlos.) Skatiet attēlus, lai saņemtu norādījumus, taču jūsu dēlis, iespējams, būs nedaudz atšķirīgs - un tas ir tikai labi. Lodējiet kontaktligzdas ārējās tapas pie zemes kopnes. Tas palīdzēs nostiprināt kopnes vadu.

6. solis: Šūpuļa būvēšana - 2. daļa

Šūpuļa celtniecība - 2.daļa
Šūpuļa celtniecība - 2.daļa
Šūpuļa celtniecība - 2.daļa
Šūpuļa celtniecība - 2.daļa

Uzstādiet atdalīšanas vāciņus un pievienojiet tos zemei un strāvas tapām katrā CPLD ligzdas pusē. Es iesaku novietot vadus uz augšu un virs ārējām tapas rindām, lai sasniegtu iekšējās rindas. Lai iegūtu pareizās tapas, skatiet tapu skaita diagrammas - CPLD ligzdas tapas nav tālu acīmredzamas. Atstājiet pietiekami daudz vietas, lai varētu pieslēgties pie visām tapām, pa kurām pāriet vadus. Kad vāciņu savienojumi ir izdarīti, pievienojiet strāvas un zemes kopni. Visas sarkanās tapas diagrammās ir Vcc, un tām jābūt savienotām. Melnās tapas ir noslīpētas, un tās arī jāpievieno. Atkal, tā virzīšana gaisā ir laba pieeja. Idejas skatieties attēlos.

7. solis: Šūpuļa veidošana - secinājums

Šūpuļa celtniecība - secinājums
Šūpuļa celtniecība - secinājums
Šūpuļa celtniecība - secinājums
Šūpuļa celtniecība - secinājums
Šūpuļa celtniecība - secinājums
Šūpuļa celtniecība - secinājums

Novirziet JTAG savienojumus uz pareizajām tapām. Apskatiet savu programmēšanas kabeli, lai pārliecinātos, ka savienotājs ir pareizi orientēts. Neaizmirstiet TDO tapas pievilkšanu. Tas ir parādīts tikai attēlā un iet starp TDO tapu un Vcc. Pēdējais solis ir savienot katru CPLD I/O tapu ar kontaktligzdas tapu. Savienojumiem izmantojiet skaitļus diagrammās. Tas prasa visilgāko laiku! Ja jūs sekojat manai numerācijas shēmai, tad, pievienojot ķēdes, varat izmantot diagrammu Top View. Jums tiešām nav jāpieslēdz visi šie sākotnēji, jūs varat pagaidīt, kamēr tie būs nepieciešami jūsu projektētajām shēmām. Rūpīgi pārbaudiet savu darbu. Pārliecinieties, ka strāva un zeme nav īssavienojums!

8. darbība. Blinkenlights izveide (TTL versija)

Blinkenlights izveide (TTL versija)
Blinkenlights izveide (TTL versija)

Protams, jūs vēlaties redzēt, kā darbojas jūsu ķēdes. Tātad jūs vēlaties dažas mirgojošas gaismas (padarītas slavenas ar The Real Elliot). Vienīgais trūkums ir tas, ka CPLD nav tik spēcīgas izejas, kādas ir AVR procesoriem. Izmantojiet gaismas diodes, kas paredzētas 10 mA, un izmantojiet 1KOhm sērijas rezistorus. Tie sniegs jums skaidrus izejas signālus, neapgrūtinot CPLD izejas.

9. solis: izveidojiet slēdžus

Izveidojiet slēdžus
Izveidojiet slēdžus
Izveidojiet slēdžus
Izveidojiet slēdžus

Lai stimulētu ķēdes, jums būs nepieciešami daži slēdži. Šeit jums ir dažas iespējas, taču prasības atšķiras no AVR procesoru prasībām. CPLD izvados nav iebūvētu pull-up, un nav tik viegli atvienot programmatūru. (Tas ir iespējams, bet prasa resursus, kurus, iespējams, vēlaties izmantot savās shēmās.) Parādītie DIP slēdži nodrošina vairākus slēdžus ērtā iepakojumā, taču tie ir jāvelk uz augšu. Es izmantoju 1K pull-ups. Spiedpogas var izgatavot, izmantojot ķēdi, ko Atmel iesaka savai demonstrācijas plāksnei. Shēmas ir aptuveni 36. lpp. Vēl viena iespēja ir savienot AVR procesoru, lai sniegtu stimulus un pat pārbaudītu atbildes. Bet tas ir vingrinājums, kas paliek studentam.

10. solis: izveidojiet savu pirmo ķēdi

Izveidojiet savu pirmo ķēdi
Izveidojiet savu pirmo ķēdi
Izveidojiet savu pirmo ķēdi
Izveidojiet savu pirmo ķēdi

Līdz tam laikam jums vajadzētu iegūt un instalēt programmatūru. Izpildiet rūpīgo, detalizēto apmācību, lai izveidotu savu pirmo vienkāršo CPLD shēmu (divu ieeju UN vārti; nav daudz vienkāršāk). Noteikti izvēlieties pareizo ierīci (44 kontaktu PLCC, 5V, 1504AS [informācija]) un izvēlieties pieejamos ievades/izvades tapu numurus (kā ievadi izmantoju 14 un 16; kā izeju). Šīs detaļas nedaudz atšķiras no apmācības, taču tām nevajadzētu radīt problēmas.

11. solis: ieprogrammējiet savu pirmo CPLD

Programmējiet savu pirmo CPLD
Programmējiet savu pirmo CPLD
Programmējiet savu pirmo CPLD
Programmējiet savu pirmo CPLD

Pievienojiet programmēšanas kabeli datora paralēlajam portam, pievienojiet to programmētāja turētājam, pievienojiet 5 voltu strāvas savienotājam un izpildiet apmācību, lai faktiski ieprogrammētu savu pirmo CPLD. Izvēlieties pareizo kabeļa versiju. Ņemiet vērā, ka Altera Byte-Blaster ir viena no iespējām.

12. solis: pārbaudiet savu ieprogrammēto daļu

Pārbaudi savu ieprogrammēto daļu!
Pārbaudi savu ieprogrammēto daļu!
Pārbaudi savu ieprogrammēto daļu!
Pārbaudi savu ieprogrammēto daļu!

Atvienojiet programmēšanas kabeli no turētāja. Pievienojiet slēdžus un mirgojošos lukturus pareizajām tapām, ieslēdziet strāvu un izmēģiniet to. Tā kā jūs sākat ar vienkāršu shēmu, pārbaude nav liels izaicinājums. Ja tas izdodas, tu sāc un skrien! Augšējā skata diagramma palīdzēs jums savienot slēdžus un mirgojošos lukturus testēšanai.

13. darbība: beigas un daži tīmekļa resursi

Beigas un daži tīmekļa resursi
Beigas un daži tīmekļa resursi

Šīs apmācības mērķis nav iemācīt jums izmantot VHDL. (Es tikai sāku mācīties, tāpēc es izveidoju programmētāju, atcerieties?) Tas nozīmē, ka esmu atradis vairākas ļoti noderīgas apmācības un dažus noderīgus resursus, uz kuriem varu norādīt. Atsauksmes un citi ieteikumi tiek ļoti novērtēti. Ņemiet vērā, ka varat izmantot arī Ghetto CPLD izstrādes sistēmu, lai apgūtu Verilog un citas CPLD programmēšanas metodes, kas aparatūrai nav vienalga. VHDL resursi tīmeklī: pamati un dažas saites šeit un šeit. bezmaksas rīki. Pamācības, kas man patīk, ir šeit un šeit, bet jūs atradīsiet daudz citu. Visbeidzot (pagaidām) jūs vēlēsities apskatīt diskusiju grupu. Izbaudiet, uzziniet daudz un dalieties tajā, ko zināt.

Ieteicams: