Mundarija:
- 1 -qadam: Elektron sxemani yarating
- 2 -qadam: Verilog kodini tahrirlang
- 3 -qadam: Verilog kodini yuklang
- 4 -qadam: Raspberry Pi kodini yuklang
- 5 -qadam: Keling, sinab ko'ramiz
Video: FPGA siklon IV DueProLogic Raspberry Pi kamerasini boshqaradi: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
FPGA DueProLogic rasman Arduino uchun ishlab chiqilganiga qaramay, biz FPGA va Raspberry Pi 4B ni muloqotga aylantirmoqchimiz.
Bu darslikda uchta vazifa bajarilgan:
(A) RPi kamerasining burchagini o'zgartirish uchun bir vaqtning o'zida FPGA -dagi ikkita tugmani bosing.
(B) Raspberry Pi 4B FPGA tashqi LED sxemasini boshqaradi.
(C) WiFi orqali brauzerda Raspberry Pi kamerasini jonli efirga uzatish
1 -qadam: Elektron sxemani yarating
2 -qadam: Verilog kodini tahrirlang
FPGA DueProLogic -ni sotib olganingizda, sizga DVD kerak. "Projects_HDL" ni ochganingizdan so'ng, siz asl HDL kodli faylni ko'rishingiz kerak. PIN -planerni o'rnatganingizdan so'ng, 2A, 2B, 2C va 2D bo'limlarida ko'rsatilganidek, ajratilgan kodni qo'shing.
2A: Tugmachalarni faollashtirish uchun siz ushbu kodni ishlatishingiz kerak
// Tugma tugmachalari
kirish sim UBA,
kirish sim UBB
Raspberry Pi bilan muloqot qilish uchun siz ularni qo'shishingiz kerak.
reg sel_send; // Raspberry pi -ni faollashtiring
reg qabul qilish; // malina pi dan olingan
2B: Portlarga qiymatlarni belgilash uchun siz kodni mos ravishda tahrir qilishingiz kerak
tayinlash XIO_1 [3] = start_stop_cntrl;
tayinlash XIO_2 [2] = qabul qilish; // LED zanjirida HIGH yoki LOW chiqish
tayinlash XIO_2 [3] = ~ UBA; // tugmani bosing
tayinlash XIO_2 [4] = UBB; // tugmachani bosing
tayinlash XIO_2 [5] = sel_send; // FPGA malina pi ga signal yuboradi
belgilash sel_read = XIO_5 [1]; // FPGA malina pi dan signal oladi
tayinlash c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17
LEDExt = XIO_5 [5] ni belgilang;
2C: Agar bir vaqtning o'zida ikkita tugma bosilsa, FPGA Raspberry Pi -ga yuqori chiqishni yuboradi.
har doim @(sel_send yoki UBB yoki UBA) // RPi ga yuboring
boshlash
agar (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
boshqa
sel_send = 1'b0;
oxiri
2D: FPGA Raspberry Pi signalini 66 MGts chastotali o'qiydi. XIO_2 [2] porti "qabul" ga ulangan.
har doim @(sel_read) // pi ni o'qing
boshlash
agar (sel_read == 1'b1)
qabul = 1'b0;
boshqa
qabul = 1'b1;
oxiri
3 -qadam: Verilog kodini yuklang
Keyin tuzilgan pof faylini FPGA -ga yuklang. Agar hech qanday apparat avtomatik ravishda aniqlanmasa, uni qo'lda tuzatish uchun "Uskuna sozlamalari" ni bosing
4 -qadam: Raspberry Pi kodini yuklang
Ajratilgan chiziqlar FPGA -ga Raspberry Pi bilan aloqa o'rnatishga imkon beradi.
Ushbu loyihaning to'liq Raspberry Pi kodi,
A = GPIO.input (pin) #read FPGAprint (A);
agar (A == 1):
kamera. aylanish = 0
GPIO.output (18, GPIO. LOW) #FPGA -ga yuborish
agar (A == 0):
kamera.rats = 180
GPIO.output (18, GPIO. HIGH) #FPGA -ga yuborish
5 -qadam: Keling, sinab ko'ramiz
Brauzerni oching va IP manzilingizni kiriting, masalan. 192.168.xx.xxx:8000.
Axir, tizim ishlashi kerak!
Tavsiya:
FPGA siklon IV DueProLogic - tugma va LED: 5 qadam
FPGA IV sikloni DueProLogic - tugma va LED: Ushbu qo'llanmada biz tashqi LED sxemasini boshqarish uchun FPGA -dan foydalanamiz. Biz quyidagi vazifalarni amalga oshirmoqchimiz (A) LEDni boshqarish uchun FPGA sikloni IV DuePrologic tugmalaridan foydalaning. (B) Fleshli LEDni yoqish & vaqti -vaqti bilan video demo laboratoriyasi o'chiriladi
FPGA siklon IV DueProLogic boshqaruv dvigatellari: 4 qadam
FPGA siklon IV DueProLogic boshqaruv dvigatellari: Ushbu qo'llanmada biz servo dvigatelni boshqarish uchun Verilog kodini yozamiz. Servo SG-90 Waveshare tomonidan ishlab chiqarilgan. Servo dvigatelni sotib olayotganda, siz ishchi kuchlanishni, maksimal momentni va taklif qilingan Pu ni ko'rsatadigan ma'lumotlar jadvalini olishingiz mumkin
LEGO roboti labirintni boshqaradi: 9 qadam
LEGO roboti labirint orqali harakat qiladi: bu oddiy, avtonom robot bo'lib, labirint orqali chiqish joyiga olib chiqiladi. U LEGO Mindstorms EV3 yordamida qurilgan. EV3 dasturiy ta'minoti kompyuterda ishlaydi va dastur ishlab chiqaradi, keyinchalik u EV3 Brick nomli mikrokontrollerga yuklanadi. P
Qo'llanma: Arduino TCA9548A I2C Multiplexer yordamida bir xil manzilli qurilmalarni qanday boshqaradi: 3 qadam
Qo'llanma: Arduino TCA9548A I2C Multiplexer yordamida bir xil manzilli qurilmalarni qanday boshqaradi: Tavsif: TCA9548A I2C Multiplexer moduli bir xil I2C manzili (8 ta I2C manziliga qadar) bir mikrokontrollerga ulangan qurilmalarni ulash imkonini beradi. Multiplexer darvozabon vazifasini bajaradi, buyruqlarni tanlangan to'plamga o'tkazadi
Arduino pleyerni birlikda boshqaradi: 7 qadam
Birlikdagi Arduino pleyerini boshqaradi: Arduino -da, Unity -da sensorli displey bilan bir qatorda, o'yinchi ham o'ynadi. "Bu kislorod" loyihasining boshidanoq, bu juda qiyin. Vay varde voy vay