সুচিপত্র:

FPGA সাইক্লোন IV ডিউপ্রোলজিক কন্ট্রোল রাস্পবেরি পাই ক্যামেরা: 5 টি ধাপ
FPGA সাইক্লোন IV ডিউপ্রোলজিক কন্ট্রোল রাস্পবেরি পাই ক্যামেরা: 5 টি ধাপ

ভিডিও: FPGA সাইক্লোন IV ডিউপ্রোলজিক কন্ট্রোল রাস্পবেরি পাই ক্যামেরা: 5 টি ধাপ

ভিডিও: FPGA সাইক্লোন IV ডিউপ্রোলজিক কন্ট্রোল রাস্পবেরি পাই ক্যামেরা: 5 টি ধাপ
ভিডিও: FPGA Cyclone IV Input Test 2024, নভেম্বর
Anonim
FPGA সাইক্লোন IV ডিউপ্রোলজিক রাস্পবেরি পাই ক্যামেরা নিয়ন্ত্রণ করে
FPGA সাইক্লোন IV ডিউপ্রোলজিক রাস্পবেরি পাই ক্যামেরা নিয়ন্ত্রণ করে

যদিও FPGA DueProLogic আনুষ্ঠানিকভাবে Arduino এর জন্য ডিজাইন করা হয়েছে, আমরা FPGA এবং Raspberry Pi 4B কে যোগাযোগযোগ্য করতে যাচ্ছি।

এই টিউটোরিয়ালে তিনটি কাজ বাস্তবায়িত হয়েছে:

(A) একই সাথে RPG ক্যামেরার কোণ উল্টাতে FPGA তে দুটি পুশ বোতাম টিপুন।

(B) রাস্পবেরি পাই 4B FPGA এর বহিরাগত LED সার্কিট নিয়ন্ত্রণ করে।

(C) ওয়াইফাই এর মাধ্যমে ব্রাউজারে রাস্পবেরি পাই ক্যামেরা লাইভ স্ট্রিম করুন

ধাপ 1: ইলেকট্রনিক সার্কিট তৈরি করুন

ধাপ 2: ভেরিলগ কোড সম্পাদনা করুন

ভেরিলগ কোড সম্পাদনা করুন
ভেরিলগ কোড সম্পাদনা করুন
ভেরিলগ কোড সম্পাদনা করুন
ভেরিলগ কোড সম্পাদনা করুন

যখন আপনি FPGA DueProLogic কিনবেন, তখন আপনার একটি DVD পাওয়া উচিত। আপনি "Projects_HDL" খোলার পর, আপনাকে মূল HDL কোড ফাইলটি দেখতে হবে। আপনি পিন প্ল্যানার সেট আপ করার পরে, বিভাগ 2A, 2B, 2C এবং 2D এ দেখানো হাইলাইট কোড যোগ করুন।

2A: পুশ বোতাম সক্রিয় করতে, আপনাকে এই কোডটি ব্যবহার করতে হবে

// পুশ বোতাম সুইচ

ইনপুট তারের UBA,

ইনপুট তারের UBB

রাস্পবেরি পাইয়ের সাথে যোগাযোগ করার জন্য, আপনাকে এগুলি যুক্ত করতে হবে।

reg sel_send; // রাস্পবেরি পাই সক্রিয় করুন

reg গ্রহণ; // রাস্পবেরি পাই থেকে প্রাপ্ত

2B: পোর্টগুলিতে মান নির্ধারণ করতে, আপনাকে সেই অনুযায়ী কোড সম্পাদনা করতে হবে

XIO_1 [3] = start_stop_cntrl বরাদ্দ করুন;

বরাদ্দ XIO_2 [2] = rece; // LED সার্কিটে উচ্চ বা নিম্ন আউটপুট

নিযুক্ত করুন 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 রাস্পবেরি পাইতে উচ্চ আউটপুট পাঠায়।

সর্বদা @(সেল_সেন্ড বা ইউবিবি বা ইউবিএ) // আরপিআই -তে পাঠান

শুরু

যদি (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

অন্য

sel_send = 1'b0;

শেষ

2 ডি: FPGA রাস্পবেরি পাই থেকে 66MHz ঘড়ির ফ্রিকোয়েন্সি সহ সংকেত পড়ে। পোর্ট XIO_2 [2] 'rece' এর সাথে যুক্ত।

সর্বদা @(সেল_রিড) // পড়ুন পাই

শুরু

যদি (sel_read == 1'b1)

rece = 1'b0;

অন্য

rece = 1'b1;

শেষ

ধাপ 3: ভেরিলগ কোড আপলোড করুন

ভেরিলগ কোড আপলোড করুন
ভেরিলগ কোড আপলোড করুন

তারপর FPGA তে সংকলিত pof ফাইল আপলোড করুন। যদি কোন হার্ডওয়্যার স্বয়ংক্রিয়ভাবে সনাক্ত না হয়, তবে এটিকে ম্যানুয়ালি সংশোধন করতে "হার্ডওয়্যার সেটআপ" ক্লিক করুন

ধাপ 4: রাস্পবেরি পাই কোড আপলোড করুন।

হাইলাইট করা লাইনগুলি FPGA কে রাস্পবেরি পাই এর সাথে যোগাযোগ করতে দেয়।

এই প্রকল্পের জন্য সম্পূর্ণ রাস্পবেরি পাই কোড,

A = GPIO.input (pin) #read 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: আসুন এটি চেষ্টা করি

Image
Image

আপনার ব্রাউজার খুলুন এবং আপনার আইপি ঠিকানা লিখুন যেমন 192.168.xx.xxx:8000।

সর্বোপরি, সিস্টেমটি কাজ করা উচিত!

প্রস্তাবিত: