Съдържание:

Система за разработка на програмируема логика за гето (CPLD): 13 стъпки
Система за разработка на програмируема логика за гето (CPLD): 13 стъпки

Видео: Система за разработка на програмируема логика за гето (CPLD): 13 стъпки

Видео: Система за разработка на програмируема логика за гето (CPLD): 13 стъпки
Видео: Part 3 - The Memoirs of Sherlock Holmes Audiobook by Sir Arthur Conan Doyle (Adventures 09-11) 2024, Юли
Anonim
Система за разработване на програмируема логика за гето (CPLD)
Система за разработване на програмируема логика за гето (CPLD)

През последните няколко месеца се наслаждавах на Системата за развитие на гето за AVR процесори. Всъщност този инструмент с почти нулев долар се оказа толкова завладяващ и полезен, че ме накара да се замисля дали е възможно да се разшири концепцията и до разработването на FPGA/CPLD. (FPGA: Field Programmable Gate Array. CPLD: Сложно програмируемо логическо устройство.) Затова поразрових малко в мрежата и измислих система за разработка на Atmel CPLD. Сравнението с устройствата на Altera показва, че тяхното извеждане е същото (в рамките на ограниченията, които подробно описвам по -долу), така че те също ще работят. Чрез изграждането на дъската за разработка и интерфейсния кабел, който ще представя, след което изтегляте инструментите, можете да разработите свои собствени CPLD приложения. Моля, обърнете внимание на следните ограничения и ограничения. Опитах се да балансирам възможностите и простотата, за да можете да създадете нещо, което да ви хареса и да се научите само от устройства с напрежение 5V. Разширяването на системата за покриване на допълнителни напрежения (3.3V, 2.5V, 1.8V се поддържат от устройства Atmel в едно и също семейство) не е трудно, но усложнява както платката за разработка, така и кабела за програмиране. Да го пропуснем засега. Обърнете внимание, че трябва да осигурите 5V захранване към платката. Само 44 -пинов PLCC. Конкретно съм програмирал Atmel ATF1504AS. Концепцията на Ghetto CPLD може лесно да се разшири до други устройства на Atmel, но това устройство изглеждаше като добър компромис между цена, лекота на използване и възможности. Концепцията трябва да се разшири и до други устройства, като тези от Altera, Xilinx, Actel и др. Всъщност семействата Max7000 EPM7032 и EPM7064 ще работят в един и същ гнездо, стига да използвате 44 -пиновите PLCC версии. Досега използвах само кабел за програмиране Atmel, но Altera Byte-Blaster се поддържа от софтуера Atmel и също трябва да работи добре. Всъщност това е малко по -прост дизайн от кабела Atmel. (Създадох версията на Atmel и тя работи, така че не съм пробвал версията Altera.) SparkFun предлага версия на кабела Altera за 15 долара. Тъй като това ще работи както за Atmel, така и за Altera, препоръчвам го. Ако ще разработвате с части на Altera, ще искате да получите и софтуера Altera. Всъщност не съм опитвал това, но няма причина да мисля, че няма да работи. Скоростта е ограничена. Тъй като системата за развитие на Ghetto CPLD е изградена с ръчно окабеляване и без заземяваща равнина, не очаквайте надеждна работа при скорости над няколко мегахерца. Дори това не е гарантирано, че пробегът ви може да варира! Разбира се, ако изградите прототип на хардуер, който има заземена равнина, тогава вашият CPLD може да работи добре при по -високи скорости. Просто не очаквайте бързо да се монтира в системата за развитие на гетото.

Стъпка 1: Отидете да поръчате части

Отидете да поръчате части
Отидете да поръчате части

Ще ви е необходим 44-пинов plcc гнездо, няколко капачки за отделяне, някои непрограмирани CPLD, гнезда за връзки към макет, издърпващ се резистор и може би някаква перф платка, върху която да го изградите. Ако имате нещо от това в кутията си за боклуци, можете да спестите няколко долара. За ваше удобство, тук са номерата на частите на Digikey: CONN PLCC ГНЕЗДО 44POS TIN PN: 1-822473-4-ND ГНЕЗДО IC IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Брой: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Брой: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Кол-во: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Кол-во: 4, C2-C5RES МЕТАЛЕН ФИЛМ 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 Няколко части може да имат минимални количества, но все пак трябва да са доста евтини. тези също. Имайте предвид, че Digikey има минимум 25 долара, за да избегне такса за обработка, така че може да искате да получите няколко допълнителни непрограмирани CPLD или AVR процесор или два само за забавление. Препоръчвам ви да закупите кабела за програмиране Altera от SparkFun. Ето номерата на частите. Вземете и кабела и конектора. (В противен случай поръчайте части за кабела от Digikey, ако изграждате свой собствен.) Altera FPGA съвместим програмист PN: PGM-087052x5 ПИН IDC лентов кабел PN: PRT-085352x5 Пин обвит заглавка PN: PRT-08506

Стъпка 2: Вземете и инсталирайте софтуер

Вземете и инсталирайте софтуер
Вземете и инсталирайте софтуер

В момента използвам веригата инструменти Atmel Prochip Designer 5.0. Този инструмент изисква да се регистрирате в Atmel и да попълните официалния им формуляр за заявка. Казах им, че съм инженер -дизайнер, в момента безработен и основната ми цел беше да науча техните устройства и VHDL (всичко вярно, BTW). Те одобриха искането за лиценз. Единственият улов е, че лицензът е добър само за 6 месеца. Надявам се да намеря верига от инструменти за обществено достояние, докато изтече. Altera също има верига от инструменти, които мога да проверя. Всякакви предложения ще бъдат оценени. Вижте коментарите и връзките в последната стъпка. Тук е Atmel Prochip Designer 5.0. Ако го получите, не забравяйте да вземете и Service Pack 1 за него.

Стъпка 3: Направете кабел за програмиране

Направете кабел за програмиране
Направете кабел за програмиране

Най-лесният подход тук е да закупите подобна работа на Altera Byte-Blaster от Sparkfun (вижте Стъпка 1). Ако $ 15 е повече, отколкото искате да похарчите, тогава можете да използвате схемата на кабела SparkFun Altera или да използвате схемата на кабела Atmel и да създадете такава. (Ако има голям интерес към изграждането на кабела от нулата, мога да предложа някои предложения, но комплектът Sparkfun ми се струва правилният отговор.)

Стъпка 4: Направете програматора за люлка

Направете програмист люлка
Направете програмист люлка
Направете програмист люлка
Направете програмист люлка
Направете програмист люлка
Направете програмист люлка

Вижте програмиста на Atmel. Това е много гъвкаво и е чудесен вариант, ако имате пари и планирате да правите много CPLD развитие. Вярвам, че Altera предлага нещо подобно. Но аз отидох с по -евтин подход - за това става въпрос! Снимките показват изглед отпред и отзад на люлката, която построих. Обърнете внимание на DIP гнездата, използвани като конектори за макет. Всички щифтове от едната страна на всеки конектор са свързани към земята; щифтове от другата страна се свързват към сигнални щифтове на CPLD. Включих и няколко захранващи връзки; поставете ги там, където им е удобно. Диаграмите са нещо като изобразителни схеми; не се показват само допълнителните захранващи връзки. Погледнете снимките за идеи за тях.

Стъпка 5: Изграждане на люлката - част 1

Изграждане на люлката - част 1
Изграждане на люлката - част 1
Изграждане на люлката - част 1
Изграждане на люлката - част 1

Започнете да изграждате люлката, като поставите гнездата на местата, където ги искате. Оставете свободен ред или два, така че да има място за отделянето на капачките. Това също улеснява свързването към CPLD сигналните щифтове. Закрепете гнездата с малко спойка или епоксидна смола в зависимост от вида на перф дъската, която използвате. Оставете допълнително място в горната част (над щифт 1 на гнездото CPLD) за конектора JTAG и конектора за захранване. Обърнете се към снимките на този, който построих. Прокарайте гола жица (около 20 габарита) около външната страна на гнездата за наземна шина. Насочете и захранващата шина. (Червеният проводник на снимките.) Вижте снимките за някои указания, но дъската ви вероятно ще бъде малко по -различна - и това е добре. Запоявайте външните щифтове на контактите към заземяващата шина. Това ще ви помогне да закотвите проводника на шината.

Стъпка 6: Изграждане на люлката - част 2

Изграждане на люлката - част 2
Изграждане на люлката - част 2
Изграждане на люлката - част 2
Изграждане на люлката - част 2

Инсталирайте капачките за отделяне и ги свържете към земята и захранващите щифтове от всяка страна на гнездото CPLD. Предлагам да насочите проводниците нагоре и през външните редове щифтове, за да достигнете до вътрешните редове. Вижте диаграмите с номера на щифтове, за да получите правилните щифтове - изваждането на гнездото CPLD далеч не е очевидно. Оставете достатъчно място, за да позволите връзка с всички щифтове, през които преминавате кабелите. След като свързвате капачките, свържете захранващата и заземяващата шина. Всички червени щифтове на диаграмите са Vcc и трябва да бъдат свързани. Черните щифтове са заземени и също трябва да бъдат свързани. Отново насочването му във въздуха е добър подход. Разгледайте снимките за идеи.

Стъпка 7: Изграждане на люлката - Заключение

Изграждане на люлката - Заключение
Изграждане на люлката - Заключение
Изграждане на люлката - Заключение
Изграждане на люлката - Заключение
Изграждане на люлката - Заключение
Изграждане на люлката - Заключение

Насочете JTAG връзките към правилните щифтове. Погледнете вашия кабел за програмиране, за да се уверите, че конекторът е ориентиран правилно. Не забравяйте издърпването на щифта TDO. Това е показано само на снимката и преминава между щифта TDO и Vcc. Последната стъпка е да свържете всеки I/O щифт на CPLD към щифт на гнездата. Използвайте числата в схемите за връзките. Това отнема най -дълго време! Ако следвате моята схема за номериране, тогава можете да използвате диаграмата Top View като ръководство, когато свързвате веригите си. Наистина не е нужно да свързвате всичко това първоначално, можете да изчакате, докато ви потрябват за схемите, които проектирате. Проверете внимателно работата си. Уверете се, че захранването и земята не са къси!

Стъпка 8: Направете Blinkenlights (TTL версия)

Направете Blinkenlights (TTL версия)
Направете Blinkenlights (TTL версия)

Ще искате да видите вашите схеми да работят, разбира се. Така че ще искате някои мигащи светлини (направени известни от The Real Elliot). Единственият улов е, че CPLD нямат мощните изходи, които имат AVR процесорите. Използвайте светодиоди с мощност 10ma и използвайте резистори от серия 1Kohm. Те ще ви дадат ясни изходни сигнали, без да натоварвате CPLD изходите.

Стъпка 9: Направете превключватели

Направете превключватели
Направете превключватели
Направете превключватели
Направете превключватели

За да осигурите стимули за вашите вериги, ще ви трябват някои превключватели. Тук имате някои опции, но изискванията са различни, отколкото за AVR процесори. CPLD изходите нямат вградените издърпвания и не е толкова лесно да се направи отстраняване в софтуера. (Възможно е, но изисква ресурси, които вероятно искате да използвате във вашите схеми.) Показаните DIP ключове осигуряват няколко превключвателя в удобен пакет, но трябва да бъдат изтеглени. Използвах 1K издърпвания. Бутоните могат да бъдат направени с помощта на схемата, която Atmel препоръчва за тяхната демонстрационна платка. Схемите са на страница 36 или нещо друго. Друга възможност е да свържете AVR процесор, за да осигурите стимули - и дори да проверите отговорите. Но това е упражнение, оставено на ученика.

Стъпка 10: Създайте своя първи кръг

Създайте своя първи кръг
Създайте своя първи кръг
Създайте своя първи кръг
Създайте своя първи кръг

По това време трябва да сте получили и инсталирали софтуера. Следвайте изчерпателния, подробен урок, за да създадете първата си проста CPLD схема (двувходни И порта; не става много по-опростена). Не забравяйте да изберете правилното устройство (44 -пинов 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 ресурси в мрежата: Основи и някои връзки тук и тук. Връзки към безплатни инструменти. Уроците, които харесвам, са тук и тук, но ще намерите много други. Накрая (засега) ще искате да проверите дискусионната група. Насладете се, научете много и споделете това, което знаете.

Препоръчано: