Мазмуну:

FPGA циклону IV DueProLogic Controls Raspberry Pi Камерасы: 5 кадам
FPGA циклону IV DueProLogic Controls Raspberry Pi Камерасы: 5 кадам

Video: FPGA циклону IV DueProLogic Controls Raspberry Pi Камерасы: 5 кадам

Video: FPGA циклону IV DueProLogic Controls Raspberry Pi Камерасы: 5 кадам
Video: Учебное пособие по ПЛИС | Схема проектирования FPGA. Часть 1. Блоки питания, конфигурации, синхронизации 2024, Ноябрь
Anonim
FPGA циклону IV DueProLogic Raspberry Pi камерасын көзөмөлдөйт
FPGA циклону IV DueProLogic Raspberry Pi камерасын көзөмөлдөйт

FPGA DueProLogic расмий түрдө Arduino үчүн иштелип чыкканына карабай, биз FPGA менен Raspberry Pi 4Bди жандуу кылабыз.

Бул үйрөткүчтө үч тапшырма аткарылган:

(A) RPi камерасынын бурчун которуш үчүн бир эле учурда FPGAдагы эки баскычты басыңыз.

(B) Raspberry Pi 4B FPGAнын тышкы LED схемасын көзөмөлдөйт.

(C) WiFi аркылуу браузерде Raspberry Pi камерасын түз агылтуу

1 -кадам: Электрондук схеманы куруу

2 -кадам: Verilog кодун түзөтүү

Verilog кодун түзөтүү
Verilog кодун түзөтүү
Verilog кодун түзөтүү
Verilog кодун түзөтүү

Сиз FPGA DueProLogicти сатып алганда, сиз DVDди алышыңыз керек. "Projects_HDL" ачкандан кийин, сиз HDL кодунун түпнускасын көрүшүңүз керек. Пин пландоону орноткондон кийин, 2A, 2B, 2C жана 2D бөлүмүндө көрсөтүлгөндөй, баса белгиленген кодду кошуңуз.

2A: Баскычтарды иштетүү үчүн бул кодду колдонуу керек

// Баскыч баскычтары

киргизүү зымы UBA,

киргизүү зымы UBB

Raspberry Pi менен байланышуу үчүн, буларды кошуу керек.

reg sel_send; // Raspberry pi активдештирүү

reg take; // малина пи алынган

2B: Портторго баалуулуктарды дайындоо үчүн, кодду ошого жараша түзөтүшүңүз керек

дайындоо XIO_1 [3] = start_stop_cntrl;

дайындоо XIO_2 [2] = алуу; // чыгуу LED схемасында HIGH же LOW

дайындоо XIO_2 [3] = ~ UBA; // баскычын басыңыз

дайындоо XIO_2 [4] = UBB; // баскычын басыңыз

дайындоо XIO_2 [5] = sel_send; // FPGA малина пи үчүн сигнал жөнөтөт

дайындоо sel_read = XIO_5 [1]; // FPGA малина пи сигналын алат

дайындоо c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17

дайындоо LEDExt = XIO_5 [5];

2C: Эгерде эки баскыч бир убакта басылса, FPGA Raspberry Piге жогорку чыгарууну жөнөтөт.

дайыма @(sel_send же UBB же UBA) // RPiге жөнөтүү

баштоо

эгер (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

башка

sel_send = 1'b0;

аяктоо

2D: FPGA Raspberry Pi сигналын 66 МГц жыштыгында окуйт. XIO_2 [2] порту'ece 'менен байланыштырылган.

дайыма @(sel_read) // пи окуу

баштоо

эгер (sel_read == 1'b1)

алуу = 1'b0;

башка

алуу = 1'b1;

аяктоо

3 -кадам: Verilog кодун жүктөө

Verilog кодун жүктөө
Verilog кодун жүктөө

Андан кийин түзүлгөн pof файлын FPGAга жүктөңүз. Эгерде эч кандай жабдык автоматтык түрдө аныкталбаса, аны кол менен оңдоо үчүн "Аппараттык орнотууну" чыкылдатыңыз

4 -кадам: Raspberry Pi кодун жүктөө

Бөлүнгөн сызыктар FPGAга Raspberry Pi менен байланышууга мүмкүнчүлүк берет.

Бул долбоордун толук Raspberry Pi коду,

A = GPIO.input (pin) #read FPGAprint (A);

эгер (A == 1):

camera.rotation = 0

GPIO.output (18, GPIO. LOW) #FPGAга жөнөтүү

эгер (A == 0):

камера.ото = 180

GPIO.output (18, GPIO. HIGH) #FPGAга жөнөтүү

5 -кадам: Кел, аракет кылып көрөлү

Image
Image

Браузериңизди ачыңыз жана IP дарегиңизди териңиз, мис. 192.168.xx.xxx:8000.

Анткени, система иштеши керек!

Сунушталууда: