विषयसूची:

FPGA चक्रवात IV ड्यूप्रोलॉजिक रास्पबेरी पाई कैमरा को नियंत्रित करता है: 5 कदम
FPGA चक्रवात IV ड्यूप्रोलॉजिक रास्पबेरी पाई कैमरा को नियंत्रित करता है: 5 कदम

वीडियो: FPGA चक्रवात IV ड्यूप्रोलॉजिक रास्पबेरी पाई कैमरा को नियंत्रित करता है: 5 कदम

वीडियो: FPGA चक्रवात IV ड्यूप्रोलॉजिक रास्पबेरी पाई कैमरा को नियंत्रित करता है: 5 कदम
वीडियो: Прошивка FPGA Cyclone IV 2024, नवंबर
Anonim
FPGA चक्रवात IV ड्यूप्रोलॉजिक रास्पबेरी पाई कैमरा को नियंत्रित करता है
FPGA चक्रवात IV ड्यूप्रोलॉजिक रास्पबेरी पाई कैमरा को नियंत्रित करता है

FPGA के बावजूद DueProLogic को आधिकारिक तौर पर Arduino के लिए डिज़ाइन किया गया है, हम FPGA और रास्पबेरी पाई 4B को संचारी बनाने जा रहे हैं।

इस ट्यूटोरियल में तीन कार्य लागू किए गए हैं:

(ए) आरपीआई कैमरे के कोण को फ्लिप करने के लिए एक साथ एफपीजीए पर दो पुश बटन दबाएं।

(बी) रास्पबेरी पाई 4 बी एफपीजीए के बाहरी एलईडी सर्किट को नियंत्रित करता है।

(सी) वाईफाई के माध्यम से ब्राउज़र पर रास्पबेरी पाई कैमरा को लाइव स्ट्रीम करें

चरण 1: इलेक्ट्रॉनिक सर्किट बनाएँ

चरण 2: वेरिलोग कोड संपादित करें

वेरिलोग कोड संपादित करें
वेरिलोग कोड संपादित करें
वेरिलोग कोड संपादित करें
वेरिलोग कोड संपादित करें

जब आप FPGA DueProLogic खरीदते हैं, तो आपको एक DVD प्राप्त करनी चाहिए। "Projects_HDL" खोलने के बाद, आपको मूल HDL कोड फ़ाइल दिखनी चाहिए। पिन प्लानर सेट करने के बाद, हाइलाइट किया गया कोड जोड़ें जैसा कि सेक्शन 2ए, 2बी, 2सी और 2डी में दिखाया गया है।

2A: पुश बटन को सक्रिय करने के लिए, आपको इस कोड का उपयोग करना होगा

// पुश बटन स्विच

इनपुट तार यूबीए,

इनपुट वायर यूबीबी

रास्पबेरी पाई के साथ संवाद करने के लिए, आपको इन्हें जोड़ना होगा।

reg se_send; // रास्पबेरी पाई को सक्रिय करें

रेग रीस; // रास्पबेरी पाई से प्राप्त

2बी: बंदरगाहों को मान निर्दिष्ट करने के लिए, आपको तदनुसार कोड संपादित करना चाहिए

असाइन करें XIO_1[3] = start_stop_cntrl;

असाइन करें XIO_2[2] = प्राप्त करें; // एलईडी सर्किट में आउटपुट हाई या लो

असाइन करें 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 रास्पबेरी पाई को उच्च आउटपुट भेजता है।

हमेशा @(sel_send या UBB या UBA) // RPi को भेजें

शुरू

अगर (UBB == 1'b0 && UBA == 1'b0)

sel_send = 1'b1;

अन्यथा

sel_send = 1'b0;

समाप्त

2डी: एफपीजीए रास्पबेरी पाई से 66 मेगाहर्ट्ज की घड़ी आवृत्ति के साथ सिग्नल पढ़ता है। पोर्ट XIO_2[2] 'rece' से जुड़ा है।

हमेशा @(sel_read)//पढ़ें pi

शुरू

अगर (sel_read == 1'b1)

प्राप्त = 1'b0;

अन्यथा

प्राप्त = 1'बी1;

समाप्त

चरण 3: वेरिलोग कोड अपलोड करें

वेरिलोग कोड अपलोड करें
वेरिलोग कोड अपलोड करें

फिर संकलित पीओएफ फाइल को एफपीजीए में अपलोड करें। यदि स्वचालित रूप से कोई हार्डवेयर नहीं पाया जाता है, तो इसे मैन्युअल रूप से ठीक करने के लिए "हार्डवेयर सेटअप" पर क्लिक करें

चरण 4: रास्पबेरी पाई कोड अपलोड करें।

हाइलाइट की गई लाइनें FPGA को रास्पबेरी पाई के साथ संचार करने की अनुमति देती हैं।

इस परियोजना के लिए पूर्ण रास्पबेरी पाई कोड,

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

अगर (ए == 1):

कैमरा.रोटेशन = 0

GPIO.output(18, GPIO. LOW) #FPGA को भेजें

अगर (ए == 0):

कैमरा.रोटेशन = 180

GPIO.output(18, GPIO. HIGH) #FPGA को भेजें

चरण 5: आइए इसे आज़माएं

Image
Image

अपना ब्राउज़र खोलें और अपना आईपी पता टाइप करें उदा। 192.168.xx.xxx:8000।

आखिरकार, सिस्टम को काम करना चाहिए!

सिफारिश की: