Mundarija:
- 1 -qadam: Yo'l davomida tadqiqot
- 2 -qadam: duch kelgan qiyinchiliklar
- 3 -qadam: yutuqlar va mulohaza
Video: Xizmat panelidagi 8 bitli kompyuterga umumiy nuqtai: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Ushbu loyihadan maqsadim kompyuter arxitekturasi, apparat dizayni va montaj darajasidagi tillarni yaxshiroq tushunish edi. Men universitet muhandisligi fakultetida kichik bo'lganim uchun yaqinda elektronika, laboratoriyalar, montaj tili va apparat arxitekturasi kurslarini tamomladim. Bu mavzularga kirish olar ekanman, men har uch kursning ham nozik tafsilotlari haqidagi tushunchamni oshirishni xohlardim va loyihada ishlashdan ko'ra yaxshiroq o'rganishning qanday usuli bor?
Mening asl niyatim, bu 8 bitli kompyuterni Ben Eaterning youtube kanalida taqdim etilgan ma'ruza videolari yordamida to'liq yig'ish edi, ular dizayn jarayonini men yoritgan materiallar va men hali o'rganmagan jihatlarning mustahkam aralashmasiga aylantirish bo'yicha ajoyib ishni bajaradi. o'rganmoq. Menda kombinatorik dizayn va elektronika mantig'ining asosiy tushunchasi borligini hisobga olgan holda, men dizaynni qayta ko'rib chiqqandan keyin, lekin qurilish ko'rsatmalariga rioya qilmasdan, kompyuter qismlarini loyihalash va qurishga harakat qilib, o'zimni tanqid qilmoqchi edim. Loyiha davomida mening maqsadim yangi narsalarni yaratish emas, balki o'z bilimlarimni o'rganish va takomillashtirish edi, shuning uchun loyihaning har bir bosqichida men komponentlar arxitekturasi va har biri uchun ishlatiladigan asosiy konventsiyalar bo'yicha onlayn maqolalar va forumlardan ozgina o'qidim. ulardan.
1 -qadam: Yo'l davomida tadqiqot
Bu loyiha meni kutganimdan ham ko'proq o'qishga majbur qildi. Mening har bir komponentga asosiy yondashuvlarimdan biri - bu onlayn forum yoki maqolaning sharhini o'qish, Eater videolaridan ma'ruzalarni tomosha qilish, qurilishdan oldin, sinovdan o'tkazishdan oldin o'z qismimni loyihalashtirishga harakat qilish va ko'p hollarda uni yo'q qilish edi. Eater kanalidan ko'proq yo'naltirilgan yondashuv. Bunga misol, men shaxsiy kompyuterning ALU komponentini qurayotgan paytim edi. Dizayn videolarini tomosha qilar ekanman, men funktsionalligi yuqori bo'lgan chip komponentlari haqidagi maqolalarni o'qib chiqdim, bu esa ko'rsatma turlarini almashtirish va kirishni 2 -chi komplementga o'zgartirish imkonini beradi. Ammo, bu osonroq chiplarni sotib olishdan oldin, men Ben Eater o'z videolarida aytgan dizayn yondashuvini ko'rib chiqdim, ALU modulining funktsional imkoniyatlarini oshirish uchun qo'shimchalarni va XOR mantiq eshiklarini aralashtirib, yuqori narxdagi chiplarga ehtiyoj sezmay. Bu menga diskret mantiqdan foydalanishni va uning kompyuter dizaynida qo'llanishini qadrlashga va komponentlarni yaratishda har xil yondashuvlarni o'rganishga majbur qildi. Pastki darajadagi chiplarni taxtada birlashtirib, men ALU ichida ishlatilgan ba'zi asosiy me'moriy xususiyatlar haqida bilib oldim, bu esa kompyuterda ushbu ijro komponenti haqidagi tushunchamni oshirdi.
Men o'rgangan yana bir muhim komponent buferlar deb ham ataladigan qabul qiluvchilarni ishlatish edi. Loyihaga chuqurroq kirishdan oldin, men boshqaruv signallari yordamida turli komponentalarni faollashtiraman va o'chirib tashlayman, deb o'yladim, lekin tez orada maqolalar davomida bu Von-Neuman uslubidagi me'morchilikni to'g'ri ishlashi uchun buferlardan foydalanish kerakligini topdim. Kompyuter turli xil modullar o'rtasida ma'lumotlarni uzatish uchun umumiy avtobusdan foydalanganligi sababli, tsikllarning sinxronizatsiyasi soat bilan belgilanadi. Biroq, avtobusda mavjud bo'lgan ma'lumotlarga to'sqinlik qilmasdan do'konlar va yuklarning yuklanishiga yo'l qo'yib, men qabul qiluvchilar eshiklar vazifasini bajarishi uchun juda muhim ekanligini, ma'lumotlarning avtobusga o'z vaqtida oqishini ta'minlash uchun yoqish signalini talab qilishini aniqladim. O'qish qobiliyatini tushunish qiyin emas edi, chunki simlar har doim avtobusdagi qiymatlarni ushlab turadi, lekin to'g'ri qiymatdan foydalanish registrlarga yangi qiymatni ushlab turishga imkon beradi.
Loyiha davomida olib borilgan tadqiqotlarning yakuniy natijasi, shunga o'xshash chiplar orasidagi farqni tushunish edi. Ko'pincha men bir xil identifikator qiymatiga ega chiplarni, lekin LS va HC kabi har xil tavsiflovchi harflarni topardim. Men bilib oldim, bu shunchaki etiketkalar ishlab chiqarish emas, balki chiplar haqida vaqt va quvvat ko'rsatkichlari. Yaxshiyamki, mening kompyuterim juda past darajadagi va yuqori bardoshli komponentlardan foydalangani uchun, men ko'p xususiyatlarga mos kelishi haqida qayg'urmasligim kerak edi, lekin yuqori darajadagi dizaynda, soat tezligi va quvvat sarflash kabi narsalar elektronikaning muvaffaqiyat yoki nosozligi uchun muhimligini bilib oldim. dizayn
2 -qadam: duch kelgan qiyinchiliklar
Loyihaga tezda men jarayonlarni sinxronlashtirish vaqti va xotira arxitekturasi kabi oddiy komponentlarni loyihalashga muvaffaq bo'ldim, lekin og'ir semestr bilan birga qismlarga buyurtma berish kerak edi, bu esa loyihaga tashqaridan vaqt ajratishni qiyinlashtirdi. tugatish jadvali. Birinchi katta muvaffaqiyatsizlikka uchraganimdan so'ng, qismlar kelguncha bir hafta kutishga to'g'ri keldi, men bu loyihani bajarishim kerak deb o'ylagan barcha qismlarga buyurtma berib, keyingi kechikishlarni chetlab o'tdim.. Nosozliklarni tuzatishning ba'zi asosiy usullarini o'rganganimdan so'ng, men yig'ilishlarni e'tiborsiz qoldira boshladim, bu xatolarimni aniqlash uchun orqaga qaytish va videolarni qayta ko'rib chiqish kerak edi, bu odatda taxtaning ko'p qismini olib tashlashga olib keldi. Buning yorlig'i yo'q edi. Men har qanday elektron qurilmani yaratishdagi yutuqlaringizni tekshirishning qiymatini bilib oldim. Yo'l davomida har bir taxtani disk raskadrovka qilib, men ularni ishonch bilan birlashtirishga o'tishga muvaffaq bo'ldim, keyin birlashtirilgan taxtalarni disk raskadrovka qilish ancha osonlashdi.
3 -qadam: yutuqlar va mulohaza
Umuman olganda, men hozirda soat, kod va dastur hisoblagichi, ALU birligi, rs rt va rd registrlari va operativ xotirani tugatdim. Loyihani yakunlash uchun avtobus va atrof -muhit qurilmalarini to'ldirish kerak bo'lishidan tashqari, men kompyuter arxitekturasi haqida juda ko'p ma'lumotga ega bo'ldim, men bu kursni tanlaganimda, kompyuter arxitekturasi kursini davom ettiraman.
M5 mening loyiham ustida ishlashim uchun barcha kerakli vositalarni taqdim etdi va uning qismlari devorlar bo'ylab juda yaxshi yotqizilgan edi, shuning uchun men buyurtma berish kerak bo'lgan qismlar va tarqatilishi mumkin bo'lgan narsalarni juda erta bilardim. Agar boshqa talaba bu loyihani o'z zimmasiga oladigan bo'lsa, shuni aniq qayd etardimki, agar siz kompyuterda bo'layotgan hamma narsani tushunishga harakat qilsangiz, bu loyiha ko'p vaqt talab etadi. Bu qiyin emas, lekin agar siz uning muvaffaqiyatli ishlashini xohlasangiz, ehtiyotkorlik talab etiladi. Agar men o'z yondashuvimni ishlab chiqishni rejalashtirmasangiz, o'z vaqtida ortda qolmaslik uchun, siz ishlatishingiz kerak bo'lgan barcha qismlarni tushunish uchun Ben Eater -ning youtube kanalidagi video pleylistidan o'tishni tavsiya qilaman. Men ko'p qismlarni sotib olganim uchun, men o'zim bilan olib borishni rejalashtirganman, lekin buni boshqa talabaga bajarish uchun topshirish yaxshi bo'lardi, bu esa qolgan qismlarning dizayniga engil ta'sir qilishni anglatadi., lekin men boshqa darslar davomida ishlashim kerak bo'lgan yig'ilish tiliga katta e'tibor qaratdim
Tavsiya:
Arduino Nano-MMA8452Q 3 o'qli 12 bitli/8 bitli raqamli akselerometr bo'yicha qo'llanma: 4 qadam
Arduino Nano-MMA8452Q 3-o'qli 12-bitli/8-bitli raqamli akselerometr bo'yicha qo'llanma: MMA8452Q-bu 12 bitli, aqlli, kam quvvatli, uch o'qli, sig'imli, mikromaxinli akselerometr. Foydalanuvchilar tomonidan dasturlashtiriladigan moslashuvchan variantlar akselerometrga o'rnatilgan ikkita funktsiya yordamida ta'minlanadi, ular ikkita uzilishga o'rnatiladi
Raspberry Pi MMA8452Q 3 o'qli 12-bitli/8-bitli raqamli akselerometr Python qo'llanmasi: 4 qadam
Raspberry Pi MMA8452Q 3-o'qli 12-bitli/8-bitli raqamli akselerometr Python qo'llanmasi: MMA8452Q-bu 12 bitli aniqlikdagi aqlli, kam quvvatli, uch o'qli, sig'imli, mikromashinli akselerometr. Foydalanuvchilar tomonidan dasturlashtiriladigan moslashuvchan variantlar akselerometrga o'rnatilgan ikkita funktsiya yordamida ta'minlanadi, ular ikkita uzilishga o'rnatiladi
PCB dizayni va chizish bo'yicha umumiy nuqtai: 5 qadam
PCB -ni loyihalash va chizish bo'yicha umumiy nuqtai: PCB -ni loyihalash va chizishning bir necha usullari mavjud, eng oddiylaridan tortib eng murakkabigacha. Qaysi birini tanlash kerak, qaysi biri sizning ehtiyojlaringizga mos keladi, degan savolga tushunarsiz bo'lish oson
H 2 ko'prigi (293D) yordamida 2 ta tishli hobbi dvigatellari Ans Arduino; sxemaga umumiy nuqtai: 9 qadam
H 2 ko'prigi (293D) yordamida 2 tishli xobbi dvigatellari Ans Arduino; sxemaga umumiy nuqtai nazar: H ko'prik 293D - bu ikkita dvigatelni boshqarishga qodir bo'lgan integral sxemadir. 2 ta motorni ikki tomonlama (oldinga va orqaga) Kod bilan boshqarishi mumkin
Umumiy nuqtai: Uydagi o'yin -kulgi va xavfsizlik tizimi: 6 qadam
Sharh: Uydagi o'yin -kulgi va xavfsizlik tizimi: Ilova haqida IOT tizimi - bu uydagi o'yin -kulgi va xavfsizlik tizimi. Xavfsizlik RFID kartasini bosing va kirishlar Firebase -ga saqlanadi. Agar ruxsat berilgan bo'lsa, siz tinchgina kirishingiz mumkin va rasm S3 -ga yuklangan bo'lsa, ruxsatsiz, mudofaa sek