Татаал программалануучу логикалык түзүлүш (CPLD) - бул сиздин репертуарыңыздагы маанилүү жабдык. Аты айтып тургандай, сиз бул чиптерди сизге керектүү логикалык функцияларды камсыз кылуу үчүн программалай аласыз. Бул эскирген чиптерди алмаштыруу же жөн гана ар кандай технологияларды үйрөнүү жана сынап көрүү жолу болушу мүмкүн. CPLDди колдонуп, аны сынап көрүүдөн өткөн жакшы үйрөнүү жолу барбы?
Мен CPLD модулун көптөгөн нерселерге, анын ичинде ширетилбеген нан такталарына туташтыруу үчүн түздүм, бирок ката кетирдим. Ширетилбеген нан тактасындагы бош орун 1,1 дюйм окшойт. Мен изди 1 дюйм туурасында жасадым, эки жагына тең зымдардын катарына орун калтырган жок. Ой.
Бирок мен эмне кылып жатканым жөнүндө көбүрөөк айтып берейин, мен комплект катары курула турган, үйдө оңой ширетилүүчү, схемада программалануучу жана 3,3 же 5 вольтто иштей турган программалануучу логиканы түзгүм келет.
Оңой ширетилүүчү комплектти ишке ашыруу үчүн мен 3.3v жана 5v версияларында да бар жана кубат булагына карабастан программалоосун сактап кала турган эски 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 пиндеринин дайындоолору бир аз түшүнүксүз, жана мен символдорду түзүү үчүн Boundary Scan Description Language (BSDL) тилине таянган бир катар утилиттерди колдондум. Көпчүлүк ири сатуучулардын негизги компоненттери үчүн BSDL файлдары бар, алар сизге (жарым-жартылай) автоматтык түрдө символдорду жана пакеттерди түзүүгө мүмкүндүк берет. Ар кандай автоматташтыруу сыяктуу эле, аны курал катары кароо керек жана эң жакшы натыйжаларга жетүү үчүн кошумча массаж талап кылынышы мүмкүн. Бул учурда, мен ага пиндерди алфавиттик тартипте тизмелөөгө уруксат бердим, бул тактадагы пиндерди көзөмөлдөөдө дээрлик кокустук. Мен ошол күнү абдан тынчсызданганымды гана айта алам.
Жолдо жүргөндө бул кыска жолдор үчүн акча төлөйсүз. Мен бул модулду өзгөртүүгө барганда, бөлүктүн өзүнө дал келген төөнөгүчтүн ордун аныктап, ага берем, ошондо осциллограф зондун кайда коюуну билүү схемалык белгини карап чыгуу сыяктуу эле оңой болот.
Электр схемаларын колдонгондо, негизинен эстетикалык же пайдалуу болгон башка жакшыртуулар бар. 1-пин индикатору бир нече пакеттерде көбүрөөк кездешиши керек жана мен осциллографты жерге туташтыруу же VOM зымын туташтыруу үчүн ар дайым жөнөкөй жерге туташтыруу чекитин артык көрөм. Мен муну эки пиндүү туташтыргычты кошуу менен кошсом болот, ошондо кубат жана жерге туташуу астыңкы пиндерге кысылбай, түз эле тактага берилиши мүмкүн.
Мен схемалык платаны өзгөртүүдөн мурун, анын физикалык жана эстетикалык маселелер боюнча туура иштешин текшергим келет. Күйгүзүп, осциллятор туура иштеп жатканын текшергенден кийин, мен программистти сайдым. 3.3v версиясы программалоо программасынан жаңыраак болгону менен, ал CPLDди аныктап, аны "белгисиз" түзмөк катары көрсөттү.
Андан кийин, мен Quartus программасында эсептегич түзүп, пин номерлерин бердим. Тез компиляциялоо жана жүктөө, ошондой эле осциллограф көргөн эсептегич функциясы долбоордун ишке ашырыла тургандыгын тастыктайт.
Verilog'догу тез сыноо схемасы абдан жөнөкөй. Код төмөндө келтирилген. Сиз схеманы жана Verilog сыноо схемасын камтыган ZIP файлын Quartus II долбоору катары жүктөп алсаңыз болот (9.1 версиясы талап кылынат).
Мен айтып өткөндөй, мен дизайнды бөлүшүүдө же кандайдыр бир көйгөйлөрдү чечүүдө зарыл болгон деталдарга көбүрөөк көңүл буруу үчүн схемалык платанын экинчи редакциясын жасайм. Астыңкы туташтыргычтын туурасын 0,9 дюймга же андан азга коюшум керек болгондуктан, аны 0,6 дюймга коё берсем болот, бул стандарттуу "кең" DIP пакети. Муну жасоо астыңкы төөнөгүчтөрдүн CPLD розеткасынын изинен чыгып турушун билдирет. Мен муну өндүрүштүк кырдаалда жасабайт элем, анткени ал ошол учурда кол менен чогултулган, бирок максаттардын бири кол менен ширетүү комплектин жасоо болчу. Кол менен ширетүүнүн кемчилиги - осциллятор SMD беттик орнотуучу корпуста болушу керек, тешик аркылуу өтүүчү версиясы абдан чоң жана адатта мен каалаган чыңалуу диапазонун колдобойт.
Бул модулдарды колдонуп, жөнөкөй компьютер курууга болобу? Менимче, эс тутумду кошушум керек.
Ха-ха... ооба, бул кандай компьютерден көз каранды. Бирок, "чыныгы" микроконтроллерлер/микрокомпьютерлер модулдун "пин байланышынан" жабыркайт, демек, сиз модулдан өтө пайдалуу эч нерсе жасоо үчүн жетиштүү терминология ала албайсыз.
Мен 64 өлчөмүндөгү толук NTSC камерасынын убакытты жана режимди башкаруучусун жасадым, андыктан процессордун кереги жок.
"Нанддан Тетриске" китебинде колдонулган Структуралык Верилог жана 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.3v менен сатып алуунун арзан жолу.
"Маанисиздигиңизге" келсек... сиз аны нан тактасына орнотуу үчүн жаңы макет түзгөн жоксуз. Алгач зымды нан тактасына орнотуп, андан кийин зымдын үстүнө cpld туташтыргычын коюңуз. Же болбосо, эгер алардын биринен электр жана жерге туташтыруучу тилкелерди сууруп алсаңыз, эки нан тактасын колдонуңуз.
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-ноябры





