منذ بعض الوقت ، ظهرت لوحة Raspberry Pi3 تحت تصرفي. قدراته مثيرة للإعجاب حقًا: معالج سريع رباعي النواة ، وبرامج ترميز / أجهزة فك ترميز مدمجة لأجهزة الصوت / الفيديو / jpeg ، Ethernet / WIFI ، USB2 ، HDMI ... إنه جهاز كمبيوتر حقيقي. من الرائع جدًا أن يكون هناك موصل GPIO ، والذي يسمح للحرفيين المختلفين بتوصيل شيء خاص بهم غير قياسي وخاص. هناك عدد كبير من لوحات التوسع المختلفة المثبتة على هذا الموصل: شاشات العرض ، شاشات LED ، المحولات للمحركات ، لوحات ADC ...
أود أن أتحدث قليلاً عن لوحة FPGA للوحة Mars rover2RPI ، والتي ، مثل بطاقات التوسيع الأخرى ، تتصل بفتحة GPIO للتوت ، وتضيف خصائص جديدة تمامًا إلى الكمبيوتر المصغر لدينا.
الرسوم بسيطة للغاية. مثبتة عليه:
- FPGA Cyclone IV EP4CE6E22C8
- العناصر المنطقية 6272 ؛
- ذاكرة مدمجة 270 كيلوبت في الثانية ؛
- المضاعفات 15 (18 × 18) ؛
- PLL 2 ؛
- أربعة مصابيح LED
- ثلاثة أزرار
- مذبذب بلوري 100 ميجا هرتز.
- إمكانية تثبيت شريحة EPCS4 (في حالة استخدام اللوحة بشكل مستقل) ؛
- موصل JTAG (في حالة استخدام اللوحة بشكل مستقل) ؛
- اثنان من موصلات 40 دبوس في كل من 28 مستخدم GPIO - موصلات متوافقة مع Raspberry ؛
- موصل واحد من 40 سنًا للاتصال بـ Raspbery ، حيث يمكنك استخدام 24 أو 20 GPIOs (بناءً على ما إذا كانت شريحة EPCS4 مثبتة أم لا).
لم يتم تثبيت لوحة Mars rover2RPI فوق لوحة Raspberry Pi ، ولكن من الجانب ، من خلال محول خاص. يتم ذلك عمدا. Raspberry Pi3 ساخن بالفعل عند تحميل 4 نوى ؛ لتغطية اللوحة من الأعلى لا يبدو إنسانيًا للغاية من حيث التبريد.
حتى تتمكن من توصيل لوحة Raspberry Pi2 / Pi3:

وهنا Pi-zero:

من الممكن (ولكن هذا ليس دقيقًا) ، يمكن استخدام نفس بطاقة التوسيع مع OrangePi.
أول تطبيق لهذه اللوحة يتبادر إلى الذهن هو مضاعفة عدد إشارات GPIO: كان هناك موصل واحد ، وكان هناك اثنان. تحتاج فقط إلى إنشاء وتحميل المشروع المطلوب إلى FPGA ، حسنًا ، سيكون عليك إدارة المدخلات والمخرجات بطريقة خاصة ، وهناك العديد من الخيارات: المنفذ التسلسلي ، SPI ، GPIO ، يمكنك استخدام DMA ...
يمكنك تنزيل FPGA للوحة Mars rover2RPI مباشرة من Raspberry عبر إشارات JTAG ، والتي يتم عرضها بالطبع في GPIO
- تك ← GPIO7
- tms → GPIO0
- tdi → GPIO11
- tdo ← GPIO1
هناك مثل هذا المشروع مفتوح المصدر OpenOCD ، المصحح والمصحح ، والذي يسمح لك باستخدام Raspberry كمبرمج JTAG. OpenOCD هو خادم ، يمكنك تشغيله ، ثم الاتصال به حتى عن بعد بواسطة telnet وباستخدام الأمر "svf" ، يمكنك تحميل صورة المشروع المترجمة إلى FPGA.
تعرف على المزيد حول OpenOCD على التوت .
هنا مجرد عرض فيديو:
أول مشروع "اختبار" للوحة مارس rover2RPI جاهز بالفعل ، على الرغم من أنه لا يزال غير مثير للإعجاب في وظائفه. عادة ما يكون أول مشروع لـ FPGAs هو "وميض LED" ، مثل هذا النوع من "hello World!" متحكم العالم و FPGA.
يمكن أخذ مصدره على github:
github.com/marsohod4you/m2rpi_firstولكن هنا ، حتى في هذه الحالة البسيطة ، هناك بالفعل تفاعل بين FPGA والحاسوب الصغير. من التوت ، يمكنك إرسال وحدات البايت من خلال المنفذ التسلسلي إلى FPGA لتغيير سرعة وميض الصمام. علاوة على ذلك ، فإن أول "مشروع اختبار" FPGA يقبل وحدات البايت من المنفذ التسلسلي ، ويعدلها (يضيف واحدًا) ، ويرسلها مرة أخرى. بالطبع ، بدائية إلى حد ما ، ولكن بالفعل تفاعل النظامين FPGA والمعالج.
عرض الفيديو:
هذه أول تجربة لي في الوصول إلى Raspberry FPGA. أعتقد أنه سيكون من المثير للاهتمام محاولة القيام بمشاريع معقدة حقًا ، مثل التقاط الإطارات من كاميرا فيديو في التوت ونقلها عبر DMA إلى FPGA للمعالجة. أعتقد أنه يمكن أن يكون هناك العديد من المشاريع المثيرة للاهتمام مع لوحة التوسع هذه.