Სარჩევი:

გეტოს პროგრამირებადი ლოგიკის (CPLD) განვითარების სისტემა: 13 ნაბიჯი
გეტოს პროგრამირებადი ლოგიკის (CPLD) განვითარების სისტემა: 13 ნაბიჯი

ვიდეო: გეტოს პროგრამირებადი ლოგიკის (CPLD) განვითარების სისტემა: 13 ნაბიჯი

ვიდეო: გეტოს პროგრამირებადი ლოგიკის (CPLD) განვითარების სისტემა: 13 ნაბიჯი
ვიდეო: FuLA - გეტოს შვილი/Getos Shvili 2024, ნოემბერი
Anonim
გეტოს პროგრამირებადი ლოგიკის (CPLD) განვითარების სისტემა
გეტოს პროგრამირებადი ლოგიკის (CPLD) განვითარების სისტემა

ბოლო რამდენიმე თვის განმავლობაში მე სარგებლობდა AVR პროცესორების გეტოს განვითარების სისტემით. ფაქტობრივად, ეს თითქმის ნულოვანი დოლარის ინსტრუმენტი აღმოჩნდა იმდენად მომხიბლავი და სასარგებლო, რომ მაინტერესებდა შესაძლებელი იყო თუ არა კონცეფციის გაფართოება FPGA/CPLD განვითარებაზეც. (FPGA: საველე პროგრამირებადი კარიბჭის მასივი. CPLD: კომპლექსური პროგრამირებადი ლოგიკური მოწყობილობა.) ასე რომ, მე პატარა თხრა გავაკეთე ინტერნეტში და გამოვიმუშავე განვითარების სისტემა Atmel CPLD– ებისთვის. Altera– ს მოწყობილობებთან შედარება გვიჩვენებს, რომ მათი pinout იგივეა (ქვემოთ მოყვანილი შეზღუდვების ფარგლებში), ასე რომ ისინი ასევე იმუშავებენ. განვითარების დაფისა და ინტერფეისის კაბელის შექმნით, რომელსაც წარმოგიდგენთ, შემდეგ ინსტრუმენტების გადმოტვირთვით, შეგიძლიათ განავითაროთ თქვენი საკუთარი CPLD პროგრამები. გთხოვთ გაითვალისწინოთ შემდეგი შეზღუდვები და შეზღუდვები. მე შევეცადე დავაბალანსო შესაძლებლობები და სიმარტივე, ასე რომ თქვენ შეგიძლიათ ააწყოთ ის, რაც სიამოვნებას მიიღებთ და ისწავლით მხოლოდ 5V მოწყობილობებით. სისტემის გაფართოება დამატებითი ძაბვების დასაფარად (3.3V, 2.5V, 1.8V მხარს უჭერს Atmel მოწყობილობები იმავე ოჯახში) არ არის რთული, მაგრამ ეს ართულებს როგორც განვითარების დაფას, ასევე პროგრამირების კაბელს. მოდით გამოტოვოთ ის ახლა. გაითვალისწინეთ, რომ თქვენ უნდა მიაწოდოთ დაფის 5V მიწოდება. მხოლოდ 44 პლნიანი PLCC. კერძოდ, მე დავპროგრამე Atmel ATF1504AS. Ghetto CPLD კონცეფცია მარტივად შეიძლება გავრცელდეს სხვა Atmel მოწყობილობებზე, მაგრამ ეს მოწყობილობა კარგ კომპრომისს ჰგავდა ფასს, მარტივ გამოყენებას და შესაძლებლობებს შორის. კონცეფცია ასევე უნდა გავრცელდეს სხვა მოწყობილობებზე, როგორიცაა Altera, Xilinx, Actel და ა.შ. ფაქტობრივად, Max7000 ოჯახი EPM7032 და EPM7064 იმუშავებს ერთსა და იმავე სოკეტში, სანამ იყენებთ PLCC– ის 44 პინის ვერსიებს. ჯერჯერობით მე მხოლოდ Atmel პროგრამირების კაბელი გამოვიყენე, მაგრამ Altera Byte-Blaster მხარდაჭერილია Atmel პროგრამული უზრუნველყოფით და ასევე კარგად უნდა მუშაობდეს. ეს სინამდვილეში ცოტა უფრო მარტივი დიზაინია ვიდრე ატმელის კაბელი. (მე ავაშენე Atmel ვერსია და ის მუშაობს, ასე რომ მე არ მიცდია Altera ვერსია.) SparkFun გთავაზობთ Altera კაბელის $ 15 ვერსიას. ვინაიდან ეს იმუშავებს როგორც ატმელზე, ასევე ალტერაზე, მე გირჩევთ. თუ თქვენ აპირებთ განვითარებას Altera– ს ნაწილებით, თქვენ ასევე გსურთ მიიღოთ Altera პროგრამული უზრუნველყოფა. მე ნამდვილად არ მიცდია ეს, მაგრამ არ არსებობს მიზეზი, რომ ვიფიქრო, რომ ის არ იმუშავებს. სიჩქარე შეზღუდულია. ვინაიდან გეტოს CPLD განვითარების სისტემა აგებულია ხელით გაყვანილობით და მიწის სიბრტყის გარეშე, ნუ ელოდებით საიმედო მუშაობას რამდენიმე მეგაჰერცზე მეტი სიჩქარით. მაშინაც კი, გარანტირებული არ არის, რომ თქვენი გარბენი შეიძლება განსხვავდებოდეს! რასაკვირველია, თუ თქვენ ააშენებთ ტექნიკის პროტოტიპს, რომელსაც აქვს გრუნტის სიბრტყე, მაშინ თქვენი CPLD შეიძლება კარგად იმუშაოს უფრო მაღალი სიჩქარით. უბრალოდ არ ელოდოთ, რომ ის სწრაფად იქნება დამონტაჟებული გეტოს განვითარების სისტემაში.

ნაბიჯი 1: შეუკვეთეთ ნაწილები

გადადით შეკვეთის ნაწილებზე
გადადით შეკვეთის ნაწილებზე

თქვენ დაგჭირდებათ 44 პლინიანი plcc სოკეტი, რამდენიმე საცობი თავსახური, ზოგიერთი დაუპროგრამებული CPLD, სოკეტი დაფის კავშირებისთვის, გამყვანი რეზისტორი და შესაძლოა რაიმე დაფის ასაშენებლად. თუკი ეს გაქვთ თქვენს უსარგებლო ყუთში, შეგიძლიათ დაზოგოთ რამდენიმე დოლარი. თქვენი მოხერხებულობისთვის აქ არის Digikey ნაწილის ნომრები: 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 რაოდენობა: 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 რამდენიმე ნაწილს შეიძლება ჰქონდეს მინიმალური რაოდენობა, მაგრამ მაინც საკმაოდ იაფი უნდა იყოს. თუ გსურთ ააშენოთ რამდენიმე მოციმციმე შუქი (ნაბიჯი 8) ან გააკეთოთ გადამრთველების ნაკრები (ნაბიჯი 9) შეიძლება დაგჭირდეთ შეკვეთა ეს ასევე გაითვალისწინეთ, რომ Digikey– ს აქვს $ 25 მინიმალური, რათა თავიდან აიცილოთ დამუშავების საფასური, ასე რომ თქვენ დაგჭირდებათ რამოდენიმე დამატებითი არაპროგრამირებული CPLD ან AVR პროცესორი ან ორი გასართობად. გირჩევთ შეიძინოთ SparkFun– დან Altera პროგრამირების კაბელი. აქ მოცემულია ნაწილის ნომრები. მიიღეთ კაბელი და კონექტორიც. (წინააღმდეგ შემთხვევაში, შეუკვეთეთ კაბელის ნაწილები Digikey– დან, თუ თქვენ აშენებთ საკუთარ თავს.) Altera FPGA თავსებადი პროგრამისტი PN: PGM-087052x5 Pin IDC ლენტი კაბელი PN: PRT-085352x5 Pin დაფარული თავსაბურავი PN: PRT-08506

ნაბიჯი 2: მიიღეთ და დააინსტალირეთ პროგრამული უზრუნველყოფა

მიიღეთ და დააინსტალირეთ პროგრამული უზრუნველყოფა
მიიღეთ და დააინსტალირეთ პროგრამული უზრუნველყოფა

მე ამჟამად ვიყენებ Atmel Prochip Designer 5.0 ინსტრუმენტების ჯაჭვს. ეს ინსტრუმენტი მოითხოვს თქვენ დარეგისტრირდეთ Atmel– ში და შეავსოთ მათი ოფიციალური მოთხოვნის ფორმა. მე მათ ვუთხარი, რომ მე ვიყავი დიზაინერი ინჟინერი, ამჟამად უმუშევარი და ჩემი მთავარი მიზანი იყო ვისწავლო მათი მოწყობილობები და VHDL (ყველაფერი მართალია, BTW). მათ დაამტკიცეს ლიცენზიის მოთხოვნა. ერთადერთი პრობლემა ის არის, რომ ლიცენზია კარგია მხოლოდ 6 თვის განმავლობაში. მე ვიმედოვნებ, რომ ვიპოვი საჯარო დომენის ინსტრუმენტების ჯაჭვს, სანამ ის ამოიწურება. Altera– ს ასევე აქვს ინსტრუმენტების ჯაჭვი, რომლის შემოწმებაც შემიძლია. ნებისმიერი წინადადება იქნება დასაფასებელი. იხილეთ კომენტარები და ბმულები ბოლო ეტაპზე. Atmel Prochip Designer 5.0 აქ არის. თუ თქვენ მიიღებთ მას, დარწმუნდით, რომ მიიღეთ სერვის პაკეტი 1 ასევე მისთვის.

ნაბიჯი 3: შექმენით პროგრამირების კაბელი

პროგრამირების კაბელის გაკეთება
პროგრამირების კაბელის გაკეთება

აქ უადვილესი მიდგომაა იყიდოთ Altera Byte-Blaster სამუშაო სპარკფუნისგან (იხ. ნაბიჯი 1). თუ $ 15 იმაზე მეტია ვიდრე თქვენ ხარჯავთ, მაშინ შეგიძლიათ გამოიყენოთ SparkFun Altera Cable სქემატური სქემა, ან გამოიყენოთ Atmel Cable სქემატური და ნაკაწრების შესაქმნელად. (თუ დიდი ინტერესია კაბელის ნაკაწრების მშენებლობის მიმართ, შემიძლია შემოგთავაზოთ რამდენიმე წინადადება, მაგრამ Sparkfun ნაკრები ჩემთვის სწორი პასუხია.)

ნაბიჯი 4: შექმენით პროგრამისტის აკვანი

გააკეთეთ პროგრამისტის აკვანი
გააკეთეთ პროგრამისტის აკვანი
გააკეთეთ პროგრამისტის აკვანი
გააკეთეთ პროგრამისტის აკვანი
გააკეთეთ პროგრამისტის აკვანი
გააკეთეთ პროგრამისტის აკვანი

გადახედეთ Atmel პროგრამისტს. ეს არის ძალიან მოქნილი და შესანიშნავი ვარიანტია, თუკი გაქვთ ფული და გეგმავთ ბევრი CPLD განვითარების განხორციელებას. Altera გვთავაზობს მსგავს რაღაცას, მჯერა. მაგრამ მე მივედი იაფი მიდგომით - ეს არის ის, რაც აქ არის! სურათები აჩვენებს წინა და უკანა ხედებს ჩემს მიერ აშენებულ აკვანს. გაითვალისწინეთ DIP სოკეტები, რომლებიც გამოიყენება პურის დაფის შესაერთებლად. ყველა კონექტორი თითოეული კონექტორის ერთ მხარეს უკავშირდება მიწას; ქინძისთავები მეორე მხარეს უკავშირდება სიგნალის ქინძისთავებს CPLD- ზე. შევიტანე რამდენიმე დენის კავშირიც; განათავსეთ ისინი იქ, სადაც ისინი ჯდება. დიაგრამები ერთგვარი ხატოვანი სქემაა; მხოლოდ დამატებითი დენის კავშირები არ არის ნაჩვენები. შეხედეთ სურათებს ამ იდეების შესახებ.

ნაბიჯი 5: აკვანის მშენებლობა - ნაწილი 1

აკვანის მშენებლობა - ნაწილი 1
აკვანის მშენებლობა - ნაწილი 1
აკვანის მშენებლობა - ნაწილი 1
აკვანის მშენებლობა - ნაწილი 1

დაიწყეთ აკვანის მშენებლობა სოკეტების ჩასმით იმ ადგილებში, სადაც გსურთ. დაუშვით ერთი ან ორი ცარიელი რიგი, ასე რომ ადგილი იქნება განცალკევებული თავსახურისთვის. ეს ასევე აადვილებს CPLD სიგნალის ქინძისთავებთან დაკავშირებას. მიამაგრეთ სოკეტები ცოტაოდენი შედუღებით ან ეპოქსიდით, რაც დამოკიდებულია პერფის დაფის ტიპზე, რომელსაც იყენებთ. მიეცით დამატებითი ადგილი ზედა ნაწილში (CPLD სოკეტის 1 პინის ზემოთ) JTAG კონექტორისა და დენის კონექტორისთვის. იხილეთ ჩემს მიერ აშენებული ნახატები. მარშრუტი შიშველი მავთულით (დაახლოებით 20 ლიანდაგით) სოკეტების გარედან მიწისქვეშა ავტობუსისთვის. მარშრუტი დენის ავტობუსი ასევე. (წითელი მავთული სურათებზე.) მიმართეთ სურათებს რამოდენიმე მითითებისთვის, მაგრამ თქვენი დაფა ალბათ ცოტა განსხვავებული იქნება - და ეს მხოლოდ ჯარიმაა. მიამაგრეთ სოკეტების გარე ქინძისთავები მიწის ავტობუსზე. ეს ხელს შეუწყობს ავტობუსის მავთულის გაყვანას.

ნაბიჯი 6: აკვანის მშენებლობა - ნაწილი 2

აკვანის მშენებლობა - ნაწილი 2
აკვანის მშენებლობა - ნაწილი 2
აკვანის მშენებლობა - ნაწილი 2
აკვანის მშენებლობა - ნაწილი 2

დააინსტალირეთ დაშლის ქუდები და დააკავშირეთ ისინი მიწასთან და დენის ქინძისთავებთან CPLD სოკეტის თითოეულ მხარეს. მე ვთავაზობ მავთულხლართების გადატანას ზემოთ და ზემოდან მწკრივებზე, რათა მიაღწიოს შიდა რიგებს. მიმართეთ პინის ნომრის დიაგრამებს სწორი ქინძისთავების მისაღებად - CPLD სოკეტიდან ამოღება შორს არის აშკარაა. დატოვეთ საკმარისი ადგილი, რათა უზრუნველყოს კავშირი ნებისმიერ ქინძისთავთან, რომელთანაც მავთულები გაივლის. მას შემდეგ, რაც ხრახნიანი კავშირები დასრულდება, შეაერთეთ დენის და მიწის ავტობუსი. დიაგრამებზე ყველა წითელი ქინძისთავი არის Vcc და უნდა იყოს დაკავშირებული. შავი ქინძისთავები დაფქულია და ასევე უნდა იყოს დაკავშირებული. ისევ და ისევ, მისი ჰაერში გაშვება კარგი მიდგომაა. შეხედეთ სურათებს იდეებისთვის.

ნაბიჯი 7: აკვანის მშენებლობა - დასკვნა

აკვანის მშენებლობა - დასკვნა
აკვანის მშენებლობა - დასკვნა
აკვანის მშენებლობა - დასკვნა
აკვანის მშენებლობა - დასკვნა
აკვანის მშენებლობა - დასკვნა
აკვანის მშენებლობა - დასკვნა

მარშრუტი JTAG კავშირები სწორი ქინძისთავები. გადახედეთ თქვენს პროგრამირების კაბელს, რომ დარწმუნდეთ, რომ კონექტორი სწორად არის ორიენტირებული. არ დაივიწყოთ TDO პინზე გადატანა. ეს ნაჩვენებია მხოლოდ სურათზე და მიდის TDO pin- სა და Vcc- ს შორის. ბოლო ნაბიჯი არის CPLD- ის თითოეული I/O pin- ის დაკავშირება სოკეტებზე. გამოიყენეთ დიაგრამების რიცხვები კავშირებისთვის. ამას ყველაზე დიდი დრო სჭირდება! თუ დაიცავთ ჩემი ნუმერაციის სქემას, მაშინ შეგიძლიათ გამოიყენოთ Top View დიაგრამა, როგორც მეგზური თქვენი სქემების მიერთებისას. თქვენ ნამდვილად არ გჭირდებათ ამ ყველაფრის დაკავშირება თავდაპირველად, შეგიძლიათ დაელოდოთ სანამ დაგჭირდებათ თქვენს მიერ შემუშავებული სქემებისთვის. ყურადღებით შეამოწმეთ თქვენი სამუშაო. დარწმუნდით, რომ ძალა და მიწა არ არის მოკლებული!

ნაბიჯი 8: გააკეთეთ მოციმციმე ნათურები (TTL ვერსია)

გააკეთეთ მოციმციმე ნათურები (TTL ვერსია)
გააკეთეთ მოციმციმე ნათურები (TTL ვერსია)

თქვენ გსურთ ნახოთ თქვენი სქემების მუშაობა, რა თქმა უნდა. ასე რომ თქვენ მოგიწევთ რამდენიმე მოციმციმე შუქი (ცნობილი გახდა ნამდვილი ელიოტის მიერ). ერთადერთი პრობლემა ის არის, რომ CPLD– ს არ აქვს ისეთი ძლიერი შედეგები, რაც AVR პროცესორებს აქვთ. გამოიყენეთ LED- ები, რომლებიც შეფასებულია 10ma და გამოიყენეთ 1KOhm სერიის რეზისტორები. ეს მოგცემთ მკაფიო გამომავალ სიგნალებს CPLD გამოსავლების დაძაბვის გარეშე.

ნაბიჯი 9: გააკეთეთ გადამრთველები

გააკეთეთ გადამრთველები
გააკეთეთ გადამრთველები
გააკეთეთ გადამრთველები
გააკეთეთ გადამრთველები

თქვენი სქემების სტიმულის უზრუნველსაყოფად, დაგჭირდებათ რამდენიმე გადამრთველი. თქვენ გაქვთ რამდენიმე ვარიანტი აქ, მაგრამ მოთხოვნები განსხვავებულია ვიდრე AVR პროცესორებისთვის. CPLD– ის გამომუშავებებს არ გააჩნიათ ჩამონტაჟებული გასაშლელი პროგრამები და არც ისე ადვილია პროგრამული უზრუნველყოფის ამოღება. (შესაძლებელია, მაგრამ იღებს რესურსებს, რომელთა გამოყენებაც თქვენ ალბათ გსურთ თქვენს სქემებში.) ნაჩვენები DIP კონცენტრატორები უზრუნველყოფენ რამოდენიმე კონცენტრატორს მოსახერხებელ პაკეტში, მაგრამ უნდა გაიყვანონ. მე გამოვიყენე 1K pull-ups. ღილაკები შეიძლება გაკეთდეს გამოყენებით წრე Atmel რეკომენდაციას მათი დემო ფორუმში. სქემები მოცემულია 36 – ე გვერდზე. სხვა ვარიანტი არის AVR პროცესორის მიერთება სტიმულის უზრუნველსაყოფად - და პასუხების შემოწმებაც კი. მაგრამ ეს არის სავარჯიშო, რომელიც დარჩა სტუდენტისთვის.

ნაბიჯი 10: შექმენით თქვენი პირველი წრე

შექმენით თქვენი პირველი წრე
შექმენით თქვენი პირველი წრე
შექმენით თქვენი პირველი წრე
შექმენით თქვენი პირველი წრე

ამ დროისთვის თქვენ უნდა მიიღოთ და დააინსტალიროთ პროგრამული უზრუნველყოფა. მიჰყევით ამომწურავ, დეტალურ სახელმძღვანელოს, რომ შექმნათ თქვენი პირველი მარტივი CPLD წრე (ორი შესასვლელი AND კარიბჭე; არ ხდება ბევრად მარტივი). დარწმუნდით, რომ შეარჩიეთ სწორი მოწყობილობა (44 Pin PLCC, 5V, 1504AS [დეტალები]) და შეარჩიეთ I/O პინ ნომრები, რომლებიც ხელმისაწვდომია (მე გამოვიყენე 14 და 16, როგორც შესასვლელი; 28 გამომავალი სახით). ეს დეტალები ოდნავ განსხვავდება სახელმძღვანელოსგან, მაგრამ არ უნდა შეგაწუხოთ.

ნაბიჯი 11: დაპროგრამეთ თქვენი პირველი CPLD

დაპროგრამეთ თქვენი პირველი CPLD
დაპროგრამეთ თქვენი პირველი CPLD
დაპროგრამეთ თქვენი პირველი CPLD
დაპროგრამეთ თქვენი პირველი CPLD

შეაერთეთ თქვენი პროგრამირების კაბელი კომპიუტერის პარალელურ პორტზე, მიამაგრეთ იგი პროგრამისტის აკვანზე, დაუკავშირეთ 5 ვოლტი დენის კონექტორზე და მიჰყევით სახელმძღვანელოს, რომ რეალურად დააპროგრამოთ თქვენი პირველი CPLD. შეარჩიეთ კაბელის სწორი ვერსია. გაითვალისწინეთ, რომ Altera Byte-Blaster არის ერთ-ერთი ვარიანტი.

ნაბიჯი 12: შეამოწმე შენი დაპროგრამებული ნაწილი

გამოცადეთ თქვენი დაპროგრამებული ნაწილი!
გამოცადეთ თქვენი დაპროგრამებული ნაწილი!
გამოცადეთ თქვენი დაპროგრამებული ნაწილი!
გამოცადეთ თქვენი დაპროგრამებული ნაწილი!

გათიშეთ თქვენი პროგრამირების კაბელი აკვანიდან. ჩართეთ ჩამრთველები და მოციმციმე ნათურები სწორ ქინძისთავებთან, ჩართეთ დენი და სცადეთ. ვინაიდან თქვენ იწყებთ უბრალო სქემით, ტესტირება არ არის დიდი გამოწვევა. თუ ის მუშაობს, თქვენ გამორთული ხართ! ზემო ხედის დიაგრამა დაგეხმარებათ ტესტირებისთვის თქვენი კონცენტრატორებისა და მოციმციმე ნათურების შეერთებაში.

ნაბიჯი 13: დასასრული და ზოგიერთი ვებ რესურსი

დასასრული და ზოგიერთი ვებ რესურსი
დასასრული და ზოგიერთი ვებ რესურსი

ამ გაკვეთილის მიზანი არ არის გასწავლოთ თუ როგორ გამოიყენოთ VHDL. (მე ახლახანს ვიწყებ სწავლას, ამიტომაც შევქმენი პროგრამისტი, გახსოვს?) ამან თქვა, მე ვიპოვე რამდენიმე ძალიან სასარგებლო გაკვეთილი და რამდენიმე სასარგებლო რესურსი, რომლისკენაც შემიძლია მიგითითო. გამოხმაურება და სხვა წინადადებები დიდად დასაფასებელია. გაითვალისწინეთ, რომ თქვენ ასევე შეგიძლიათ გამოიყენოთ Ghetto CPLD განვითარების სისტემა Verilog და სხვა CPLD პროგრამირების ტექნიკის შესასწავლად, რომელსაც აპარატურა არ აინტერესებს. VHDL რესურსები ინტერნეტში: საფუძვლები და რამოდენიმე ბმული აქ და აქ. ბმულები უფასო ინსტრუმენტები. გაკვეთილები მე მომწონს აქ და აქ, მაგრამ თქვენ ნახავთ უამრავ სხვას. ბოლოს (ჯერჯერობით) თქვენ მოისურვებთ შეამოწმოთ დისკუსიის ჯგუფი. ისიამოვნეთ, ისწავლეთ ბევრი და გაუზიარეთ ის რაც იცით.

გირჩევთ: