Мазмуну:
- Жабдуулар
- 1 -кадам: Теория
- 2 -кадам: Районду тестирлөө
- 3 -кадам: Full Adder PCB долбоорлоо
- 4 -кадам: Башка ПХБларды долбоорлоо
- 5 -кадам: Компоненттерди ПХБга ширетүү
- 6 -кадам: ПКБдарды Стекировкалоо үчүн бүтүрүү
- 7 -кадам: Микросхемаларды кубаттоо
- 8 -кадам: базаны 3D басып чыгаруу
- 9 -кадам: Ассамблея
- 10 -кадам: Эсептөө жана салыштыруу
- 11 -кадам: Жыйынтык
Video: 4-бит бинардык эсептегич: 11 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Мен компьютерлердин фундаменталдуу деңгээлде иштешине кызыгуумду өстүм. Мен татаал милдеттерди аткаруу үчүн дискреттик компоненттерди жана схемаларды колдонууну түшүнгүм келди. CPUдагы маанилүү фундаменталдык компоненттердин бири - арифметикалык логикалык бирдик же бүтүн сандар боюнча операцияларды аткаруучу ALU. Бул тапшырманы аткаруу үчүн компьютерлер экилик сандарды жана логикалык дарбазаларды колдонушат. Аткарылган эң жөнөкөй амалдардын бири - бул эки цифраны биригүүчү схемада кошуу. Бул numberphile видеосу Domino Addition аркылуу бул түшүнүктү эң сонун түшүндүрөт. Мэтт Паркер бул негизги түшүнүктү кеңейтет жана 10 000 домино колдонуп Domino Computer схемасын курат. Доминодон бүтүндөй жеке компьютерди куруу акылга сыйбас нерсе, бирок мен бул кошумча тапшырманы аткаруу үчүн дискреттик компоненттердин колдонулушун түшүнгүм келди. Видеолордо логикалык дарбазалар доминолордон жаратылган, бирок алар ошондой эле негизги компоненттерден, атап айтканда транзисторлордон жана резисторлордон жасалышы мүмкүн. Бул долбоордун максаты бул дискреттик компоненттерди үйрөнүү жана 4-бит кошуучу эсептегичти түзүү болчу.
Бул долбоорго койгон максаттарым төмөнкүлөрдү камтыйт: 1) ПКДны кантип түзүүнү жана жасоону үйрөнүңүз 2) Дизайнды экилик сандарды кошууну концептуалдаштырууну жеңилдетиңиз 3) Дискреттүү компоненттер менен интегралдык схеманын ортосундагы масштабдын айырмасын көрсөтүңүз.
Бул долбоордун илхамы менен түшүнүгүнүн көбү Саймон Иннстен келген.
Жабдуулар
Мен Fritzingди схемаларды жасоодо, ПХБларды түзүүдө жана жасоодо колдондум
1 -кадам: Теория
10 -базада саноо жөнөкөй, анткени эки бүтүн сандын суммасын көрсөтүү үчүн башка бүтүн сан бар. Эң жөнөкөй мисал:
1 + 1 = 2
2 -базада же бинардык эсептөөдө 1 жана 0 гана колдонулат. 1 жана 0 комбинациясы ар кандай бүтүн сандарды жана алардын суммаларын көрсөтүү үчүн колдонулат. 2 -базада эсептөөнүн мисалы:
1+1 = 0 жана 1ди кийинки битке алып барасыз
Эки битти (A жана B) бирге кошкондо, Sum жана Carry (Cout) чыгаруулары менен 4 башка натыйжа алууга болот. Бул таблицада көрсөтүлгөн нерсе.
Логикалык дарбазалар кириштерди алып, чыгууну жаратат. Эң негизги логикалык дарбазалар бул долбоордо колдонулган NOT, AND жана OR дарбазаларынан турат. Алар транзисторлор менен резисторлордун ар кандай айкалыштарынан жана зымдарынан турат. Ар бир дарбазанын схемасы берилет.
Таблицага кайрылып, бул дарбазалардын айкалышы столдогу суммаларды чыгаруу үчүн колдонулушу мүмкүн. Бул логиканын айкалышы эксклюзивдүү OR (XOR) дарбазасы катары да белгилүү. Киргизүү 1 чыгышы үчүн так 1 болушу керек. Эгерде эки киргизүү тең 1 болсо, натыйжа 0 болот. Тартуу битинин жыйынтыгы жөнөкөй ЖАНА дарбаза менен чагылдырылышы мүмкүн. Ошентип, AND дарбазасы бар XORду колдонуу бүт столду чагылдыра алат. Бул Half Adder деп аталат жана схемасы жогоруда көрсөтүлгөн.
Чоң экилик сандарды кошуу үчүн, ташуучу битти киргизүү катары кошуу керек. Бул Full Adder түзүү үчүн 2 Half Adder схемасын бириктирүү аркылуу ишке ашат. Толук Аддерлерди андан кийин чоңураак бинардык сандарды кошуу үчүн бирге каскаддаштырууга болот. Менин проектимде мен 4 толук киргизгичти каскаддаштырдым, бул мага 4 бит киргизүү мүмкүнчүлүгүн берди. Full Adderдин схемасы жогоруда.
Саймон Иннсте теория жөнүндө улуу жана тереңирээк жазуу бар. Мен пайдалуу деп тапкан бир нече PDF бар.
2 -кадам: Районду тестирлөө
Логикалык дарбазалардын кантип иштээрин жана Full Adder теориясын түшүнгөндөн кийинки биринчи кадам - бул схеманы куруу. Мен керектүү бардык компоненттерди чогултуудан баштадым: 10K жана 1K резисторлор, NPN транзисторлору, Breadboard, Jumperwires. Мен толук сумманы басып чыгарууну коштодум. Процесс түйшүктүү болду, бирок мен толук кошуучу үчүн жумушчу схеманы ала алдым. Мен кирүүлөрдү бийик же төмөн байлап, чыгымдарды текшерүү үчүн мультиметрди колдоном. Эми мен нан тактасын жана схемасын ПХБга которууга даяр болчумун.
3 -кадам: Full Adder PCB долбоорлоо
ПХБны иштеп чыгуу үчүн мен Fritzingди гана колдоном. Бул менин ПКБны биринчи жолу иштеп чыгуум болчу жана бул программа эң кичине үйрөнүү ийрими менен эң ыңгайлуу жана интуитивдүү көрүндү. ПХБны түзүүгө жардам берүү үчүн EasyEDA жана Eagle сыяктуу башка сонун программалар бар. Fritzing менен сиз виртуалдык нан тактасында же схемада иштеп чыгууну баштасаңыз болот, андан кийин ПХБга өтүңүз. Мен бул долбоордо бул эки ыкманы тең колдондум. ПКБны даярдоого даяр болгондо, файлдарыңызды экспорттоо жана аларды түздөн -түз Aislerге жүктөө үчүн кнопканы басуу сыяктуу жөнөкөй.
Мен процессти баштоо үчүн схемалык өтмөктөн баштадым. Биринчиден, мен таптым жана иштөө аймагына бардык компоненттерди киргиздим. Андан кийин, мен компоненттердин ортосундагы издердин бардыгын тарттым. Мен тиешелүү жерлерге 5V киргизүү жана жер кошуу үчүн шектенбесек болот.
PCBI Дизайн PCB өтмөгүндө басылган. Түздөн -түз схемадан көчкөндө, схемада жасаган издериңизге негизделген ratsnest линиялары менен байланышкан бардык компоненттер менен башаламандык пайда болот. Биринчи кылганым боз ПХБнын өлчөмүн мен каалагандай кылып өзгөртүү жана тешиктерди кошуу. Мен ошондой эле киргизүү жана чыгаруу үчүн 16 пин коштум. Андан кийин, мен компоненттерди логикалык түрдө жайгаштыра баштадым. Мен из аралыкты азайтуу үчүн бири -бирине жакын болгон туташуулары бар компоненттерди топтоого аракет кылдым. Мен кошумча кадамга бардым жана логикалык дарбаза менен компоненттерди топтодум. Менин максаттарымдын бири - бул схеманын кантип иштээрин элестетүү жана "битти" чынжыр аркылуу ээрчүү. Андан кийин, мен автоматтык түрдө өтүүчү жана компоненттердин ортосундагы оптималдаштырылган издерди тарткан autorouting функциясын колдондум. Мен бул процесстин туура издөөлөрдүн бардыгын бүтүргөнүнө ишенбедим, ошондуктан алар кайда болушу керек болгон жерлерди кайра текшерип, кайра тартып чыктым. Бактыга жараша, autorouting функциясы абдан жакшы иштеди жана мен бир нече издерди оңдоого туура келди. Авторутер издери менен кээ бир кызык бурчтарды жасады, бирок бул "эң жакшы практика" эмес, бирок мен буга макулмун жана баары жакшы эле иштеди. Акыркы кылганым жибек экраны катары басыла турган текстти кошуу болду. Мен бардык компоненттердин этикеткада экенине ынандым. Мен ошондой эле компоненттердин топтолушуна басым жасоо үчүн логикалык дарбазанын сүрөттөрүн импорттодум. Акыркы сүрөттө жибек экраны көрсөтүлгөн.
Экрандын ылдый жагындагы жасалма баскычты баскан PCBIди чыгарыңыз. Бул мени түздөн -түз Aisler веб -сайтына алып барды, анда мен эсеп жазууга жана Fritzing файлдарымды жүктөөгө мүмкүнчүлүк алдым. Мен демейки жөндөөлөрдүн бардыгын таштап, заказ бердим.
4 -кадам: Башка ПХБларды долбоорлоо
Мага керек болгон калган ПКБлар кирүү/чыгаруу интерфейс тактасы жана IC үчүн такта болчу. Мен бул такталар үчүн 3 -кадам катары процессти аткардым. Схемалардын PDF файлдары төмөндө жайгаштырылган. IC үчүн, мен виртуалдык панель функциясын колдонуп, бардык байланыштарды жасадым. Мен схеманы толуктугуна коштум, бирок түз эле нан тактасынан PCB өтмөгүнө өтө сонун болгон. Мен ошондой эле Айслерге жүктөө жана заказ берүүдөн мурун I/O интерфейс тактасындагы жибектей экрандын 2 -конверсиялык диаграммасына базаны 10 коштум.
5 -кадам: Компоненттерди ПХБга ширетүү
ПХБнын баары келди, мен чындыгында сапатына таң калдым. Мен башка өндүрүштөр менен эч кандай тажрыйбага ээ болгон эмесмин, бирок Айслерди кайра колдонуудан тартынбайм.
Кийинки тапшырма татаал процесс болгон бардык компоненттерди ширетүү болчу, бирок менин ширетүү жөндөмүм абдан жакшырды. Мен толук сумма такталарынан баштадым жана транзистордон башталган компоненттерди, андан кийин 1K резисторлорду, андан кийин 10К резисторлорду ширеттим. Мен калган компоненттерди I/O жана IC тактасына ширетүү үчүн ушундай ыкманы колдондум. Ар бир Full Adder тактасы бүткөндөн кийин, мен аларды Fullboard Adderboard тактасы менен сынап көрдүм. Таң калыштуусу, бардык такталар эч кандай көйгөйсүз туура иштешти. Бул тактайлардын туура багытталганын жана туура ширетилгенин билдирген. Кийинки кадамга өтүңүз!
6 -кадам: ПКБдарды Стекировкалоо үчүн бүтүрүү
Кийинки милдет ар бир тактага бардык төөнөгүчтөрдү ширетүү болчу. Мен ошондой эле туура баш пин менен Full Adder такталарынын кириш/чыгышынын ортосуна секирүүчү зымдарды кошушум керек болчу (A, B, Cin, V+, GND, Sum, Cout). Эгерде сиз коштоочу схеманын ар бир деңгээли үчүн ар кандай ПХБдарды иштеп чыксаңыз, бул кадамдан качууга болот, бирок мен бир гана Full Adder ПХБ түзүү менен дизайнды жана чыгымдарды азайтууну каалачумун. Натыйжада, бул кирүүлөргө/чыгууларга туташуулар секирүүчү зымдарды талап кылат. Берилген схема - бул тапшырманы кантип аткарганым жана Full Adder такталарынын ар бир деңгээли үчүн кайсы казыктар колдонулгандыгы. Сүрөттөр мен ар бир тактага секирүүчү зымдарды кантип ширеткенимди көрсөтөт. Мен бош зымдарды баштагы туура казыктарга ширетүүдөн баштадым. Мен андан кийин баштыкты ПХБга туташтырдым. Өткөргүч зымдары менен башына төөнөгүчтөрдү орноткондон кийин, мен секирүүчү бош зымдардын бош учтарын ПХБдагы туура учтарга туташтырдым. Жогорудагы сүрөттө секиргич зымдары менен бириктирилген баш казыктардын жакынкы бөлүгү көрсөтүлгөн.
7 -кадам: Микросхемаларды кубаттоо
Мен бул долбоор үчүн 12В DC баррель джек электр менен камсыздоону колдонууну пландадым, ошондуктан мен I/O интерфейс тактасын электр кирүүсү үчүн DC баррели уячасы/туташтыргычы үчүн иштеп чыктым. Мен ошол эле I/O тактасын колдонуп жүргөндүктөн жана 5Vга чыңалууну жөнгө салуу үчүн керектүү болгон жалгыз электр энергиясын колдонгум келген, анткени бул SN7483A IC үчүн эң чоң киреше. Муну аткаруу үчүн мага 5В регулятору жана 12V менен 5V ортосунда которула турган которгуч керек болчу. Жогорудагы схема электр схемасын кантип бириктиргенимди көрсөтөт.
8 -кадам: базаны 3D басып чыгаруу
Эми зымдардын жана ширетүүлөрдүн баары бүткөндөн кийин, мен мунун баары кантип чогуу өткөрүлөрүн түшүнүшүм керек болчу. Мен CADingди жана 3D басып чыгарууну тандадым, ал бул долбоордун бардык бөлүктөрүн камтыйт жана көрсөтөт.
Дизайн ойлору Мен болттор жана тирөөчтөр менен ПХБны орнотуу үчүн жерлерге муктаж болчумун. Үйүлгөн Аддерлер эң көрүнөө жагымдуу жана мен аларды колдонулбай турганда көргөзмөгө чыгаргым келди, андыктан IC PCB сактоочу жерди кааладым. Мен өчүргүч жана DC баррель джек/туташтыргычтын кесилиштери менен электр схемасын жайгаштырышым керек болчу. Акырында, мен ачык ПКБларда чаңдын чогулушуна жол бербөө үчүн кандайдыр бир корпусту көргүм келди, андыктан корпустун отура турган жерине муктаж болдум.
3D моделдөө Мен базаны долбоорлоо үчүн Fusion360 колдондум. Мен ПХБнын өлчөмдөрүнөн жана орнотуучу тешиктердин аралыгы менен баштадым. Андан кийин мен PCB орнотуу чекиттери менен базанын бийиктигин жана өлчөмүн орнотуу үчүн бир катар эскиздерди жана экструзияларды колдондум. Андан кийин мен корпустун жана электр схемасынын кесилиштерин жасадым. Андан кийин, мен колдонулбаган учурда IC PCB сактоо үчүн аймак жасадым. Акыры мен акыркы чоо -жайын кошуп, аны кесүүчү программам Курага жөнөттүм.
Мен кара PLA жип тандап алдым. Басып чыгаруу 6 сааттан бир аз көбүрөөк убакытты алды жана сонун болуп чыкты. Таң калыштуусу, бардык өлчөмдөр туура жана баары бири -бирине туура келгендей болуп көрүнгөн. Жогорудагы сүрөттө тирөөчтөрдү орнотуу тешиктерине кошкондон кийин басып чыгаруу көрсөтүлгөн. Алар эң сонун жарашкан!
9 -кадам: Ассамблея
Страфтарды киргизиңиз. Мен ставкалардын баарын базанын монтаждык тешиктерине койдум.
Күч схемасын базага жайгаштырыңыз. Мен бардыгын зым менен бириктирип, бардык компоненттерди которгучтун тешигинен алып чыктым. Андан кийин, мен базанын арткы жагына кубат уячасын/адаптерин салдым. Мен 5V жөндөгүчтү анын уясына түртүп койдум, акыры которгучту позицияга орнотуу мүмкүн болду.
I/O ПХБны орнотуңуз. Мен IC ПКБны анын сактоо мейкиндигине коюп, үстүнө I/O интерфейсинин ПХБсын койдум. Мен ПХБны 4x M3 болтторун жана алты бурчтуу драйверди колдонуп буздум. Акыры мен DC баррелинин уячасын ПХБга туташтырдым.
Adder PCBлерин стекке коюңуз. Мен биринчи Аддерди ордуна койдум. Мен ПКБнын арт жагын арткы монтаждык тешиктерге 2 тирөөч менен бурап алдым. Мен бул процессти акыркы Аддер турганга чейин кайталап, дагы 2 M3 болт менен бекиттим.
Корпусту жасаңыз. Мен корпус үчүн 1/4 акрил колдондум. Мен долбоордун акыркы бийиктигин өлчөдүм жана CAD өлчөмдөрү менен капталдары жана үстү үчүн 5 бөлүктү кесип, түбү ачык болгон жөнөкөй кутучаны жасадым. Мен чаптоо үчүн эпоксиден колдондум. Акырында мен алмаштыргычты жайгаштыруу үчүн оң жагындагы кичинекей жарым тегерек тилкени тегиздедим.
Эсептөөгө даяр
10 -кадам: Эсептөө жана салыштыруу
Жаңы калкуляторуңузду сайыңыз жана кошо баштаңыз! Негизги 10дон 2ге чейинки диаграмма экилик жана бүтүн сандарды тез алмаштыруу үчүн колдонулушу мүмкүн. Мен кирүүлөрдү орнотууну туура көрөм, андан кийин кубаттуулукту которуштуруу жана LEDлерден экилик чыгууну байкоо менен "барабар" дегенди басыңыз.
Интегралдык схемага дискреттик компоненттерди салыштыруу. Эми, сиз толук Аддердерди бошотуп, SN7483A IC'син I/O тактасына туташтыра аласыз. (12Внын ордуна 5В менен ICди иштетүү үчүн которууну карама -каршы жакка бурууну унутпаңыз). Сиз ошол эле эсептөөлөрдү жүргүзө аласыз жана ошол эле натыйжаларды аласыз. Бул дискреттик компонент Adder да, IC да такыр башка өлчөмдөгү масштабда иштейт деп ойлоо абдан таасирдүү. Сүрөттөр микросхемалардын ошол эле кириш жана чыгышын көрсөтөт.
11 -кадам: Жыйынтык
Бул долбоор сизге жакты жана мен сыяктуу көп нерсени үйрөндүңүз деп үмүттөнөм. Жаңы нерсени үйрөнүү жана аны уникалдуу долбоорго айландыруу абдан канааттандырарлык, бул ПХБ дизайны/фабрикасы сыяктуу жаңы чеберчиликти үйрөнүүнү талап кылат. Бардык схемалар төмөндө келтирилген. Ким кызыкдар болсо, мен дагы PCB Gerber файлдарымды байланыштыра алам, ошондо сиз өзүңүздүн 4-бит бинардык эсептегичти жасай аласыз. Бактылуу кылуу!
Сунушталууда:
Микро бинардык саат: 10 кадам (сүрөттөр менен)
Микро бинардык саат: мурда бинардык чектелген дисплей аянтын колдонот, инструктивдүү (бинардык DVM) түзүп, экилик саатты түзүү үчүн ондуктан экиликке которуунун негизги код модулун түзгөн кичинекей гана кадам
DIY Arduino бинардык ойготкуч саат: 14 кадам (сүрөттөр менен)
DIY Arduino бинардык ойготкуч саат: Бул дагы классикалык бинардык саат! Бирок бул жолу дагы кошумча функция менен! Бул көрсөтмөдө мен сизге Arduino менен экилик ойготкучту кантип курууну көрсөтөм, ал сизге убакытты гана көрсөтпөйт, бирок датаны, айды, таймер жана ойготкучтун көңүл ачуусу менен да
Бинардык стол сааты: 9 кадам (сүрөттөр менен)
Binary Desk Clock: Бинардык сааттар эң сонун жана экиликти (санарип түзмөктөрдүн тили) билген адам үчүн гана. Эгерде сиз технологиялык жигит болсоңуз, анда бул кызык саат сиз үчүн. Ошентип, өзүңүз жасаңыз жана убактыңызды жашырыңыз! Сиз көп бинардык с таба аласыз
Бинардык оюн: 9 кадам (Сүрөттөр менен)
Бинардык оюн: Бул экилик сандарды үйрөнүү үчүн мен Tinkercad схемаларында жараткан оюн. https://www.tinkercad.com/things/erDquXcpyW8Эгер сиз бул колдонмону ээрчип, өзүңүздүн жеке файлдарыңызды түзгүңүз келсе, https://github.com/kee
Неопикселдерди колдонуу менен бинардык саат: 6 кадам (сүрөттөр менен)
Неопикселдерди колдонгон бинардык саат: Саламатсыздарбы, мен LED менен байланышкан бардык нерселерди жакшы көрөм, ошондой эле аларды ар кандай кызыктуу жолдор менен колдонгонду жакшы көрөм Ооба, бинардык саат бул жерде бир нече жолу жасалганын билем жана алардын ар бири кантип Өз саатыңызды түзүңүз