Mundarija:

Ko'zgu ko'rinishi: 8 qadam
Ko'zgu ko'rinishi: 8 qadam

Video: Ko'zgu ko'rinishi: 8 qadam

Video: Ko'zgu ko'rinishi: 8 qadam
Video: Номозни масхара килган шайтон жазосини олди 🙀 2024, Noyabr
Anonim
Oynali displey
Oynali displey
Oynali displey
Oynali displey
Oynali displey
Oynali displey

Loyihaning maqsadi Smart Mirror tasvirini ko'rsatish funksiyasini yaratishdir. Oyna prognozlarni (quyoshli, qisman quyoshli, bulutli, shamolli, yomg'ir, momaqaldiroq va qor) va -9999 ° dan 9999 ° gacha bo'lgan harorat ko'rsatkichlarini aks ettirishi mumkin. Prognoz va harorat qiymatlari ularni ob -havo API -sidan ajratish kabi taqqoslaganda qattiq kodlangan.

Loyihada FreeRTOS bilan ishlaydigan Zynq-Zybo-7000 taxtasi ishlatiladi va uskunani loyihalash va dasturlash uchun Vivado 2018.2 ishlatiladi.

Qismlar:

Zynq-Zybo-7000 (FreeRTOS bilan)

19 dyuymli LCD (640x480)

VGA kabeli

12 "x 18" akril oynasi

1 -qadam: Vivadoni sozlash

Vivadoni sozlash
Vivadoni sozlash
Vivadoni sozlash
Vivadoni sozlash

Xilinx -dan Vivado 2018.2 -ni yuklab oling va Webpack litsenziyasidan foydalaning. Vivado va "Yangi loyiha yaratish" ni ishga tushiring va unga nom bering. Keyin "RTL loyihasi" ni tanlang va "Hozircha manbalarni ko'rsatmang" bandini belgilang. Qismni tanlashda "xc7z010clg400-1" -ni tanlang va keyingi sahifadagi "Finish" tugmasini bosing.

2 -qadam: VGA drayveri IP -ni qadoqlash

VGA haydovchi IP -ni qadoqlash
VGA haydovchi IP -ni qadoqlash
VGA haydovchi IP -ni qadoqlash
VGA haydovchi IP -ni qadoqlash

Vga_driver.sv faylini Dizayn manbalariga qo'shing. Keyin "Asboblar" ni bosing va "Yangi IP yaratish va paketlash" -ni tanlang. "Joriy loyihangizni to'plash" -ni tanlang. Keyin IP manzilini tanlang va ".xci fayllarini qo'shing". Ochilgan oynada "OK" ni bosing va keyin "Finish" ni bosing.

"Qadoqlash bosqichlari" bo'limida "Ko'rib chiqish va paketlash" bo'limiga o'ting va "Paket IP -ni" tanlang.

Endi vga_driver IP -blok sifatida mavjud bo'lishi kerak.

3 -qadam: Zynq IP

Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP

"IP -integrator" bo'limida "Blok dizaynini yaratish" -ni tanlang. "ZYNQ7 ishlov berish tizimi" ni qo'shing va blokni ikki marta bosing. "XPS sozlamalarini import qilish" ni bosing va ZYBO_zynq_def.xml faylini yuklang.

Keyin, "PS-PL konfiguratsiyasi" ostida "AXI xavfsiz bo'lmagan yoqish" ochiladigan ro'yxatini oching va "M AXI GP0 interfeysi" ni tekshiring.

Keyin, "MIO konfiguratsiyasi" ostida "Ilova protsessor birligi" ochiladigan ro'yxatini oching va "Taymer 0" va "qo'riqchi" ni tekshiring.

Va nihoyat, "Soat konfiguratsiyasi" ostida "PL mato soatlari" ochiladigan ro'yxatini oching va "FCLK_CLK0" va 100 MGts da tekshiring.

4 -qadam: GPIO IP

GPIO IP
GPIO IP
GPIO IP
GPIO IP

Blok dizayniga ikkita GPIO blokini qo'shing. GPIO -lar piksel manzili va piksellarning RGB komponentlarini boshqarish uchun ishlatiladi. Yuqoridagi rasmlarda ko'rsatilgandek bloklarni sozlang. Ikkala blokni qo'shgandan va sozlaganingizdan so'ng, "Ulanish avtomatizatsiyasini ishga tushirish" tugmasini bosing.

GPIO 0 - 1 -kanal piksel manzilini, 2 -kanal qizil rangni boshqaradi.

GPIO 1 - 1 -kanal yashil rangni, 2 -kanal esa ko'k rangni boshqaradi.

5 -qadam: Xotirani blokirovka qilish

Xotirani blokirovka qilish
Xotirani blokirovka qilish
Xotirani blokirovka qilish
Xotirani blokirovka qilish
Xotirani blokirovka qilish
Xotirani blokirovka qilish

Blok dizayniga blokli xotira generatori IP -ni qo'shing va yuqorida ko'rsatilgan tarzda sozlang. Piksel ranglari xotira manzillariga yoziladi, ularni VGA drayveri o'qiydi. Manzil chizig'i ishlatilayotgan piksellar soniga mos kelishi kerak, shuning uchun 16 bit bo'lishi kerak. Ma'lumotlar ham 16 bit, chunki 16 rangli bit mavjud. Tasdiq bitlarini o'qish bizni qiziqtirmaydi.

6 -qadam: Boshqa IP

Qo'shilgan pdf -da tugallangan bloklar dizayni ko'rsatilgan. Yo'qolgan IP -ni qo'shing va ulanishlarni yakunlang. Shuningdek, VGA rangli chiqishlari va vertikal va gorizontal sinxronlash chiqishlari uchun "Tashqi ko'rinishlarni yaratish".

xlconcat_0 - individual ranglarni birlashtiradi va 16 bitli RGB signalini hosil qiladi, bu esa blokli operativ xotiraga yuboriladi.

xlconcat_1 - VGA drayverining ustun va satr signallarini birlashtiradi va blokli RAMning B portiga uzatiladi. Bu VGA drayveriga piksel rang qiymatlarini o'qish imkonini beradi.

VDD - Doimiy HIGH blokli operativ xotira yozish imkoniyatiga ulangan, shuning uchun biz har doim to'g'ri bo'lishimiz mumkin.

xlslice_0, 1, 2 - bo'laklar RGB signalini VGA drayveriga berilishi mumkin bo'lgan individual R, G va B signallarga ajratish uchun ishlatiladi.

Blok dizayni tugagandan so'ng, HDL o'rash moslamasini yarating va cheklovlar faylini qo'shing.

*Bloklar dizayni benlin1994 tomonidan yozilgan darslikka asoslangan*

7 -qadam: SDK

Blok dizaynini ishlatadigan kod quyida keltirilgan. Init.c rasm chizish funktsiyalari (prognozlar, sonlar, daraja belgisi va boshqalar) ni o'z ichiga oladi. Main.c -dagi asosiy pastadir - bu dasturlashtirilgan dastur. Bu tsikl prognoz va harorat qiymatlarini o'rnatadi va keyin init.c. da chizish funktsiyalarini chaqiradi. Hozirda u barcha ettita prognozni ko'rib chiqadi va birin -ketin ko'rsatadi. Har bir tasvirni ko'rish uchun 239 -qatorga uzilish nuqtasini qo'shish tavsiya etiladi. Kod sharhlangan va sizga qo'shimcha ma'lumot beradi.

8 -qadam: Xulosa

Joriy loyihani takomillashtirish uchun oldindan yuklangan prognozli tasvirlarni COE fayllari ko'rinishida xotira generatorlarini blokirovka qilish mumkin. Shunday qilib, biz C kodidagi kabi bashoratlarni qo'lda chizish o'rniga, rasmlarni o'qish mumkin edi. Biz buni qilishga urindik, lekin uni ishlay olmadik. Biz piksel qiymatlarini o'qiy oldik va ularni chiqara oldik, lekin u RAMga yuklaganimizga o'xshamaydigan tartibsiz tasvirlarni yaratdi. Blokli xotira generatori ma'lumotlar jadvalini o'qish foydalidir.

Loyihaning deyarli yarmi Smart Mirror hisoblanadi, chunki u Internetga ulanish xususiyatidan mahrum. Bunga qo'shilsa, to'liq aqlli oyna paydo bo'ladi.

Tavsiya: