zif ұясы 14 істікшелі

Күрделі бағдарламаланатын логикалық құрылғы (CPLD) - сіздің репертуарыңыздағы маңызды аппараттық құрал. Атауынан көрініп тұрғандай, сіз бұл чиптерді қажетті логикалық функцияларды қамтамасыз ету үшін бағдарламалай аласыз. Бұл ескірген чиптерді ауыстыру немесе жай ғана әртүрлі технологияларды үйрену және сынап көру тәсілі болуы мүмкін. CPLD-ді пайдаланып, оны сынап көруден артық үйренудің қандай жақсы жолы бар?
Мен CPLD модулін дәнекерсіз тақталарды қоса алғанда, көптеген заттарға қосу үшін жасадым, бірақ қателесіп кеттім. Дәнекерсіз тақтадағы қолжетімді қосылатын кеңістік 1,1 дюйм сияқты. Мен ізді 1 дюйм енінде жасадым, екі жағында да сымдар қатарына орын қалдырмадым. Ой.
Бірақ мен не істеп жатқаным туралы көбірек айтып берейін, мен жинақ ретінде құрастыруға болатын, үйде оңай дәнекерлеуге болатын, тізбекте бағдарламаланатын және 3,3 немесе 5 вольтта жұмыс істей алатын бағдарламаланатын логика жасағым келеді.
Оңай дәнекерленетін жинақты жасау үшін мен 3,3 В және 5 В нұсқаларында қолжетімді және қуат көзіне қарамастан бағдарламалауды сақтайтын ескі CPLD компонентін пайдаландым. Логиканың өзі - Altera Max сериясынан шыққан CPLD интегралды микросхемасы, екі нұсқада қолжетімді, 32 немесе 64 макроэлементі бар схемалық тақталарға жарамды. Макроэлементтер - логикалық «терминдерді» пайдаланып бағдарламаланатын және содан кейін бағдарламаланатын өзара байланыстар арқылы басқа макроэлементтермен өзара байланысты негізгі логикалық құрылыс блоктары.
Схемаға қарасаңыз, оның мазмұны көп емес екенін көруге болады: негізінен CPLD, тізбек ішіндегі бағдарламалау тізбегі және CPLD логикасын басқаратын осциллятор.
Бұл бөлшек EPM7032 және EPM7064 деп аталады, онда 44 істікті пластикалық қорғасын чип тасымалдағышы (PLCC) қолданылады, ол кейде қорғасын сымының J пішініне байланысты J сымы деп аталады. Бұл қаптаманы тесік ұясына салуға немесе тікелей PCB-ге дәнекерлеуге болады.
Борттық осцилляторды қамтиды, сондықтан CPLD операцияларды тұрақты түрде орындай алады және сыртқы сағатты қажет етпей-ақ өздігінен жылдам санауыштар жасай алады. Егер сыртқы сағат қолжетімді болса, модульдегі жоғары жылдамдықты сағатты сыртқы сағаттың әрбір көтерілетін немесе төмендейтін шетінде сағат оқиғасын жасау үшін пайдалануға болады және CPLD/FPGA нұсқауларын орындауға болады, яғни сағат кірісін «асинхронды» басқарудың орнына ішкі жаһандық сағат желісін пайдалану керек. Бұл осциллятордың номиналды қуат көзінің кернеуі 1,8 және 5,5 вольт аралығында.
Егер сіз бейнені көрсеңіз, осциллятордағы "INH" түйреуішін қалай пайдалану керектігі туралы жеке қалауымды талқылағанымды көресіз; қарапайым тілмен айтқанда, техникалық сипаттамалардың заңды екенін тексергеннен кейін, мен оны қалқымалы күйінде қалдыруға тырысамын.
Мұндай функциялармен жұмыс істеген кезде, менің ойыма келген себептердің бірі кіріс түйреуіштерін тікелей қуат рельстеріне қосуды ұнатпауым болды (мүмкін болса). Яғни, өтпелі кезеңдер кезінде токты шектеу үшін, тіпті қажет болмаса да, тізбектей жалғанған резисторларды қолданғанды ​​жөн көремін.
Жылдар бойы өндірісте кейбір мәселелерді көрдім (үлкен партиялармен), және кейде қуат циклі сияқты нәрселер қуат рельсіне тікелей қосылған түйреуіштердің чиптің өзінен жоғары кернеуге ие болуына мүмкіндік береді, бұл жаман. Соңында, түйреуішті қуат рельсіне резистор арқылы қосыңыз (қуат немесе жерге қосу), сонда адамдар өз ойларын өзгертіп, түйреуішті кейінірек пайдалана алады. Бұл әсіресе пайдаланылмаған есіктермен жұмыс істеу тәжірибемде дұрыс, сіз бұл есіктерді ешқашан қалқымалы немесе қосылмаған күйінде қалдырмау керектігін білетін шығарсыз. Тартылатын резисторды пайдалану арқылы сіз сигналды қосып, мыс іздерін кеспей қақпаны пайдалана аласыз.
10 істікті қосқыш және бірнеше резистор бағдарламалау тізбегін құрайды. Егер барлық резисторлар тартылатын резисторлар болса, мен резистор желісін қолданар едім, бірақ өкінішке орай, біреуі жерге қосылған.
Мұндай тәуелсіз CPLD бағдарламалау үшін арнайы бағдарламашы қажет. Мұны айту маған оңай, себебі әдетте қасымда бірнешеуі жатады, бірақ егер сізде ол болмаса, ойынға кіру қиын болмайды. Бекітілген "Altera USB Blaster" 50 долларға сатылады және оны Digikey және басқа жерлерден сатып алуға болады. Ebay-ден бірнеше клоным бар, олардың бірі Altera, Xilinx және Lattice-ті бір уақытта қолдайтын клон. Интернетте өзіңіздің клоныңызды жасау үшін пайдалануға болатын жоба мен код бар, мен оны бағдарламашы клондарын жасау жобасының мүмкін бейнелер тізіміне енгіземін. Сондай-ақ, аналық платаны, Arduino, PIC және т.б. бағдарламалауға болатын қалқан дизайнын көрсетемін.
CPLD компиляциялау және бағдарламалау үшін қажетті бағдарламалық жасақтаманы Altera сайтынан тегін алуға болады, бірақ бұл ескі бөлік ескі 9.1 нұсқасын қажет етеді. Жақсы жаңалық - бұл менің сүйікті ескі нұсқасым болды. Онда интуитивті уақыт анализаторы болды, бірақ ол кейінгі нұсқасында алынып тасталды.
Баспа платасы қарапайым екі жақты дизайнға ие, егер схема платасы оған сәйкес келсе, мен жерге қосу үшін және кейде қуат көзі үшін мысты пайдаланамын. Кейде құю соншалықты бұзылып, іс жүзінде ақауларға немесе салбыраған нәтижелерге әкелуі мүмкін, сондықтан мысты қайтадан құю - бұл құрал, бірақ оны басқару қажет.
Бүгінгі таңда көптеген (көпшілігі болмаса да) CAD бағдарламалық жасақтама пакеттерінде соңғы өнімнің 3D көріністері бар, дегенмен кескіндердің дәлдігі бөлшектерді көрсету үшін пайдаланылған 3D модельдер сияқты дәл. Мұнда сіз менің 44 істікшелі ұяшық, бағдарламалау қосқышы және осциллятор үшін 3D моделін қай жерден таңдағанымды көре аласыз. Міне, мен пайдаланғанды ​​ұнататын кейбір 3D пакеттер:
Көптеген компанияларда өз компоненттерінің 3D модельдері де бар. Molex - бұл салада жақсы жұмыс істеген компанияның бір ғана мысалы.
Мен жіберген қате эстетика сияқты функцияға әсер етпейді және бұл негізгі мәселе емес, яғни ол бір ғана дәнекерсіз нан тақтасына жарамайды.
Дизайнды кез келген адаммен бөліскім келетінін ойлағаннан кейін, CPLD схемалық белгілеріне және оның жалпы ауқымы болып табылатын 40 істікті қосқыштың түйреуішіне бірден наразы болдым. Мен 40 істікті қос қатарлы қосқыш белгісін алып, оны 1 дюймдік ауқымға реттедім, бірақ түйреуіш нөмірлері 1, 2, 3, 4 емес... бірақ DIP пакеті 3, 5, 7 сияқты бүйірінде 1 нөмірленген... дәл таспалы кабель қосқыштары сияқты. Сондықтан, модульге қалай қосылу керектігін және ақаулықтарды жоюды анықтау үшін бұл интуитивті емес ауқым.
Сол сияқты, CPLD түйреуіштерін тағайындау сәл шатастырады, және мен символдарды жасау үшін шекаралық сканерлеу сипаттама тіліне (BSDL) сүйенетін утилиталар жиынтығын пайдаландым. Көптеген ірі жеткізушілерде негізгі компоненттері үшін қолжетімді BSDL файлдары бар, олар сізге символдар мен пакеттерді (жартылай) автоматты түрде жасауға мүмкіндік береді. Кез келген автоматтандыру сияқты, оны құрал ретінде қарастыру керек және ең жақсы нәтижеге жету үшін қосымша массаж қажет болуы мүмкін. Бұл жағдайда мен түйреуіштерді алфавиттік ретпен тізімдеуге рұқсат бердім, бұл тақтадағы түйреуіштерді бақылаған кезде кездейсоқ болады. Мен сол күні қатты мазасыздандым деп айта аламын.
Жолда жүргенде осы қысқа жолдар үшін ақы төлейсіз. Мен осы модульді өзгертуге барған кезде, мен бөлшектің өзіне сәйкес келетін түйреуіштің орналасуын анықтап, беремін, осылайша осциллограф зондын қайда қою керектігін білу схемалық таңбаға қарау сияқты оңай.
Электр схемаларын пайдаланған кезде, негізінен эстетикалық немесе пайдалы басқа да жақсартулар бар. 1-ші түйреуіш индикаторы бірнеше қаптамада жиі қолданылуы керек, және мен осциллографтың жерге қосуын немесе VOM сымын қосу үшін әрқашан қарапайым жерге қосу нүктесін қалаймын. Мен мұны екі түйреуішті қосқыш қосу арқылы қосуым мүмкін, осылайша қуат пен жерге қосу төменгі түйреуіштерге бекітілудің орнына тікелей тақтаға берілуі мүмкін.
Схема тақтасын өзгертпес бұрын, оның физикалық және эстетикалық мәселелер бойынша дұрыс жұмыс істейтініне көз жеткізгім келеді. Қосып, генератордың дұрыс жұмыс істеп тұрғанын растағаннан кейін, бағдарламашыны қостым. 3.3v нұсқасы бағдарламалау бағдарламалық жасақтамасынан жаңа болғанымен, ол CPLD анықтап, оны «белгісіз» құрылғы ретінде көрсетті.
Келесіде мен Quartus бағдарламасында санауыш жасап, пин нөмірлерін бердім. Жылдам компиляциялау және жүктеу, сондай-ақ осциллограф көретін санауыш функциясы дизайнның мүмкін екенін растайды.
Verilog бағдарламасындағы жылдам сынақ тізбегі өте қарапайым. Код төменде көрсетілген. Сіз схеманы және Verilog сынақ тізбегін қамтитын ZIP файлын Quartus II жобасы ретінде жүктей аласыз (9.1 нұсқасы қажет).
Мен айтқанымдай, дизайнды бөлісу немесе кез келген ақаулықтарды жою кезінде қажетті бөлшектерге көбірек назар аудару үшін схемалық тақтаның екінші нұсқасын жасаймын. Төменгі қосқыштың енін 0,9 дюймге немесе одан азға орнатуым керек болғандықтан, оны 0,6 дюймге орнатуды жалғастыра аламын, бұл стандартты «кең» DIP пакеті. Мұны істеу төменгі түйреуіштердің CPLD ұясының ізінен шығып тұруын білдіреді. Мен мұны өндірістік жағдайда жасамас едім, себебі ол сол кезде қолмен жиналған, бірақ мақсаттардың бірі қолмен дәнекерлеу жинағын жасау болды. Қолмен дәнекерлеу компромиссі - генератордың SMD беткі бекіткіш корпусында болуы керек, тесік арқылы жасалған нұсқасы өте үлкен және әдетте маған қажетті кернеу диапазонын қолдамайды.
Бұл модульдерді қарапайым компьютер құрастыру үшін пайдалануға бола ма? Менің ойымша, жад қосу керек.
Ха-ха... иә, бұл қандай компьютер түріне байланысты. Дегенмен, «шынайы» микроконтроллерлер/микрокомпьютерлер модульдің «түйреуіш байланысына» әсер етеді, яғни сіз модульден тым пайдалы ештеңе істеу үшін жеткілікті терминология ала алмайсыз.
Мен 64 өлшемді толық NTSC камера уақытын және режимін басқаратын құрылғы жасадым, сондықтан ешқандай процессор қажет емес.
«Nand to Tetris» кітабында қолданылған құрылымдық Verilog және HDL бірдей немесе азды-көпті бірдей.
Неліктен бөлшектер тесік арқылы жасалады? 0805 дәнекерлеуі оңай! Қазір әрбір винил шебері үшін бұл дағдыны үйренудің уақыты келді.
Егер мен жоғарғы ұяшықты төменгі жағынан дәнекерленген түйреуіштермен қабаттастырып жасасам, онда мен «6 орталықты (40 істікті чипті модельдеу) немесе диагональды т.б. пайдалана аламын. Бұл төменгі сымдарды аяқтың артындағы жоғарғы ұяшықты дәнекерлеуге арналған компоненттерді қатаң қолмен дәнекерлеу болады.
Бірақ жаңадан бастаушылар үшін оны астыңғы жағынан дәнекерлеу қиын. Мен нан тақтасының баспа платасына арналған колонкаларды дәнекерлеген кезде (eBay-де пайдалануға болатын бұл арзан SMD адаптер платаларын прототиптеу үшін пайдалануға болады), мен колонкаларды нан тақтасына салып, оған баспа платасын қоямын, содан кейін оңай дәнекерлей аламын. Бұл нан тақталарына өте қолайлы. Егер сізге оны астыңғы жағынан дәнекерлеу қажет болса, бұл одан да қиын.
Егер CPLD ортасында болса (сымдарды қосу оңайырақ болуы мүмкін), оны қабаттаспай диагональ бойынша орнатуға болады, 4 қатар болуы мүмкін немесе CPLD бір жағында болуы мүмкін:
Дәнекерлеу алдында қосқышты нан тақтасына салу бойынша кеңесіңіз үшін рақмет. Менікі сәл тұрақсыз.
Бір ұшында DIP форматындағы нан тақтасының түйреуіштері, ал екінші ұшында чип ұясының "донгл" түрі туралы не айтасыз? Чипті нан тақтасының ұшына іліп қоюға болады. Маршруттау тығыз болады.
|####### ******************** |. Иә, мен Xilinx пен Lattice-тің «тегін» нұсқалары сияқты Altera-ның «тегін» нұсқасын пайдалануды шештім. Барлық ашық қолдаудың нені қолдайтынын түсіну үшін Al Williams-пен циклды аяқтауым керек, оған құрылғылар сериясының нақты атрибуттары кіруі керек. Дегенмен, мен тегін нұсқамен көп нәрсе жасадым.
Иә, сіз CPLD түйреуіштермен қабаттасатынын көрсетіп отырсыз деп ойлаймын. Егер мен оны дұрыс орындасам, бұл 2-нұсқа сияқты көрінуі мүмкін. (Жаппай) өндіріске арналған жобалау кезінде мен әрқашан «қолмен дәнекерлеуді құрастыру» қадамына аллергиям бар, себебі олар қабаттасады (шын мәнінде, компонент емес жағындағы дәнекерлеу түйреуіштері). ) Қазірдің өзінде қолмен дәнекерленген компонент), бірақ бұл өндіріске бағытталған дизайн емес, кішкентай жинақ қана. Менің жасымда құтылу қиын кейбір әдеттерім бар. :)
Менің ойымша, CPLD және кең Т-тәрізді бөлігі бар пассивті компоненттері бар Т-тәрізді схемалық тақта нан тақтасының шетіне ілінген кезде өте пайдалы болады. Adafruit RasPi T-Cobbler-ге ұқсас нәрсе (http://www.adafruit.com/products/2028). Бұл нан тақтасының көп бөлігін қолжетімді етеді.
Өкінішке орай, тоқтатылуы оны XR2206 және ICL8038 негізіндегі барлық функция генераторлары сияқты қосымша жобаларда пайдалануды айтарлықтай шектейді.
Қызықты идея. Маған осы екі чип ұнайды. CPLD ескірген емес, оны 3,3 вольтқа сатып алудың арзан жолы.
Сіздің «ақымақтығыңызға» келетін болсақ... сіз оны тақтаға орнату үшін жаңа орналасу жасамадыңыз. Алдымен сымды тақтаға орнатыңыз, содан кейін сымға cpld орнатыңыз. Немесе, егер сіз олардың біреуінен қуат және жерге қосу жолақтарын ажырата алсаңыз, 2 тақтаны пайдаланыңыз.
Altium және Eagle туралы. Сіз KiCad-ты қарастырдыңыз ба? Оның Eagle-ге қарағанда Altium-ды артық көретіндей ешқандай шектеулері жоқ және әдепкі бойынша барлық қосылмаған түйреуіштер үшін DRC қателерін шығарады. Егер сіз шынымен түйреуішті ашқыңыз келсе, оны айтуыңыз керек. (Мүмкін тек енгізу үшін шығар, шығыс үшін емес, және ол әлі тексерілмеген). Тағы бір керемет ерекшелігі - оны үйрену өте оңай. Оған тек бір түстен кейін уақыт кетті, және керемет кіріспе нұсқаулық маған бастауға көмектесті.
Мен (үлкенірек бөлігі) өтетін тесіктің үстіндегі smd-ді қалаймын. Оларды пайдалану оңайырақ. Сізге платаны үнемі айналдырудың қажеті жоқ. (Кейбір ақымақ қателіктер шағылысуға байланысты жіберілді...). Және резистордың ұшын кесудің қажеті жоқ. Дизайнды ортақ пайдаланған кезде, бірнеше пакетті платаға немесе бір бөлікке ыңғайлы түрде орналастыруға болады. SMD резисторы TH. (Бұл орналасуды сәл күрделендіреді).
Мен "KiCad Getting Starting" pdf форматында қолдандым. Мен қолданған ескі нұсқасы 29 бет, ал соңғы нұсқасында 52 бет бар. Оны басқа оқулықтардан (бейне сілтемелерді қоса алғанда) таба аласыз: http://kicad-pcb.org/help/tutorials/
Мен Hackaday және The Amp Hour компанияларынан [Крис Геммелл] Kicad туралы серия жасағанын білемін http://kicad-pcb.org/help/tutorials/
Kicad пайдалы болуы мүмкін, 2-ші нұсқада не болатынын көрейін. Ұсыныстарыңыз үшін рақмет. Қосылмаған кірістер DRC (ERC) үшін жақсы нәрсе, ал қосқыштар мен оларды жұмсақ немесе IO ұстайтын басқа заттар үшін CAD ажырату хабарламаларының көпшілігінен аулақ болуға болады.
Жылдам сынақты іске қосып, қосқышты бос кестеге тастаңыз, аннотацияларды және DRC іске қосыңыз. Әрбір түйреуіш үшін DRC қателері шықты. Дегенмен, белгілі қосылмаған түйреуіштерді белгілеу өте қарапайым.
Пассивті күйге орнатыңыз. Мен іздеуім керек (Компонентті өңдеу -> Кітапхана редакторымен өңдеу). Кітапхана редакторы компонентті бөлек терезеде ашып, жүктейді, сіз компоненттің кез келген бөлігін тексере немесе өзгерте аласыз. Өзгертілген компонентті сіздің схемаңызда сақтауға немесе жаңартуға болады. Бұл компоненттерді өзгертуді өте оңай етеді. Мен кітапханаға аса мән бермеймін. Мысалы, егер сіз cpld пайдалансаңыз, түйреуіштерге мағыналы атаулар бергіңіз келеді. Ең бастысы, өз компоненттеріңізді жобалау үшін жақсы интерфейс бар.
KiCad ERC жүйесінде «қосылмаған» түйреуіштер «пассивті түйреуіштерден» басқа түйреуіш түрі болып табылады және барлық «қосылмаған» түйреуіштер қателер тудырады. ERC жұмыс істеу тәсілін өз қалауыңызға оңай реттеуге болады: Құралдар -> Электр ережелерін тексеруші -> Параметрлер.


Жарияланған уақыты: 2021 жылғы 18 қараша