الجمعة، 23 أكتوبر 2020

قم بتمكين Arduino I / O Header في MiniZed

 قم بتمكين الإدخال / الإخراج الرقمي المتاح على رأس غطاء Arduino في MiniZed.


الأشياء المستخدمة في هذا المشروع

Avnet MiniZed

دايود ضوئي

مقاومة 5 اوم

لوح التوصبل مع الاسلاك

تطبيقات البرمجيات والخدمات عبر الإنترنت

لتنزيل البرنامج من هنـــــــــــــــا


قصة

أثناء العمل في مشروع آخر ، لاحظت أن تصميم الأجهزة في BSP لـ MiniZed يحتوي على pinout لرأس Arduino GPIO المحدد في ملف قيود Vivado (.xdc) ولكنه لا يتصل فعليًا بأي شيء في الجهاز تصميم الكتلة. قررت أنه سيكون برنامجًا تعليميًا جيدًا قائمًا بذاته حول كيفية تمكين الإدخال / الإخراج الرقمي على رأس درع Arduino لأنني لم أر الكثير من الموارد المحددة الأخرى له.

(ملاحظة جانبية: أنا أستخدم Vivado / Vitis / PetaLinux 2019.2 لهذا المشروع. لاحظت أثناء وجودك في منتصف هذا المشروع أن مستودعات Avnet Github قد تم تحديثها قليلاً للإصدار 2020.1 ، خاصة بالنسبة لـ MiniZed. سيكون جانب Vitis في هذا المشروع والملفات المراد تحميلها على MiniZed مختلفًا قليلاً إذا كنت تستخدم الإصدار Vivado / Vitis / PetaLinux 2020.1 أو أحدث.)

أبدأ بمشروعي Vivado و PetaLinux اللذين أنشأتهما من MiniZed BSP في آخر مشروعي في MiniZed هنا. أول شيء يجب القيام به هو التحديثات على الأجهزة في Vivado.

لتعديل تصميم الأجهزة المعتمد على MiniZed ، افتح مشروع Vivado في دليل مشروع PetaLinux الذي تم إنشاؤه بواسطة BSP ضمن دليل <مسار المشروع> / Hardware / MINIZED.

نظرًا لأن EMIO GPIO الخاص بـ Zynq يتم استخدامه بالفعل في إدخال / إخراج البلوتوث ، أضف AXI GPIO إلى مخطط الكتلة. قبل تشغيل خيار أتمتة الاتصال الذي يظهر ، انقر نقرًا مزدوجًا فوق كتلة AXI GPIO الجديدة لإعادة تكوين إعداداتها.

قم بتكوين كتلة GPIO بحيث يكون لديك قناة مفردة بعرض 14 بت متصلة بنقطة نهاية مخصصة. انقر فوق "موافق" لحفظ وإغلاق نافذة التكوين ، ثم قم بتشغيل أتمتة الاتصال من اللافتة الخضراء في الجزء العلوي من تصميم الكتلة. مرة أخرى ، تأكد من ضبط خيار اتصال GPIO على "مخصص".


أعد تسمية المنفذ للإشارة إلى أن هذه الخطوط سيتم توصيلها برأس Arduino



تحقق من صحة تصميم الكتلة واحفظه (قد يكون هناك تحذير هام بشأن خط الساعة ، ولكن يمكن تجاهله). انقر بزر الماوس الأيمن على تصميم الكتلة في نافذة المصادر وحدد خيار "إنشاء غلاف HDL ..." والخيار الفرعي للسماح لـ Vivado بإدارته. سيؤدي ذلك إلى تحديث HDL ذي المستوى الأعلى ليشمل منفذ GPIO الخارجي الجديد.

قم بتعديل ملف minized_petalinux.xdc لتبديل خطوط بيانات Adruino لمطابقة خرج الناقل من كتلة AXI GPIO.


احفظ ملف القيود ثم أعد تشغيل التوليف والتنفيذ وإنشاء دفق بت جديد. بمجرد إنشاء دفق البت ، قم بتصدير تصميم الأجهزة. يوجد بالفعل جهاز XSA موجود في دليل المشروع المحلي (<المسار إلى مشروع PetaLinux الذي تم إنشاؤه باستخدام BSP> / Hardware / MINIZED_2019_2 /) ، لذلك قبل تصدير جهاز XSA الجديد إليه ، قمت بإنشاء مجلد جديد في دليل المشروع بعنوان ' old_hw 'ونقل MINIZED.xsa إلى هناك. لتصدير تصميم الأجهزة الجديد ، حدد ملف> تصدير> تصدير الأجهزة ... وتأكد من تحديد المربع لتضمين تدفق البت. سترى MINIZED_wrapper.xsa تظهر الآن في دليل المشروع المحلي.

في نافذة طرفية جديدة ، مصدر إعدادات بيئة PetaLinux وقم بتغيير الدلائل إلى مشروع PetaLinux الذي تم إنشاؤه باستخدام BSP.

source <PetaLinux installation path>/2019.2/settings.sh
cd ./minized/minized_emmc_enhanced_2019_2/

استيراد تصميم الأجهزة الجديد إلى مشروع PetaLinux الحالي.

petalinux-config --get-hw-description ./hardware/MINIZED_2019_2/
بمجرد ظهور محرر تكوين الأجهزة ، يمكنك الخروج منه دون إجراء أي تغييرات. حدد خيار حفظ الإعدادات الجديدة عندما يُطلب منك ذلك ، ثم أنشئ مشروع PetaLinux.
petalinux-build

يجب إنشاء صورة تمهيد ثنائية جديدة (BOOT.BIN) من أجل MiniZed لاحتواء تيار البت الجديد منذ أن أضفنا أجهزة جديدة إلى التصميم في Vivado. يمكن القيام بذلك في Vitis GUI عن طريق إنشاء مشروع نظام أساسي جديد وتطبيق محمل إقلاع المرحلة الأولى. في هذه الحالة ، أجد أنه من الأسهل قليلاً إنشاء ملف boot.bif الخاص بي باستخدام محرر نصوص وأداة سطر أوامر برنامج Xilinx (XSCT) لإنشاء تطبيق FSBL مستقل ، ثم أداة bootgen للترجمة BOOT.BIN الجديد

في نافذة طرفية جديدة ، مصدر البرنامج النصي لإعدادات بيئة Vitis:
source <Vitis installation path>/2019.2/settings64.sh
قم بإنشاء دليل لمشروع تطبيق FSBL.
cd ./minized/minized_emmc_enhanced_2019_2/
mkdir -p ./fsbl_project/
قم بتشغيل أداة سطر أوامر برنامج Xilinx (XSCT):
xsct
ثم استخدم أوامر HSI لإنشاء تطبيق Zynq في المرحلة الأولى من برنامج bootloader bare-metal لـ MiniZed. تعرف على المزيد حول HSI وكيفية استخدامه في Vitis هنا.

ابدأ بفتح تصميم الأجهزة لـ MiniZed في مثيل XSCT الحالي.
xsct% hsi open_hw_design ./minized/minized_emmc_enhanced_2019_2/hardware/MINIZED_2019_2/MINIZED_wrapper.xsa
تحقق من فتح الجهاز بنجاح باستخدام الأمر current_hw_design ، فسيتم تكرار اسم الجهاز مرة أخرى في الجهاز الطرفي على غرار ما يلي
xsct% hsi current_hw_design
MINIZED_wrapper

قم بإنشاء تطبيق bare-metal لـ FSBL باستخدام أمر HSI create_app:

xsct% hsi generate_app -dir ./minized/minized_emmc_enhanced_2019_2/fsbl_project/ -hw MINIZED_wrapper -sw fsbl -proc ps7_cortexa9_0 -os standalone -app zynq_fsbl -compile

قم بإنهاء XSCT والخروج منه بالضغط على Ctrl + C مرتين متتاليتين ثم استخدم محرر النصوص الذي تختاره لإنشاء ملف معلومات تمهيد جديد (boot.bif) لـ MiniZed.

nano boot.bif
يضاف النص التالي:
image : {
[bootloader] fsbl_project/executable.elf
images/linux/minized_petalinux_wrapper.bit
images/linux/u-boot.elf

الملف القابل للتنفيذ هو ملف FSBL الجديد لنواة ARM الخاصة بـ Zynq في MiniZed الذي تم إنشاؤه للتو في الخطوة الأخيرة باستخدام XSCT.

أخيرًا ، استخدم أداة bootgen لإنشاء ملف التمهيد الثنائي الجديد لـ MiniZed.

bootgen -image boot.bif -o i BOOT.BIN -w on
بمجرد إنشاء ملف التمهيد الثنائي بنجاح ، انسخ صورة kernel الجديدة (image.ub) وملف التمهيد الثنائي (BOOT.BIN) إلى eMMC الخاص بـ MiniZed. اخترت استخدام عميل FTP مرة أخرى لتحميل الملفات إلى MiniZed عبر اتصال Wi-Fi الخاص به



من سطر أوامر MiniZed ، قم ببرمجة ثنائي التمهيد الجديد إلى ذاكرة فلاش QSPI وأعد التشغيل.

root@MiniZed:~# flashcp /run/media/mmcblk1p1/BOOT.BIN /dev/mtd0 
root@MiniZed:~# reboot

لاختبار أن GPIOs تعمل بشكل صحيح ، قمت بتوصيل مصابيح LED بكل من I / O على رأس Arduino الخاص به وقمت بتبديل كل سطر يدويًا من سطر الأوامر (ظهر GPIO على أنه 999 بالنسبة لي ، ولكن قد يكون مختلفًا بالنسبة لي عليك التحقق جيدًا باستخدام تطبيق get-gpio-offests).

root@minized-emmc-enhanced-2019-2:~# cd /sys/class/gpio/
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 999 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1000 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1001 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1002 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1003 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1004 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1005 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1006 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1007 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1008 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1009 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1010 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1011 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo 1012 > ./export
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio999/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1000/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1001/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1002/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1003/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1004/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1005/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1006/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1007/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1008/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1009/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1010/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1011/direction
root@minized-emmc-enhanced-2019-2:/sys/class/gpio# echo high > ./gpio1012/direction


لقد اختبرت قضبان الجهد المرجعي باستخدام DMM الخاص بي على رأس Arduino مع أو بدون توصيل USB بالطاقة AUX وقراءتهما بالجهد المناسب. كان MiniZed أيضًا قادرًا على تشغيل جميع مصابيح LED الأربعة عشر مع توصيل AUX powe

شرح وتفاصيل Raspberry Pi 4 و Compute Module 4 Lite

 بتعبئة نفس BCM2711C0 SoC مثل Raspberry Pi 4 بالحجم الكامل ، هل هذه الأنظمة على الوحدات هي الأدوات الجديدة التي يجب امتلاكها؟



بعد عامين من إطلاق Raspberry Pi Compute Module 3+ ، وبعد أربع سنوات من Raspberry Pi Compute Module 3 ، تمتلك مؤسسة Raspberry Pi نظامًا جديدًا على وحدة (SOM) - ولكن في حين أنها تقدم أداءً معززًا بشكل كبير ، إلا أنها تلغي مع التوافق مع الإصدارات السابقة للوحات الحاملة الموجودة.

مع نفس الأجهزة الأساسية مثل الكمبيوتر أحادي اللوحة Raspberry Pi 4 Model B الشهير ، والذي يوفر الآن اتصال PCI Express Gen.2 عالي السرعة بالأجهزة الطرفية ، هو Raspberry Pi Compute Module 4 - وزميله المستقر لايت المخفض التكلفة. الذهاب إلى SOM؟

الأجهزة

تم إطلاق عائلة Raspberry Pi Compute Module كوسيلة لجلب نفس التكنولوجيا التي توفرها مجموعة أجهزة الكمبيوتر أحادية اللوحة Raspberry Pi للمستخدمين المدمجين والصناعيين كنظام على وحدة. تم استبدال وحدة الحوسبة الأصلية بوحدة Compute 3 - تخطي جيل - ثم Compute Module 3+ ، والتي استخدمت نفس أجهزة المعالجة مثل Raspberry Pi 3 Model B + ولكنها سجلت انخفاضًا من 1.5 جيجا هرتز إلى 1.2 جيجا هرتز.

إذن ، لا ينبغي أن تفاجئ الوحدة الحاسوبية 4: إنها نظام على وحدة مبنية على Broadcom BCM2711C0 ، وهو نفس النظام على الرقاقة الذي يشغل Raspberry Pi 4. مثل Raspberry Pi 4 بالحجم الكامل ، الأربعة 64 يتم تسجيل أنوية Arm Cortex-A72 -bit بسرعة 1.5 جيجاهرتز - مع عدم وجود علامة على نفس تقليل سرعة الساعة مثل وحدة الحوسبة 3+ - ويمكن للمشترين اختيار ذاكرة وصول عشوائي LPDDR4 بسعة 1 جيجابايت أو 2 جيجابايت أو 4 جيجابايت أو 8 جيجابايت. على عكس Raspberry Pi 4 ، هناك أيضًا خيار تخزين eMMC على اللوحة: 8 جيجابايت أو 16 جيجابايت أو 32 جيجابايت ؛ يمكن لأولئك الذين لا يحتاجون إلى التخزين على متن الطائرة اختيار Compute Module 4 Lite بدلاً من ذلك.


في حين أن المفهوم الأساسي للوحدة الحاسوبية 4 هو نفسه تمامًا مثل الإصدارات السابقة ، فقد تغير التصميم: فقد اختفى عامل الشكل SODIMM المكون من 200 سن ، واستبدل بموصلين عالي الكثافة 100 سن في الجانب السفلي. إنه يجعل مظهرًا أنظف بمجرد تثبيته على لوحة حامل ، بينما تمنحه فتحات التركيب الأربعة قوة ميكانيكية كبيرة. هذا أيضًا ، للأسف ، لا يعني عدم التوافق مع الإصدارات السابقة: على الرغم من أن وحدة Compute 4 متوافقة مع جميع البرامج المكتوبة للنماذج السابقة ، إلا أنها لن تتناسب فعليًا مع لوحة الناقل المصممة للوحدة الحسابية ، أو الوحدة النمطية 3 ، أو وحدة الحساب 3+.

تحتوي الوحدة على مجموعة من الميزات الأساسية المكشوفة على المسامير: هناك إدخال / إخراج للأغراض العامة ، ومنفذين للواجهة التسلسلية للعرض (DSI) ، ومنفذين للواجهة التسلسلية للكاميرا (CSI) ، ومنفذين HDMI يدعمان إخراج فيديو 4K30 مزدوج كما وعد من قبل المؤسس المشارك للمشروع Eben Upton في وقت سابق من العام - ممر واحد من PCI Express Gen. 2 ، بالإضافة إلى جيجابت إيثرنت PHY. الوحدة متاحة أيضًا مع نفس 802.11b / g / n / ac Wi-Fi ووحدة راديو Bluetooth 5.0 / Bluetooth منخفضة الطاقة (BLE) كنطاق Raspberry Pi 4 كامل الحجم - ولكن هذه المرة مع اختيار هوائي PCB أو هوائي خارجي عبر موصل Hirose U.FL ، مع توفير مجموعة الهوائي الاختيارية للأخير.


لكن ما هو متاح للاستخدام بالضبط سيعتمد بشكل كبير على لوحة الناقل. أصدرت مؤسسة Raspberry Pi Foundation تصميمها المرجعي مفتوح المصدر ، لوحة Raspberry Pi Compute 4 Input / Output (IO) ، التي توفر أكبر قدر ممكن من الوظائف: رأس GPIO 40 سنًا ، رأس PoE ، اثنان من HDMI بالحجم الكامل المنافذ و Gigabit Ethernet ومنفذي DSI ومنفذين CSI وفتحة microSD لوحدة Compute Module 4 Lite للتخزين ومنفذين USB 2.0 وفتحة بطارية لساعة الوقت الحقيقي ومنفذين USB 2.0 ومنفذ USB صغير ثانوي. هناك أيضًا ، لأول مرة في المجموعة ، فتحة PCI Express بالحجم الكامل - والتي توفر طريقة رائعة لتوصيل وحدة تخزين عالية السرعة بالوحدة.

أداء

بالنظر إلى وحدة الحوسبة 4 تستخدم نفس نظام BCM2711C0 على الرقاقة مثل Raspberry Pi 4 Model B ، فليس هناك مفاجأة من النتائج القياسية: إنها ضربة مقابل ضربة متطابقة في جميع النواحي تقريبًا ، من معيار Linpack الاصطناعي إلى الحقيقي -الاختبارات العالمية مثل استجابة المتصفح وضغط الملفات وتحرير الصور.



بعد عامين من إطلاق Raspberry Pi Compute Module 3+ ، وبعد أربع سنوات من Raspberry Pi Compute Module 3 ، تمتلك مؤسسة Raspberry Pi نظامًا جديدًا على وحدة (SOM) - ولكن في حين أنها تقدم أداءً معززًا بشكل كبير ، إلا أنها تلغي مع التوافق مع الإصدارات السابقة للوحات الحاملة الموجودة.

مع نفس الأجهزة الأساسية مثل الكمبيوتر أحادي اللوحة Raspberry Pi 4 Model B الشهير ، والذي يوفر الآن اتصال PCI Express Gen.2 عالي السرعة بالأجهزة الطرفية ، هو Raspberry Pi Compute Module 4 - وزميله المستقر لايت المخفض التكلفة. الذهاب إلى SOM؟

الأجهزة
تم إطلاق عائلة Raspberry Pi Compute Module كوسيلة لجلب نفس التكنولوجيا التي توفرها مجموعة أجهزة الكمبيوتر أحادية اللوحة Raspberry Pi للمستخدمين المدمجين والصناعيين كنظام على وحدة. تم استبدال وحدة الحوسبة الأصلية بوحدة Compute 3 - تخطي جيل - ثم Compute Module 3+ ، والتي استخدمت نفس أجهزة المعالجة مثل Raspberry Pi 3 Model B + ولكنها سجلت انخفاضًا من 1.5 جيجا هرتز إلى 1.2 جيجا هرتز.

إذن ، لا ينبغي أن تفاجئ الوحدة الحاسوبية 4: إنها نظام على وحدة مبنية على Broadcom BCM2711C0 ، وهو نفس النظام على الرقاقة الذي يشغل Raspberry Pi 4. مثل Raspberry Pi 4 بالحجم الكامل ، الأربعة 64 يتم تسجيل أنوية Arm Cortex-A72 -bit بسرعة 1.5 جيجاهرتز - مع عدم وجود علامة على نفس تقليل سرعة الساعة مثل وحدة الحوسبة 3+ - ويمكن للمشترين اختيار ذاكرة وصول عشوائي LPDDR4 بسعة 1 جيجابايت أو 2 جيجابايت أو 4 جيجابايت أو 8 جيجابايت. على عكس Raspberry Pi 4 ، هناك أيضًا خيار تخزين eMMC على اللوحة: 8 جيجابايت أو 16 جيجابايت أو 32 جيجابايت ؛ يمكن لأولئك الذين لا يحتاجون إلى التخزين على متن الطائرة اختيار Compute Module 4 Lite بدلاً من ذلك.

في حين أن المفهوم الأساسي للوحدة الحاسوبية 4 هو نفسه تمامًا مثل الإصدارات السابقة ، فقد تغير التصميم: فقد اختفى عامل الشكل SODIMM المكون من 200 سن ، واستبدل بموصلين عالي الكثافة 100 سن في الجانب السفلي. إنه يجعل مظهرًا أنظف بمجرد تثبيته على لوحة حامل ، بينما تمنحه فتحات التركيب الأربعة قوة ميكانيكية كبيرة. هذا أيضًا ، للأسف ، لا يعني عدم التوافق مع الإصدارات السابقة: على الرغم من أن وحدة Compute 4 متوافقة مع جميع البرامج المكتوبة للنماذج السابقة ، إلا أنها لن تتناسب فعليًا مع لوحة الناقل المصممة للوحدة الحسابية ، أو الوحدة النمطية 3 ، أو وحدة الحساب 3+.

تحتوي الوحدة على مجموعة من الميزات الأساسية المكشوفة على المسامير: هناك إدخال / إخراج للأغراض العامة ، ومنفذين للواجهة التسلسلية للعرض (DSI) ، ومنفذين للواجهة التسلسلية للكاميرا (CSI) ، ومنفذين HDMI يدعمان إخراج فيديو 4K30 مزدوج كما وعد من قبل المؤسس المشارك للمشروع Eben Upton في وقت سابق من العام - ممر واحد من PCI Express Gen. 2 ، بالإضافة إلى جيجابت إيثرنت PHY. الوحدة متاحة أيضًا مع نفس 802.11b / g / n / ac Wi-Fi ووحدة راديو Bluetooth 5.0 / Bluetooth منخفضة الطاقة (BLE) كنطاق Raspberry Pi 4 كامل الحجم - ولكن هذه المرة مع اختيار هوائي PCB أو هوائي خارجي عبر موصل Hirose U.FL ، مع توفير مجموعة الهوائي الاختيارية للأخير.

لكن ما هو متاح للاستخدام بالضبط سيعتمد بشكل كبير على لوحة الناقل. أصدرت مؤسسة Raspberry Pi Foundation تصميمها المرجعي مفتوح المصدر ، لوحة Raspberry Pi Compute 4 Input / Output (IO) ، التي توفر أكبر قدر ممكن من الوظائف: رأس GPIO 40 سنًا ، رأس PoE ، اثنان من HDMI بالحجم الكامل المنافذ و Gigabit Ethernet ومنفذي DSI ومنفذين CSI وفتحة microSD لوحدة Compute Module 4 Lite للتخزين ومنفذين USB 2.0 وفتحة بطارية لساعة الوقت الحقيقي ومنفذين USB 2.0 ومنفذ USB صغير ثانوي. هناك أيضًا ، لأول مرة في المجموعة ، فتحة PCI Express بالحجم الكامل - والتي توفر طريقة رائعة لتوصيل وحدة تخزين عالية السرعة بالوحدة.

أداء
بالنظر إلى وحدة الحوسبة 4 تستخدم نفس نظام BCM2711C0 على الرقاقة مثل Raspberry Pi 4 Model B ، فليس هناك مفاجأة من النتائج القياسية: إنها ضربة مقابل ضربة متطابقة في جميع النواحي تقريبًا ، من معيار Linpack الاصطناعي إلى الحقيقي -الاختبارات العالمية مثل استجابة المتصفح وضغط الملفات وتحرير الصور.

بالنسبة لأي شخص يقوم بالترقية من Raspberry Pi Compute Module 3 - تذكر ، بالطبع ، سيعني ذلك لوحة ناقل جديدة - والتي تترجم إلى مكاسب رائعة في الأداء: تراوحت النتائج القياسية من أقل من ضعف السرعة إلى ما يقرب من خمسة أضعاف السرعة - وهذا يعني يجب سحب أي تصميم تم تقييده بواسطة أداء Compute Module 3 + 

بعد عامين من إطلاق Raspberry Pi Compute Module 3+ ، وبعد أربع سنوات من Raspberry Pi Compute Module 3 ، تمتلك مؤسسة Raspberry Pi نظامًا جديدًا على وحدة (SOM) - ولكن في حين أنها تقدم أداءً معززًا بشكل كبير ، إلا أنها تلغي مع التوافق مع الإصدارات السابقة للوحات الحاملة الموجودة.

مع نفس الأجهزة الأساسية مثل الكمبيوتر أحادي اللوحة Raspberry Pi 4 Model B الشهير ، والذي يوفر الآن اتصال PCI Express Gen.2 عالي السرعة بالأجهزة الطرفية ، هو Raspberry Pi Compute Module 4 - وزميله المستقر لايت المخفض التكلفة. الذهاب إلى SOM؟

الأجهزة
تم إطلاق عائلة Raspberry Pi Compute Module كوسيلة لجلب نفس التكنولوجيا التي توفرها مجموعة أجهزة الكمبيوتر أحادية اللوحة Raspberry Pi للمستخدمين المدمجين والصناعيين كنظام على وحدة. تم استبدال وحدة الحوسبة الأصلية بوحدة Compute 3 - تخطي جيل - ثم Compute Module 3+ ، والتي استخدمت نفس أجهزة المعالجة مثل Raspberry Pi 3 Model B + ولكنها سجلت انخفاضًا من 1.5 جيجا هرتز إلى 1.2 جيجا هرتز.

إذن ، لا ينبغي أن تفاجئ الوحدة الحاسوبية 4: إنها نظام على وحدة مبنية على Broadcom BCM2711C0 ، وهو نفس النظام على الرقاقة الذي يشغل Raspberry Pi 4. مثل Raspberry Pi 4 بالحجم الكامل ، الأربعة 64 يتم تسجيل أنوية Arm Cortex-A72 -bit بسرعة 1.5 جيجاهرتز - مع عدم وجود علامة على نفس تقليل سرعة الساعة مثل وحدة الحوسبة 3+ - ويمكن للمشترين اختيار ذاكرة وصول عشوائي LPDDR4 بسعة 1 جيجابايت أو 2 جيجابايت أو 4 جيجابايت أو 8 جيجابايت. على عكس Raspberry Pi 4 ، هناك أيضًا خيار تخزين eMMC على اللوحة: 8 جيجابايت أو 16 جيجابايت أو 32 جيجابايت ؛ يمكن لأولئك الذين لا يحتاجون إلى التخزين على متن الطائرة اختيار Compute Module 4 Lite بدلاً من ذلك.

في حين أن المفهوم الأساسي للوحدة الحاسوبية 4 هو نفسه تمامًا مثل الإصدارات السابقة ، فقد تغير التصميم: فقد اختفى عامل الشكل SODIMM المكون من 200 سن ، واستبدل بموصلين عالي الكثافة 100 سن في الجانب السفلي. إنه يجعل مظهرًا أنظف بمجرد تثبيته على لوحة حامل ، بينما تمنحه فتحات التركيب الأربعة قوة ميكانيكية كبيرة. هذا أيضًا ، للأسف ، لا يعني عدم التوافق مع الإصدارات السابقة: على الرغم من أن وحدة Compute 4 متوافقة مع جميع البرامج المكتوبة للنماذج السابقة ، إلا أنها لن تتناسب فعليًا مع لوحة الناقل المصممة للوحدة الحسابية ، أو الوحدة النمطية 3 ، أو وحدة الحساب 3+.

تحتوي الوحدة على مجموعة من الميزات الأساسية المكشوفة على المسامير: هناك إدخال / إخراج للأغراض العامة ، ومنفذين للواجهة التسلسلية للعرض (DSI) ، ومنفذين للواجهة التسلسلية للكاميرا (CSI) ، ومنفذين HDMI يدعمان إخراج فيديو 4K30 مزدوج كما وعد من قبل المؤسس المشارك للمشروع Eben Upton في وقت سابق من العام - ممر واحد من PCI Express Gen. 2 ، بالإضافة إلى جيجابت إيثرنت PHY. الوحدة متاحة أيضًا مع نفس 802.11b / g / n / ac Wi-Fi ووحدة راديو Bluetooth 5.0 / Bluetooth منخفضة الطاقة (BLE) كنطاق Raspberry Pi 4 كامل الحجم - ولكن هذه المرة مع اختيار هوائي PCB أو هوائي خارجي عبر موصل Hirose U.FL ، مع توفير مجموعة الهوائي الاختيارية للأخير.

لكن ما هو متاح للاستخدام بالضبط سيعتمد بشكل كبير على لوحة الناقل. أصدرت مؤسسة Raspberry Pi Foundation تصميمها المرجعي مفتوح المصدر ، لوحة Raspberry Pi Compute 4 Input / Output (IO) ، التي توفر أكبر قدر ممكن من الوظائف: رأس GPIO 40 سنًا ، رأس PoE ، اثنان من HDMI بالحجم الكامل المنافذ و Gigabit Ethernet ومنفذي DSI ومنفذين CSI وفتحة microSD لوحدة Compute Module 4 Lite للتخزين ومنفذين USB 2.0 وفتحة بطارية لساعة الوقت الحقيقي ومنفذين USB 2.0 ومنفذ USB صغير ثانوي. هناك أيضًا ، لأول مرة في المجموعة ، فتحة PCI Express بالحجم الكامل - والتي توفر طريقة رائعة لتوصيل وحدة تخزين عالية السرعة بالوحدة.

أداء
بالنظر إلى وحدة الحوسبة 4 تستخدم نفس نظام BCM2711C0 على الرقاقة مثل Raspberry Pi 4 Model B ، فليس هناك مفاجأة من النتائج القياسية: إنها ضربة مقابل ضربة متطابقة في جميع النواحي تقريبًا ، من معيار Linpack الاصطناعي إلى الحقيقي -الاختبارات العالمية مثل استجابة المتصفح وضغط الملفات وتحرير الصور.

بالنسبة لأي شخص يقوم بالترقية من Raspberry Pi Compute Module 3 - تذكر ، بالطبع ، سيعني ذلك لوحة ناقل جديدة - والتي تترجم إلى مكاسب رائعة في الأداء: تراوحت النتائج القياسية من أقل من ضعف السرعة إلى ما يقرب من خمسة أضعاف السرعة - وهذا يعني يجب سحب أي تصميم تم تقييده بواسطة أداء Compute Module 3 + من كرات النفتالين وإعادة نسجها.

إنه ممر PCI Express الذي يقدم أكبر مكاسب في الأداء ، على الرغم من ذلك ، كما تم الكشف عنه في معيار التخزين. يؤدي التبديل من بطاقة microSD إلى وحدة Compute Module 4 إلى مضاعفة أداء القراءة تقريبًا وأداء الكتابة ثلاث مرات - ولكن تثبيت محرك أقراص الحالة الصلبة غير المتطاير (NVMe) SSD في فتحة PCI Express على لوحة الناقل يأخذ سعة التخزين من 83.6 ميجابايت / ثانية للقراءة و 75.9 ميجابايت / ثانية للكتابة بسرعة مذهلة تبلغ 413 ميجابايت / ثانية و 392 ميجابايت / ثانية للكتابة - بترتيب أكبر. في حين أنه من الممكن الاقتراب من هذه السرعات - 363 ميجابايت / ثانية للقراءة و 323 ميجابايت / ثانية - باستخدام منافذ USB 3.0 على Raspberry Pi 4 Model B ، فإن استخدام NVMe بدلاً من ذلك يؤدي إلى انخفاض ملحوظ في استخدام وحدة المعالجة المركزية أثناء نقل الملفات
الجواب.

ومع ذلك ، هناك سلبي واحد في تصميم Compute Module 4 ، وهو شيء لا يمكن تجنبه حقًا: درجة حرارة التشغيل. على الرغم من سلسلة تحديثات البرامج الثابتة المصممة لتقليل استخدام الطاقة ، فمن المعروف أن Raspberry Pi 4 يعمل بشكل ساخن إلى حد ما - ووضع نفس النظام على شريحة PCB أصغر بشكل ملحوظ لا يفيد وحدة Compute 4.

في اختبار تعذيب الخانق الحراري ، والذي يمثل السيناريو الأسوأ المطلق لنظام محمّل بشدة ، يخنق الوحدة الحسابية 4 بشكل أسرع وأكثر قوة من وحدة Raspberry Pi 4 B - لذلك بما في ذلك التبريد السلبي على الأقل ، إن لم يكن نشطًا مروحة تبريد ، في التصميمات المبنية حول وحدة الحوسبة 4 ستكون ضرورية.

خاتمة
تعتبر وحدة Raspberry Pi Compute 4 ترقية جديرة. يقدم تعزيزًا كبيرًا في الأداء مقارنة بسابقه البالغ من العمر عامين ، وفي حين أن الابتعاد عن عامل الشكل SODIMM والفقدان اللاحق للتوافق مع الإصدارات السابقة قد أدى إلى حد ما إلى السماح للمؤسسة بتقديم بعض ترقيات الميزات المهمة - وأكبرها هو اتصال PCI Express لا يمكن إنكاره.

بينما قمنا باختبار قدرات PCI Express في Compute Module 4 باستخدام تخزين NVMe ، فإن هذا لا يعني أن الممر عالي السرعة متاح حصريًا لأغراض التخزين: إنه ممر PCIe Gen. 2.0 متوافق تمامًا مع المعايير القياسية ، ويوفر برامج تشغيل متاحة أو يمكن سوف تقبل أي شيء من بطاقة الشبكات عالية السرعة إلى بطاقات التقاط الفيديو أو المعالجات المساعدة لتسريع التعلم العميق أو وحدة تحكم USB 3.0 - الأخير هو كيفية توصيل منفذي USB 3.0 الخاصين بـ Raspberry Pi 4 Model B بشبكة SoC.


ومع ذلك ، فإن نجاح وحدة الحوسبة 4 سيعتمد إلى حد كبير على اعتماد السوق. لقد رأينا عددًا من المنتجات التجارية التي تم إطلاقها باستخدام وحدة Raspberry Pi Compute 3+ وما قبلها في قلبها ، ومن المحتمل أن تتبعها تصميمات للوحدة الحاسوبية الجديدة 4 - سيكون من الصعب على المطورين رفض مكاسب الأداء ، بعد الكل ، حتى لو كانت اللوحات الحاملة بحاجة إلى إعادة تصميم لعامل الشكل الجديد.

تتوفر الآن وحدة Raspberry Pi Compute 4 و Raspberry Pi Compute Module 4 Lite التي لا تحتوي على eMMC في القناة ، مع مزيد من المعلومات التي يمكن العثور عليها على موقع Raspberry Pi على الويب. يبدأ السعر من 25 دولارًا لـ Raspberry Pi Compute Module 4 Lite مع ذاكرة وصول عشوائي (RAM) سعة 1 جيجابايت ولا يوجد اتصال لاسلكي ، حيث يرتفع السعر إلى 90 دولارًا لوحدة Raspberry Pi Compute 4 مع ذاكرة وصول عشوائي (RAM) سعة 8 جيجابايت وتخزين eMMC بسعة 32 جيجابايت ووحدة راديو Wi-Fi و Bluetooth.