Mundarija:

O'zingizning POV displeyingizni yarating: 3 qadam
O'zingizning POV displeyingizni yarating: 3 qadam

Video: O'zingizning POV displeyingizni yarating: 3 qadam

Video: O'zingizning POV displeyingizni yarating: 3 qadam
Video: Восход Корч поймал клина! Случайность или совпадение? 2024, Iyul
Anonim
O'zingizning POV displeyingizni yarating
O'zingizning POV displeyingizni yarating

Vizyonni idrok etish (VVO) yoki Vizyonning turg'unligi (u bir nechta o'zgarishga ega) - bu odamning ko'rish pozitsiyasi o'zgarishiga qaramay, ob'ektni vizual idrok etish to'xtamaganda paydo bo'ladigan qiziqarli hodisa. Inson tasvirni soniyalar kasrlari oralig'ida ko'radi; bu tasvirlar miyada juda qisqa vaqt saqlanadi (bir zumda). Bu hodisaga misol, siz LEDlar yoki lampalar kabi yorug'lik manbasini yoqsangiz va aylanasiz. Bizning tasavvurimiz, aylanayotgan yorug'lik, xuddi tekislikdagi aylanadigan pervanadan hosil bo'lgan uzluksiz aylana kabi, doimiy uzluksiz aylana ekanligiga ishonish uchun aldab qo'yilgan. POV ko'p yillar davomida, gifoskopdan boshlab, bizning tasavvurimizga turli xil illuziyalar va animatsiyalarni yaratish uchun ishlatilgan; u tez -tez LED va displeylarda turli xil xabarlar uchun ularni 2D yoki 3D formatida aylantirish va xabarlarni ko'rsatish uchun ishlatiladi. Ushbu ilova eslatmasining maqsadi - "SILEGO" so'zini yozish orqali Vision Vision qanday ishlashini loyihalashtirish va namoyish qilish va kelajakda sizga yanada murakkab dizaynlarni yaratish jarayonida yo'l -yo'riq berish. Ushbu loyiha uchun biz Dialog GreenPAK ™ SLG46880 -ni ishlatdik, uning rozetkasi to'plami, bu prototipni kabel yordamida barcha tashqi komponentlarga osongina ulash imkonini beradi. Kattaroq GreenPAK -dan foydalanib, umumiy maqsadli POV -displeylarni loyihalashda ASM quyi tizimlari kabi mustahkam komponentlari tufayli har qanday naqshni displeyda chop etish mumkin. Bu dastur SLG46880 yordamida yakuniy natijani ko'rsatadi.

Quyida biz GreenPAK chipining POV displeyini yaratish uchun qanday dasturlashtirilganligini tushunish uchun zarur bo'lgan qadamlarni tasvirlab berdik. Ammo, agar siz dasturlash natijasini olishni xohlasangiz, GreenPAK dasturini yuklab oling va tugallangan GreenPAK dizayn faylini ko'ring. GreenPAK Development Kit -ni kompyuteringizga ulang va POV displeyi uchun maxsus IC yaratish uchun dasturni bosing.

1 -qadam: sxemalar

Sxemalar
Sxemalar

Bu POV ko'rsatish misoli 1 -rasmda ko'rsatilgan 2D turiga mo'ljallangan bo'lib, unda GreenPAK CMIC -dagi turli GPO pinlariga to'g'ridan -to'g'ri ulangan o'n bitta LED (har biri tokni tartibga solish uchun rezistorlar o'rnatilgan) mavjud. O'chirish protetib qilingan va PCB plastinkalariga lehimlangan. Displey uchun ishlatiladigan quvvat manbai LV7805V yordamida voltaj regulyatori zanjiriga ulangan 9 V 10 A L1022 gidroksidi batareyadir, u 5 V ni chiqaradi, displeyni aylantirishdan tashqari, barcha harakatlanish uchun etarli kuchga ega shahar motoriga ehtiyoj bor. moslashtirilgan stendga biriktirilgan boshqaruv sxemasi. Bunday holda, 12 V kuchlanishli dvigatel ishlatilgan, u asosiy kalitga ulangan va har xil kuchlanish darajasini aylanadigan kalit orqali chiqaradigan, dvigatelning bir necha tezlikda aylanishiga imkon beradigan, boshqariladigan quvvat manbai.

2 -qadam: GreenPAK dizayni

GreenPAK dizayni
GreenPAK dizayni
GreenPAK dizayni
GreenPAK dizayni
GreenPAK dizayni
GreenPAK dizayni
GreenPAK dizayni
GreenPAK dizayni

POV displeyi uchun GreenPAK yordamida har xil turdagi xabarlar va ko'rsatuvlarni loyihalashda biz chipning asboblari va cheklovlarini bilishimiz kerak. Shunday qilib, biz POV displeyiga erishish uchun eng kam elektronika komponentlaridan foydalangan holda malakali dizaynni yaratishimiz mumkin. Ushbu dizayn SLG46880 CMIC tomonidan taqdim etilgan yangi afzalliklardan foydalanadi, bunda Asenkron davlat mashinasi quyi tizimlari komponentiga e'tibor qaratiladi. SLG46880 ASM quyi tizimi vositasi avvalgi GreenPAK ASM asboblariga qaraganda ancha foydali bo'lishi mumkin, chunki u yangi Davlat mashinalari dizaynini yanada murakkablashtirishga imkon beradi. Tegishli ASM quyi tizimlarining ichki komponentlaridan ba'zilari:

● 12 ta shtat ASM Macrocell

● Dinamik xotira (DM) Macrocell

● F (1) hisoblash Macrocell

● Davlat mustaqil komponentlari

Chip qanchalik ko'p davlat mashinasi makrosellari yaratishga va sozlashga imkon bersa, dizayn imkoniyatlari shunchalik ko'p bo'ladi. O'n ikki holatning har biri ko'rsatiladigan so'zning turli kasrlarini yozish uchun ishlatilgan, LEDlarning alohida kombinatsiyalarini yoqish/o'chirish, ularning ba'zilari ikki yoki undan ko'p marta takrorlangan va ba'zi hollarda takrorlangan holatlar vaqti o'zgargan. bir xil naqsh har xil harflar uchun har xil vaqtda ishlatilishi mumkin. Shtatlar 1 -jadvalda tuzilgan.

1 -jadvalda dizayndagi mavjud holatlarning har biri "SILEGO" so'zidagi harflar bilan qanday bog'liqligi ko'rsatilgan. Bu 2 -rasmda ko'rsatilgan LED konfiguratsiyasiga bog'liq.

Ko'rib turganingizdek, har xil vaqtda bajarilgan barcha holatlar so'zning to'liq tuzilishiga erishadi, 3 -rasmda davlatlarning qanday bog'liqligi/bog'liqligi ko'rsatilgan. Shtatning barcha o'tishlari millisekundlar tartibida va 2 -rasmdagi diagramadagi ustunlarning har biri bir millisekund (1 ms) ni ifodalaydi. Ba'zi holatlar 3 ms, 4 milodiy va boshqalarga to'g'ri keladi, ular videoni namoyish qilish uchun ishlatiladigan dvigatelning minimal tezligi bilan taxminan 460 aylanish tezligida.

Umumiy maqsadli dizayndagi vaqtni bilish va hisoblash uchun motor tezligini hisobga olish va o'lchash muhimdir. Shunday qilib, xabarni vosita tezligi bilan sinxronlashtirish mumkin, shu orqali inson ko'ziga ko'rinadi. Shtatlarning o'tishini sezilmaydigan va tasavvurimizga aniqroq qilish uchun yana bir e'tibor - bu dvigatelning aylanish tezligini 1000 aylanish tezligiga oshirish, va xabarni muammosiz ko'rish uchun vaqtni mikrosaniyalarda belgilash. Siz o'zingizdan so'rashingiz mumkin, siz motor tezligini xabar yoki animatsiya tezligi bilan qanday sinxronlashtirasiz? Bu bir nechta oddiy formulalar yordamida amalga oshiriladi. Agar sizda dvigatel tezligi 1000 rpm bo'lsa, shahar dvigateli bir inqilob uchun bir necha soniya ichida qancha vaqt ketishini bilish uchun:

Chastotasi = 1000 RPM / 60 = 16.67 Hz Davr = 1 / 16.67 Hz = 59.99 ms

Vaqtni bilib, siz motorning o'z navbatida qancha vaqt ketishini bilasiz. Agar siz "Salom dunyo" kabi xabarni chop qilmoqchi bo'lsangiz, har bir burilish davrini bilganingizdan so'ng, bu xabarning displeyda qanchalik katta bo'lishini xohlaysiz. Kerakli xabarni kerakli o'lchamda chop etish uchun quyidagi qoidaga amal qiling:

Agar siz, masalan, displey maydonining 40 foizini qamrab olishni xohlasangiz:

Xabar hajmi = (Davr * 40 %) / 100 % = (59,99 ms * 40 %) / 100 % = 24 ms

Bu shuni anglatadiki, xabar har bir burilish uchun 24 msda ko'rsatiladi, shuning uchun bo'sh joy yoki qolgan bo'sh joy o'z navbatida ko'rsatilishi kerak (agar siz xabardan keyin biror narsani ko'rsatmasangiz):

Bo'sh joy = davr - xabar hajmi = 59,99 ms - 24 ms = 35,99 ms

Nihoyat, agar siz xabarni o'sha 40% da ko'rsatishingiz kerak bo'lsa, siz kutilgan xabarni yozish uchun qancha holat va o'tish kerakligini bilishingiz kerak, masalan, agar xabarda yigirma (20) o'tish bo'lsa:

Yagona davlat davri = Xabar hajmi / 20 = 24 ms / 20 = 1,2 ms.

Xabarni to'g'ri ko'rsatish uchun har bir holat 1,2 ms davom etishi kerak. Albatta, siz birinchi dizaynlarning aksariyati mukammal emasligini sezasiz, shuning uchun siz dizaynni yaxshilash uchun fizik sinov paytida ba'zi parametrlarni o'zgartirishingiz mumkin. Biz holatni o'zgartirishni osonlashtirish uchun Dynamic Memory (DM) Macrocells -dan foydalanganmiz. To'rtta DM bloklarining ikkitasida matritsa ulanishlari mavjud bo'lib, ular ASM quyi tizimidan tashqaridagi bloklar bilan o'zaro aloqada bo'lishlari mumkin. Har bir DM Macrocell har xil shtatlarda ishlatilishi mumkin bo'lgan 6 tagacha konfiguratsiyaga ega bo'lishi mumkin. Bu dizaynda ASMni bir holatdan ikkinchisiga o'tishga undash uchun DM bloklari ishlatiladi. Masalan, Silego [3] holati o'tish paytida ikki marta takrorlanadi; "I" harfining boshi va oxiri bir xil naqshga ega bo'lishi kerak, lekin "S" bosh harfining o'rtasini naqshini yozish uchun avval Silego [4] ga borish kerak. [3] ikkinchi marta bajariladi, qolgan o'tishlarni davom ettirib, "Xabarsiz" holatiga o'tish kerak. Silego [3] ning Silego [4] bilan cheksiz halqaga tushib qolishining oldini qanday olish mumkin? Bu juda oddiy, SR Flip Flop sifatida tuzilgan ba'zi LUTlar bor, ular Silego [3] ga Silego [4] ni qayta -qayta tanlamaslikni, lekin ikkinchi marta "Xabar yo'q" holatini tanlashini aytadi. Har qanday holat takrorlansa, cheksiz halqalarni oldini olish uchun SR Flip Floplardan foydalanish bu muammoni hal qilishning ajoyib usuli va faqat 4-rasm va 5-rasmda ko'rsatilgandek tuzilgan 3-bitli LUTni talab qiladi. Bu jarayon bir vaqtning o'zida sodir bo'ladi. ASM chiqishi Silego [3] ni Silego [4] ga o'tishga majbur qiladi, shuning uchun keyingi safar shtat mashinasi Silego [3] ni bajarganda, jarayonni davom ettirish uchun Xabarsiz holatini tanlash to'g'risida xabardor qilinadi.

Ushbu loyiha uchun foydali bo'lgan yana bir ASM bloki - bu F (1) hisoblash Macrocell. F (1) kerakli ma'lumotlarni o'qish, saqlash, qayta ishlash va chiqarish uchun maxsus buyruqlar ro'yxatini tuzishi mumkin. U bir vaqtning o'zida 1 bitni boshqarishga qodir. Ushbu loyihada F (1) bloki ba'zi LUTlarni boshqarish va holatlarni yoqish uchun bitlarni o'qish, kechiktirish va chiqarish uchun ishlatilgan (masalan, Silego [1] da Silego [2] ni yoqish uchun).

1 -rasmdagi jadvalda LEDlarning har biri GreenPAK -ning GPO pinlariga qanday yo'naltirilganligi tushuntiriladi; bog'liq jismoniy pinlar 2 -jadvalda ko'rsatilgandek, matritsadagi ASM Chiqish RAMidan olinadi.

2 -jadvalda ko'rib turganingizdek, chipning har bir pimi alohida ASM chiqishlariga yo'naltirilgan edi; ASMOUTPUT 1 -da sakkizta (8) chiqish mavjud, ularning hammasi OUT 4 -dan tashqari tashqi GPO -larga to'g'ridan -to'g'ri ulanadi. ASM OUTPUT 0 -da to'rtta (4) chiqish mavjud, bu erda OUT 0 va OUT 1 mos ravishda PIN 4 va PIN 16 ga ulangan; OUT 2 Silego [5] va Silego [9] holatlarida LUT5 va LUT6 ni tiklash uchun ishlatiladi va nihoyat OUT 3 Lile 6 ni Silego [4] va Silego [7] da o'rnatish uchun ishlatiladi. ASM nRESET bu dizaynda almashtirilmagan, shuning uchun u VDD ga ulanishga majbur. "SILEGO" ko'rsatilayotganda qo'shimcha animatsiya qilish uchun ushbu loyihaga yuqori va pastki LEDlar qo'shilgan. Bu animatsiya vaqt o'tishi bilan dvigatel harakati bilan aylanib yuradigan bir nechta chiziqlar haqida. Bu chiziqlar oq rangli LEDlar, harflarni yozishda esa qizil rangda. Ushbu animatsiyaga erishish uchun biz GreenPAK PGEN va CNT0 -dan foydalanganmiz. PGEN - bu navbatdagi bitni har bir soat chekkasida chiqaradigan naqsh generatori. Biz dvigatelning aylanish davrini 16 qismga ajratdik va natija CNT0 chiqish davriga o'rnatildi. PGEN -ga dasturlashtirilgan naqsh 6 -rasmda ko'rsatilgan.

3 -qadam: Natijalar

Natijalar
Natijalar

Dizaynni sinab ko'rish uchun biz SLG46880 rozetkasini PCBga tasma kabeli bilan uladik. Zanjirga ikkita tashqi platalar ulangan, ulardan birida voltaj regulyatori, ikkinchisida LED qatori bor edi. Xabarni namoyish qilish uchun ko'rsatishni boshlash uchun biz GreenPAK tomonidan boshqariladigan mantiqiy sxemani, keyin esa shahar motorini yoqdik. To'g'ri sinxronizatsiya uchun tezlikni sozlash kerak bo'lishi mumkin. Yakuniy natija 7 -rasmda ko'rsatilgan. Shuningdek, ushbu ilova eslatmasi bilan bog'liq video ham bor.

Ushbu loyihada taqdim etilgan "Vision Vision Display" in idroki asosiy boshqaruvchi sifatida Dialog GreenPAK SLG46880 yordamida yaratilgan. Biz dizayn LEDlar yordamida "SILEGO" so'zini yozib ishlashini ko'rsatdik. Dizaynni yaxshilash mumkin bo'lgan ba'zi yaxshilanishlar:

● Bir nechta GreenPAK -dan foydalanib, shtatlar hajmini oshirish uchun uzunroq xabar yoki animatsiyani chop etish imkoniyati.

● qatorga ko'proq LEDlarni qo'shing. Aylanadigan qo'lning massasini kamaytirish uchun teshikli LEDlardan emas, balki sirtdan o'rnatiladigan LEDlardan foydalanish foydali bo'lishi mumkin.

● Mikrokontrollerning kiritilishi GreenPAK dizaynini qayta sozlash uchun I2C buyruqlari yordamida ko'rsatiladigan xabarni o'zgartirishga imkon beradi. Bu vaqtni aniq ko'rsatish uchun raqamlarni yangilaydigan raqamli soat displeyini yaratish uchun ishlatilishi mumkin

Tavsiya: