Isi kandungan:
- Langkah 1: Mengkonfigurasi Vivado
- Langkah 2: Pembungkusan IP Pemacu VGA
- Langkah 3: IP Zynq
- Langkah 4: IP GPIO
- Langkah 5: Blok Memori
- Langkah 6: IP lain
- Langkah 7: SDK
- Langkah 8: Kesimpulannya
Video: Paparan Cermin: 8 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Matlamat projek ini adalah untuk membuat fungsi paparan gambar Cermin Cerdas. Cermin mampu menampilkan ramalan (cerah, sebagian cerah, berawan, berangin, hujan, guruh, dan salji) dan nilai suhu dari -9999 ° hingga 9999 °. Nilai ramalan dan suhu dikodkan keras seolah-olah meniru mereka diuraikan dari API cuaca.
Projek ini menggunakan papan Zynq-Zybo-7000 yang menjalankan FreeRTOS dan menggunakan Vivado 2018.2 untuk merancang dan memprogram perkakasan.
Bahagian:
Zynq-Zybo-7000 (dengan FreeRTOS)
LCD 19 (640x480)
Kabel VGA
Cermin akrilik 12 "x 18"
Langkah 1: Mengkonfigurasi Vivado
Muat turun Vivado 2018.2 dari Xilinx dan gunakan lesen Webpack. Lancarkan Vivado dan "Buat Projek Baru" dan beri nama. Selanjutnya pilih "Projek RTL" dan tandakan "Jangan tentukan sumber pada masa ini." Semasa memilih bahagian, pilih "xc7z010clg400-1" dan tekan "Selesai" di halaman seterusnya.
Langkah 2: Pembungkusan IP Pemacu VGA
Tambahkan fail vga_driver.sv ke Sumber Reka Bentuk. Seterusnya, klik "Alat" dan pilih "Buat dan Pakej IP Baru." Pilih "Pakej projek semasa anda." Kemudian pilih lokasi IP dan "Sertakan fail.xci." Klik "OK" pada pop timbul dan kemudian "Selesai."
Pada "Langkah Pembungkusan" pergi ke "Ulasan dan Pakej" dan pilih "IP Paket."
Sekarang vga_driver harus tersedia sebagai blok IP.
Langkah 3: IP Zynq
Di bawah bahagian "Integrator IP", pilih "Buat Reka Bentuk Blok." Tambah "Sistem Pemprosesan ZYNQ7" dan klik dua kali blok. Klik "Import Tetapan XPS" dan muat naik fail ZYBO_zynq_def.xml.
Seterusnya, di bawah "PS-PL Configuration" buka dropdown untuk "AXI Non Secure Enablement" dan periksa "M AXI GP0 interface."
Seterusnya, di bawah "MIO Configuration" buka dropdown untuk "Application Processor Unit" dan tandakan "Timer 0" dan "Watchdog."
Terakhir, di bawah "Jam Konfigurasi" buka menu dropdown untuk "PL Fabric Clocks" dan periksa "FCLK_CLK0" dan pada 100 MHz.
Langkah 4: IP GPIO
Tambahkan dua blok GPIO ke Reka Bentuk Blok. GPIO akan digunakan untuk mengawal alamat piksel dan komponen RGB piksel. Konfigurasikan blok seperti yang ditunjukkan dalam gambar di atas. Sebaik sahaja anda menambah dan mengkonfigurasi kedua blok tersebut kemudian klik "Jalankan Automasi Sambungan."
GPIO 0 - Saluran 1 mengawal alamat piksel dan Saluran 2 mengawal warna merah.
GPIO 1 - Saluran 1 mengawal warna hijau dan Saluran 2 mengawal warna biru.
Langkah 5: Blok Memori
Tambahkan IP Generator Blokir ke Reka Bentuk Blok dan konfigurasikan seperti gambar di atas. Warna piksel ditulis ke alamat memori yang kemudian dibaca oleh pemacu VGA. Garis alamat harus sesuai dengan jumlah piksel yang digunakan sehingga perlu 16 bit. Data di dalamnya juga 16 bit kerana terdapat 16 bit warna. Kami tidak kisah membaca sedikit pun pengakuan.
Langkah 6: IP lain
Pdf yang dilampirkan menunjukkan Reka Bentuk Blok yang telah siap. Tambahkan IP yang hilang dan selesaikan sambungannya. Juga "Buat Eksternal" untuk output warna VGA dan output penyegerakan menegak dan mendatar.
xlconcat_0 - Gabungkan warna individu untuk membentuk satu isyarat RGB 16 bit yang dimasukkan ke dalam Blok RAM.
xlconcat_1 - Gabungkan isyarat lajur dan baris dari pemacu VGA dan dimasukkan ke Port B Blok RAM. Ini membolehkan pemacu VGA membaca nilai warna piksel.
VDD - Konstanta TINGGI yang disambungkan ke kemampuan menulis dari Blok RAM supaya kita sentiasa dapat melakukannya.
xlslice_0, 1, 2 - Potongan digunakan untuk memecahkan isyarat RGB menjadi isyarat R, G, dan B individu yang dapat dimasukkan ke dalam pemacu VGA.
Setelah Reka Bentuk Blok selesai, buat pembungkus HDL dan tambahkan fail kekangan.
* Reka Bentuk Blok berdasarkan tutorial yang ditulis oleh benlin1994 *
Langkah 7: SDK
Kod yang menjalankan Reka Bentuk Blok ini disertakan di bawah. Init.c mengandungi fungsi yang mengendalikan lukisan (ramalan, nombor, simbol darjah, dll.). Gelung utama di main.c adalah apa yang dijalankan semasa papan diprogramkan. Gelung ini menetapkan nilai ramalan dan suhu dan kemudian memanggil fungsi undian di init.c. Pada masa ini, ia merangkumi semua tujuh ramalan dan memaparkan satu demi satu. Sebaiknya anda menambah titik putus pada baris 239 sehingga anda dapat melihat setiap gambar. Kod tersebut dikomentari dan akan memberi anda lebih banyak maklumat.
Langkah 8: Kesimpulannya
Untuk memperbaiki projek semasa, seseorang dapat memuat naik gambar ramalan pramuat dalam bentuk fail COE ke Blok Penjana Memori. Oleh itu, daripada membuat ramalan secara manual seperti yang kita lakukan dalam kod C, gambar boleh dibaca. Kami cuba melakukan ini tetapi tidak dapat membuatnya berfungsi. Kami dapat membaca nilai piksel dan mengeluarkannya tetapi ia menghasilkan gambar yang tidak kemas seperti yang kami muat naik ke RAM. Lembar data Block Memory Generator berguna untuk dibaca.
Projek ini pada dasarnya merupakan Cermin Pintar kerana ia tidak mempunyai aspek penyambungan internet. Menambah ini akan memberikan Cermin Pintar yang lengkap.
Disyorkan:
Suhu Paparan Arduino pada Paparan LED TM1637: 7 Langkah
Suhu Paparan Arduino pada Paparan LED TM1637: Dalam tutorial ini kita akan belajar bagaimana menampilkan suhu menggunakan sensor LED Display TM1637 dan DHT11 dan Visuino. Tonton video
Waktu Paparan Arduino pada Paparan LED TM1637 Menggunakan RTC DS1307: 8 Langkah
Waktu Paparan Arduino pada Paparan LED TM1637 Menggunakan RTC DS1307: Dalam tutorial ini kita akan belajar bagaimana memaparkan waktu menggunakan modul RTC DS1307 dan Paparan LED TM1637 dan Visuino. Tonton video
Paparan LCD I2C / IIC - Gunakan LCD SPI ke Paparan LCD I2C Menggunakan Modul SPI hingga IIC Dengan Arduino: 5 Langkah
Paparan LCD I2C / IIC | Gunakan LCD SPI ke Paparan LCD I2C Menggunakan Modul SPI hingga IIC Dengan Arduino: Hai kawan kerana SPI LCD 1602 biasa mempunyai terlalu banyak wayar untuk disambungkan sehingga sangat sukar untuk menghubungkannya dengan arduino tetapi ada satu modul yang tersedia di pasaran yang boleh menukar paparan SPI menjadi paparan IIC jadi anda hanya perlu menyambungkan 4 wayar
Paparan LCD I2C / IIC - Tukarkan SPI LCD ke Paparan LCD I2C: 5 Langkah
Paparan LCD I2C / IIC | Tukar LCD SPI ke Paparan LCD I2C: menggunakan paparan spi lcd memerlukan terlalu banyak sambungan untuk dilakukan yang sangat sukar untuk dilakukan. Saya menjumpai modul yang dapat menukar lcd i2c ke lcd jadi mari kita mulakan
Regulator Voltan Breadboard Dengan Paparan / Paparan Regulador De Voltagem Com Para Placa De Ensaio: 8 Langkah
Breadboard Voltage Regulator With Display / Regulador De Voltagem Com Display Para Placa De Ensaio: Dapatkan komponen yang diperlukan yang terdapat dalam senarai yang dilampirkan (terdapat pautan untuk membeli atau melihat ciri-cirinya). Pautan os untuk poderem merangkumi ciri sebagai ciri