
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04

Несмотря на то, что FPGA DueProLogic официально разработана для Arduino, мы собираемся сделать FPGA и Raspberry Pi 4B совместимыми.
В этом руководстве реализованы три задачи:
(A) Одновременно нажмите две кнопки на FPGA, чтобы изменить угол обзора камеры RPi.
(B) Raspberry Pi 4B управляет внешней светодиодной схемой FPGA.
(C) Прямая трансляция с камеры Raspberry Pi в браузере через Wi-Fi
Шаг 1: Создайте электронную схему
Шаг 2: отредактируйте код Verilog


При покупке FPGA DueProLogic вы получите DVD. После открытия «Projects_HDL» вы должны увидеть исходный файл кода HDL. После настройки планировщика контактов добавьте выделенный код, как показано в разделах 2A, 2B, 2C и 2D.
2A: Чтобы активировать кнопки, вы должны использовать этот код
// Кнопочные переключатели
входной провод UBA,
входной провод УББ
Чтобы общаться с Raspberry Pi, вам нужно добавить их.
reg sel_send; // активируем Raspberry pi
reg rec; // получено от raspberry pi
2B: Чтобы присвоить значения портам, вы должны соответствующим образом отредактировать код
назначить XIO_1 [3] = start_stop_cntrl;
назначить XIO_2 [2] = получатель; // вывод HIGH или LOW в цепи светодиода
назначить XIO_2 [3] = ~ UBA; //нажать кнопку
присвоить XIO_2 [4] = UBB; //нажать кнопку
назначить XIO_2 [5] = sel_send; // FPGA отправляет сигнал на raspberry pi
назначить sel_read = XIO_5 [1]; // ПЛИС получает сигнал от raspberry pi
назначить c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17
назначить LEDExt = XIO_5 [5];
2C: При одновременном нажатии двух кнопок ПЛИС отправляет ВЫСОКИЙ выход на Raspberry Pi.
always @ (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] связан с «приемом».
always @ (sel_read) // читаем пи
начинать
если (sel_read == 1'b1)
rec = 1'b0;
еще
rec = 1'b1;
конец
Шаг 3. Загрузите код Verilog

Затем загрузите скомпилированный файл pof в FPGA. Если оборудование не определяется автоматически, нажмите «Настройка оборудования», чтобы исправить это вручную.
Шаг 4: Загрузите код Raspberry Pi
Выделенные строки позволяют FPGA обмениваться данными с Raspberry Pi.
Полный код Raspberry Pi для этого проекта,
A = GPIO.input (pin) # читать FPGAprint (A);
если (A == 1):
camera.rotation = 0
GPIO.output (18, GPIO. LOW) # отправить на FPGA
если (A == 0):
camera.rotation = 180
GPIO.output (18, GPIO. HIGH) # отправить в FPGA
Шаг 5: Давайте попробуем


Откройте браузер и введите свой IP-адрес, например 192.168.xx.xxx:8000.
Ведь система должна работать!
Рекомендуемые:
Arduino управляет скоростью и направлением двигателя постоянного тока с помощью потенциометра, OLED-дисплея и кнопок: 6 шагов

Arduino контролирует скорость и направление двигателя постоянного тока с помощью потенциометра, OLED-дисплея и кнопок: в этом руководстве мы узнаем, как использовать драйвер L298N DC MOTOR CONTROL и потенциометр для управления скоростью и направлением двигателя постоянного тока с помощью двух кнопок и отображения значения потенциометра. на OLED-дисплее. Посмотрите демонстрационное видео
FPGA Cyclone IV DueProLogic - кнопка и светодиод: 5 шагов

FPGA Cyclone IV DueProLogic - кнопка и светодиод: в этом руководстве мы собираемся использовать FPGA для управления внешней светодиодной схемой. Мы собираемся реализовать следующие задачи: (A) Используйте кнопки на FPGA Cyclone IV DuePrologic для управления светодиодом. (B) Светодиод мигает & периодически выключаетсяДемонстрационная видео-лаборатория
FPGA Cyclone IV DueProLogic Controls Servo Motor: 4 шага

FPGA Cyclone IV DueProLogic управляет серводвигателем: в этом руководстве мы собираемся написать код Verilog для управления серводвигателем. Сервопривод SG-90 производится Waveshare. При покупке серводвигателя вы можете получить техническое описание, в котором указаны рабочее напряжение, максимальный крутящий момент и предлагаемый Pu
Arduino управляет плеером в Unity: 7 шагов

Arduino управляет проигрывателем в Unity: познакомился с проектом, который был реализован в Unity, с сенсорным экраном на Arduino. Ook is er een waarde die na een tijdje steeds minder word, в проекте mijn heet deze waarde "кислород". Hoe lager deze waarde wo
Начало работы с камерой Raspberry Pi: 6 шагов

Начало работы с камерой Raspberry Pi: краткий обзор Камера Raspberry Pi v2.1 оснащена 8-мегапиксельным датчиком изображения Sony IMX219 и улучшенным фиксированным фокусом. Он совместим со всеми моделями Raspberry Pi. Он также поддерживает статические изображения 3280 x 2464 пикселей, а также поддерживает 1080p30