Агуулгын хүснэгт:

POV дэлгэцээ өөрөө хий: 3 алхам
POV дэлгэцээ өөрөө хий: 3 алхам

Видео: POV дэлгэцээ өөрөө хий: 3 алхам

Видео: POV дэлгэцээ өөрөө хий: 3 алхам
Видео: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Долдугаар сарын
Anonim
Өөрийн POV дэлгэцийг гаргаарай
Өөрийн POV дэлгэцийг гаргаарай

Алсын хараа (POV) эсвэл алсын хараатай байдал (хэд хэдэн хувилбартай) нь объектын байрлал өөрчлөгдөж байгаа хэдий ч объектын харааны ойлголт тасрахгүй байхад тохиолддог сонирхолтой үзэгдэл юм. Хүн төрөлхтөн дүрсийг хэдхэн секундын интервалаар хардаг; Эдгээр зургууд тархинд маш богино хугацаанд хадгалагддаг. Энэ үзэгдлийн жишээ бол та LED эсвэл чийдэн гэх мэт гэрэлтүүлгийн эх үүсвэрийг асааж, тойрон эргэлдэх явдал юм. Бидний алсын хараа нь ээрэх гэрэл нь онгоцны эргэдэг сэнснээс үүссэн тасралтгүй тойрог шиг тасралтгүй тойрог гэдэгт итгэдэг. POV нь гипофоскопоос эхлээд олон жилийн турш бидний алсын хараанд янз бүрийн хуурмаг, анимац хийхэд ашиглагдаж ирсэн; Энэ нь ихэвчлэн LED ашиглан дэлгэц дээр мессеж, анимацийг үзүүлэхэд ашигладаг бөгөөд тэдгээрийг янз бүрийн төрлийн мессежүүдэд 2D эсвэл 3D хэлбэрээр эргүүлдэг. Энэхүү програмын тэмдэглэлийн зорилго нь "SILEGO" гэсэн үгийг бичих дэлгэц дээр бичих замаар алсын харааны ойлголт хэрхэн ажилладагийг харуулах, ирээдүйд илүү нарийн төвөгтэй загвар гаргах үйл явцыг удирдан чиглүүлэх санаа өгөх явдал юм. Энэхүү төслийн хувьд бид Dialog GreenPAK ™ SLG46880 -ийг ашигласан бөгөөд уг загварыг гадны бүх эд ангиудад кабель ашиглан хялбархан холбох боломжийг олгодог. Том хэмжээтэй GreenPAK -ийг ашиглан ерөнхий зориулалттай POV дэлгэцийг зохион бүтээх нь ASM дэд систем гэх мэт бат бөх бүрэлдэхүүн хэсгүүдтэй тул дэлгэц дээр ямар ч загвар хэвлэх боломжийг олгодог. Энэхүү програм нь SLG46880 ашиглан эцсийн үр дүнг харуулах болно.

POV дэлгэцийг бий болгохын тулд GreenPAK чипийг хэрхэн програмчилсныг ойлгохын тулд шаардлагатай алхамуудыг бид доор тайлбарлав. Гэсэн хэдий ч хэрэв та програмчлалын үр дүнг авахыг хүсч байвал GreenPAK програмыг татаж аваад аль хэдийн дууссан GreenPAK дизайны файлыг үзнэ үү. GreenPAK Хөгжүүлэлтийн иж бүрдлийг компьютерт холбоод програмыг дарж POV дэлгэцийн тусгай IC -ийг үүсгэнэ үү.

Алхам 1: Схем

Схем
Схем

Энэхүү POV дэлгэцийн жишээ нь 1 -р зурагт үзүүлсэн 2D төрөлд зориулагдсан бөгөөд энэ нь GreenPAK CMIC дээрх өөр өөр GPO зүүтэй шууд холбогдсон 11 LED (тус бүр нь гүйдлийг зохицуулах резистортой) массивтай. Уг хэлхээг прототипээр хийж, ПХБ -ийн самбар дээр гагнаж байна. Дэлгэцийн тэжээлийн хангамж нь LV7805V хүчдэлийн зохицуулагчийн хэлхээнд холбогдсон 5 В гаралт бүхий 5 В гаралт бүхий хүчдэлийн зохицуулагчийн хэлхээнд холбогдсон 9 В 10 А L1022 шүлтлэг батерей бөгөөд дэлгэцийг эргүүлэхээс гадна бүх хүчийг хөдөлгөх хангалттай хүч чадалтай DC мотор хэрэгтэй. тохируулсан тавиур дээр хавсаргасан хяналтын хэлхээ. Энэ тохиолдолд үндсэн унтраалгад холбогдсон 12 вольтын хөдөлгүүрийг ашиглаж, эргэлтэт унтраалгаар дамжуулан хүчдэлийн янз бүрийн түвшинг гаргадаг бөгөөд хөдөлгүүрийг хэд хэдэн хурдаар эргүүлэх боломжийг олгодог.

Алхам 2: GreenPAK дизайн

GreenPAK дизайн
GreenPAK дизайн
GreenPAK дизайн
GreenPAK дизайн
GreenPAK дизайн
GreenPAK дизайн
GreenPAK дизайн
GreenPAK дизайн

GreenPAK ашиглан POV дэлгэц дээр янз бүрийн төрлийн мессеж, анимацийг зохион бүтээхдээ чипийн хэрэгсэл, хязгаарлалтыг хоёуланг нь мэдэж байх ёстой. Ийм байдлаар бид POV дэлгэцийг олж авахын тулд хамгийн бага электроникийн бүрэлдэхүүн хэсгүүдийг ашиглан чадварлаг дизайныг бий болгож чадна. Энэхүү загвар нь SLG46880 CMIC -ийн санал болгож буй шинэ давуу талыг ашигладаг бөгөөд Асинхрон төлөв байдлын машины дэд системийн бүрэлдэхүүн хэсэгт анхаарлаа хандуулдаг. SLG46880 ASM дэд системийн хэрэгсэл нь өмнөх GreenPAK ASM хэрэгслүүдээс илүү давуу талтай бөгөөд төрийн машиныг илүү нарийн зохион бүтээх боломжийг олгодог шинэ шинж чанараараа давуу талтай юм. Холбогдох ASM дэд системийн дотоод бүрэлдэхүүн хэсгүүдийн заримыг дурдвал:

● 12 муж улсын ASM Macrocell

● Динамик санах ой (DM) Macrocell

● F (1) Macrocell тооцоолол

● Улсын бие даасан бүрэлдэхүүн хэсгүүд

Төрийн машины макро эсүүд хэдий чинээ их байх тусам чип үүсгэх, тохируулах боломжтой болно, төдий чинээ олон дизайны боломжууд бий болно. Арван хоёр муж тус бүрийг харуулах үгийн өөр өөр бутархай хэсгүүдийг бичихэд ашигладаг байсан бөгөөд LED -ийн ялгаатай хослолыг асаах/унтраах, заримыг нь хоёр ба түүнээс дээш удаа давтах, зарим тохиолдолд давтагдсан төлөв байдлын цагийг өөрчилдөг. ижил загварыг өөр өөр үсгүүдэд өөр өөр цаг үед ашиглаж болно. Муж улсууд 1 -р хүснэгтэд бүтэцлэгдсэн байна.

1 -р хүснэгтэд дизайны одоо байгаа төлөв бүр нь "SILEGO" гэсэн үгийн үсгүүдтэй хэрхэн холбогдож байгааг харуулав. Энэ нь Зураг 2 -т үзүүлсэн LED тохируулгатай холбоотой юм.

Таны харж байгаагаар өөр өөр цаг хугацаанд гүйцэтгэсэн бүх мужууд үгийн бүрэн бүтцийг бий болгодог, Зураг 3 нь мужууд хоорондоо хэрхэн холбогдсон/хамааралтай болохыг харуулж байна. Мужийн бүх шилжилт миллисекундын дарааллаар хийгдсэн бөгөөд 2 -р зурагт үзүүлсэн баганууд тус бүр нэг миллисекунд (1 мс) -ийг илэрхийлнэ. Зарим төлөв нь 3 ms, 4 ms болон бусад хугацаанд үргэлжлэх бөгөөд ойролцоогоор 460 эрг / мин хурдтай видео үзүүлэхэд ашигладаг моторын хамгийн бага хурдтай.

Ерөнхий зориулалтын дизайны цаг хугацааг мэдэх, тооцоолохын тулд моторын хурдыг авч үзэх, хэмжих нь чухал юм. Ийм байдлаар мессежийг хөдөлгүүрийн хурдтай синхрончлох боломжтой бөгөөд ингэснээр хүний нүдэнд харагдах болно. Төлөв байдлын шилжилтийг үл ойлгогдохуйц, бидний алсын хараанд илүү ойлгомжтой болгох бас нэг чухал зүйл бол моторын хурдыг 1000 эрг / мин хүртэл нэмэгдүүлэх бөгөөд мужуудын цаг хугацааг микросекундын дарааллаар тохируулах бөгөөд ингэснээр мессежийг хялбархан харж болно. Та моторын хурдыг мессеж эсвэл анимацийн хурдтай хэрхэн синхрончлох вэ гэж өөрөөсөө асууж магадгүй юм. Үүнийг хэд хэдэн энгийн томъёогоор хийдэг. Хэрэв та 1000 эрг / мин хурдтай бол тогтмол гүйдлийн мотор нэг эргэлтэнд хэдэн секунд зарцуулагддагийг мэдэхийн тулд:

Давтамж = 1000 RPM / 60 = 16.67 Гц Period = 1 / 16.67 Гц = 59.99 ms

Хугацааг мэдэж авснаар та мотор эргэхэд хэр удаан хугацаа шаардагдахыг мэдэх болно. Хэрэв та "Hello World" гэх мэт мессежийг хэвлэхийг хүсч байгаа бол эргэлт бүрийн хугацааг мэдсэний дараа дэлгэцэн дээр зурвас хэр том байхыг хүсч байгаа нь л чухал юм. Хүссэн мессежийг хүссэн хэмжээгээр хэвлэхийн тулд дараах дүрмийг дагана уу.

Жишээлбэл, хэрэв та зурвас нь дэлгэцийн талбайн 40 % -ийг эзлэхийг хүсч байвал:

Зурвасын хэмжээ = (Хугацаа * 40 %) / 100 % = (59.99 мс * 40 %) / 100 % = 24 мс

Энэ нь мессежийг эргэлт бүрт 24 мс -ээр харуулах болно гэсэн үг бөгөөд ингэснээр хоосон зай эсвэл үлдсэн зайг ээлжлэн (хэрэв та зурвасын дараа ямар нэгэн зүйл харуулахгүй бол) дараах байдлаар байх ёстой.

Хоосон зай = Хугацаа - Зурвасын хэмжээ = 59.99 ms - 24 ms = 35.99 ms

Эцэст нь хэлэхэд, хэрэв та тухайн хугацааны 40% -д мессежийг харуулах шаардлагатай бол хүлээгдэж буй мессежийг бичихийн тулд хэдэн төлөв, шилжүүлгийг хийх шаардлагатайг мэдэх шаардлагатай, жишээлбэл, хэрэв захидал хорин (20) дамжуулалттай бол:

Нэг мужийн хугацаа = Зурвасын хэмжээ / 20 = 24 мс / 20 = 1.2 мс.

Тиймээс муж бүр мессежийг зөв харуулахын тулд 1.2 ms үргэлжлэх ёстой. Мэдээжийн хэрэг, анхны загваруудын ихэнх нь төгс биш гэдгийг та анзаарах болно, тиймээс дизайныг сайжруулахын тулд физик туршилтын явцад зарим параметрүүдийг өөрчилж магадгүй юм. Бид төлөвт шилжих ажлыг хөнгөвчлөхийн тулд Dynamic Memory (DM) Macrocells -ийг ашигласан. DM -ийн дөрвөн блокийн хоёр нь матрицын холболттой бөгөөд ингэснээр тэд бичил уурхайн дэд системээс гадуурх блокуудтай харьцах боломжтой болно. DM Macrocell тус бүр өөр өөр мужид ашиглах боломжтой 6 хүртэлх өөр тохируулгатай байж болно. Энэхүү загварт DM блокуудыг ашигладаг бөгөөд бичил биетийг нэг төлөвөөс нөгөөд шилжүүлэхэд түлхэц болдог. Жишээлбэл, Силего [3] төлөвийг шилжилтийн үед хоёр удаа давтана; Үүнтэй ижил хэв маяг бүхий "I" гэсэн том үсгийн эхлэл ба төгсгөлийг бичих шаардлагатай боловч эхлээд "I" гэсэн том үсгийн дунд хэв маягийг бичихийн тулд Силего [4] руу очиж, дараа нь Силего байх ёстой. [3] нь хоёр дахь удаагаа хийгдэж байгаа тул үлдсэн шилжилтийг үргэлжлүүлэхийн тулд Мессежгүй төлөв рүү очих шаардлагатай байна. Силего [3] -ыг Силего [4] ашиглан хязгааргүй хүрдэнд орохоос хэрхэн сэргийлэх боломжтой вэ? Энэ нь маш энгийн, SR Flip Flops хэлбэрээр тохируулагдсан зарим LUT -ууд байдаг бөгөөд энэ нь Силего [3] -д Силего [4] -г дахин дахин сонгохгүй байхыг, харин хоёр дахь удаагаа Мессежгүй байдлыг сонгохыг хэлдэг. Аль ч төлөв давтагдах үед хязгааргүй гогцооноос сэргийлэхийн тулд SR Flip Flop ашиглах нь энэ асуудлыг шийдэх хамгийн сайн арга бөгөөд зөвхөн 3-битийн LUT-ийг Зураг 4, Зураг 5-т үзүүлсэн шиг тохируулах шаардлагатай. бичил уурхайн гаралт нь Силего [3] -ыг Силего [4] руу шилжүүлэхэд хүргэдэг тул дараагийн удаа төрийн машин Силего [3] -ыг ажиллуулахад процессыг үргэлжлүүлэхийн тулд Мессежгүй төлөвийг сонгох тухай мэдэгдэх болно.

Энэхүү төсөлд тус болсон өөр нэг бичил уурхайн блок бол F (1) Computational Macrocell юм. F (1) нь хүссэн өгөгдлийг унших, хадгалах, боловсруулах, гаргах тусгай командуудын жагсаалтыг гаргаж чаддаг. Энэ нь нэг удаад 1 битийг удирдах чадвартай. Энэ төсөлд F (1) блокыг зарим LUT -ийг хянах, төлөвийг идэвхжүүлэхийн тулд битүүдийг унших, хойшлуулах, гаргахад ашигладаг байсан (жишээ нь Силего [1] -д Силегог идэвхжүүлэхийн тулд [2]).

Зураг 1 дээрх хүснэгтэд LED тус бүрийг GreenPAK -ийн GPO тээглүүр рүү хэрхэн яаж тусгасан болохыг тайлбарласан болно. Холбогдох физик тээглүүрийг хүснэгт 2 -т харуулсны дагуу матриц дахь ASM гаралтын RAM -аас авч үзнэ.

2 -р хүснэгтээс харахад чипний зүү бүр нь өөр өөр бичил уурхайн гаралтанд зориулагдсан болно; ASMOUTPUT 1 нь OUT 4 -ээс бусад гадаад GPO -той шууд холбогдсон найман (8) гаралттай бөгөөд ASM OUTPUT 0 нь 4 (4) гаралттай бөгөөд OUT 0 ба OUT 1 нь PIN 4 ба PIN 16 -тай шууд холбогддог; OUT 2 нь Silego [5] ба Silego [9] төлөвт LUT5 ба LUT6 -ийг анхны байдалд нь оруулахын тулд ашигладаг бөгөөд эцэст нь OUT 3 -ийг Silego [4] ба Silego [7] дээр LUT6 -ийг тохируулахад ашигладаг. ASM nRESET -ийг энэ загварт оруулдаггүй тул VDD -тэй холбохын тулд түүнийг албадан ажиллуулах шаардлагатай болдог. "SILEGO" дэлгэц гарч байх үед нэмэлт анимац хийхийн тулд дээд ба доод LED -ийг нэмж оруулсан болно. Энэхүү хөдөлгөөнт дүрс нь моторын хөдөлгөөнөөр цаг хугацааны явцад эргэлдэж буй хэд хэдэн шугамыг хэлнэ. Эдгээр мөрүүд нь цагаан өнгийн LED, харин үсэг бичихэд хэрэглэгддэг шугамууд нь улаан өнгөтэй байна. Энэхүү анимацид хүрэхийн тулд бид GreenPAK -ийн PGEN болон CNT0 -ийг ашигласан. PGEN бол дараагийн битийг цагны ирмэг бүрт массив дээрээ гаргах загвар үүсгэгч юм. Бид моторын эргэх хугацааг 16 хэсэгт хуваасан бөгөөд үр дүнг CNT0 гаралтын хугацаанд тохируулсан болно. PGEN -д програмчлагдсан загварыг Зураг 6 -д үзүүлэв.

Алхам 3: Үр дүн

Үр дүн
Үр дүн

Загварыг туршихын тулд бид SLG46880 -ийн залгуурыг ПХБ -т тууз кабелиар холбосон. Хоёр гадаад самбарыг хэлхээнд холбосон бөгөөд тэдгээрийн нэг нь хүчдэлийн зохицуулагч, нөгөө нь LED массивыг агуулсан байв. Мессежийг үзүүлэх зорилгоор харуулахын тулд бид GreenPAK -ийн удирддаг логик хэлхээг асаагаад DC моторыг асаав. Зөв синхрончлохын тулд хурдыг тохируулах шаардлагатай байж магадгүй юм. Эцсийн үр дүнг Зураг 7 -д үзүүлэв. Энэхүү програмын тэмдэглэлтэй холбоотой видео бичлэг бас байна.

Энэхүү төсөлд танилцуулсан алсын харааны ойлголтыг Dialog GreenPAK SLG46880 ашиглан үндсэн хянагч болгон бүтээсэн болно. Загвар нь LED ашиглан "SILEGO" гэсэн үгийг бичиж хийдгийг харууллаа. Дизайныг сайжруулах боломжтой зарим сайжруулалтууд орно.

● Илүү урт мессеж эсвэл анимацийг хэвлэх боломжийг нэмэгдүүлэхийн тулд олон GreenPAK ашиглах.

● Массивт илүү олон LED оруулах. Ээрэх гарны массыг багасгахын тулд нүхний LED гэхээсээ илүү гадаргуу дээр суурилуулсан LED ашиглах нь тустай байж болох юм.

● Микроконтроллерийг оруулснаар GreenPAK дизайныг дахин тохируулахын тулд I2C командыг ашиглан харуулсан мессежийг өөрчлөх боломжтой болно. Үүнийг ашиглан цагийг үнэн зөв харуулахын тулд цифрүүдийг шинэчилдэг дижитал цагны дэлгэц үүсгэхэд ашиглаж болно

Зөвлөмж болгож буй: