من المترجم: Librem 5 (عند التقديم) - هاتف ذكي آمن لنظام التشغيل Linux من Purism ، والذي يتم إنشاؤه على الأجهزة والبرامج الأكثر انفتاحًا بسبب التمويل الجماعي .سنتحدث اليوم عن تطوير Librem 5 Developer Kit وكيف استخدمنا البرمجيات المجانية بنسبة 100٪ فقط في تطويرها.
تم نشر تصميم devkit وفقًا لترخيص GNU GPLv3 + ، مستودع أجهزة Git
هنا .
KiCad - الخيار الواضح ل EDAقبل البدء في التطوير ، لم يكن من الواضح طريقة تطوير المشروع. على وجه الخصوص ، أي أداة لاختيار
لأتمتة التصميم الإلكتروني (EDA) . في البداية ، كانت الفكرة هي تغيير لوحة i.MX 6QP OpenRex من FEDEVEL لتلبية جميع متطلبات devkit ، لكن واجهنا على الفور مشكلتين رئيسيتين: تم استخدام معالج i.MX 6QP هناك ، والأسوأ من ذلك ، تم تطوير اللوحة في نظام Altium الخاص . لحسن الحظ ، لقد سبق لي تجربة تصميم الإلكترونيات باستخدام EDA KiCad ، لذلك تمكنا من إنشاء تصميم devkit باستخدام برنامج مجاني 100 ٪.
تعد KiCad خيارًا واضحًا ، ليس فقط بسبب الترخيص المجاني (GNU GPLv3 +) ، ولكن أيضًا لأنها مجموعة تصميم إلكترونيات فعالة للغاية تتفوق حتى على بعض أدوات الملكية المكلفة.
اختيار المكونات التي تلبي المتطلبات
الخطوة الأولى في تطوير devkit هي العثور على المكونات التي تلبي المتطلبات المحددة خلال الحملة. بالإضافة إلى مراعاة المواصفات المعلنة ، عند البحث عن المكونات ، قررنا إضافة بعض الأجراس وصفارات إضافية ؛ بما في ذلك:
- جهاز التحكم بالشحن (BQ25896)
- 18650 حامل بطارية لبطارية ليثيوم أيون اختياري
- USB-C
- HDMI صغير
- وحدة تحكم بطاقة SD وفتحة micro-SD (نظرًا لأن i.MX 8M يحتوي على وحدتي تحكم uSDHC فقط)
- إيثرنت / RJ45
- ترميز الصوت
- سماعة الأذن
- الميكروفون
- CTIA / AHJ مقبس سماعة رأس بقطر 3.5 مم (مع إمكانية الاختيار بين ميكروفون مدمج ومكبر صوت خارجي)
- GPG قارئ البطاقة الذكية
- محرك الاهتزاز
- الصمام للبرمجة
- أزرار الصوت والطاقة
- مفاتيح الأجهزة والتبديل وضع التمهيد
- ذاكرة فلاش 16MB SPI NOR
- ساعة الوقت الحقيقي (RTC)
كما هو مخطط ، أضفنا من خلال الثقوب لجهات اتصال تصحيح UART غير المشغولة افتراضيًا (يتم تشغيل المسلسل عبر USB على الصورة الافتراضية المرفقة مع devkit). تلميح: إذا كنت لا تحب اللحام ، فإن الرأس يدعم الضغط المناسب ، ابحث عن Autosplice رقم الجزء 23-1063. على اللوحة هناك سطح دعم SMD 2 × 5 JTAG ، وقد تم اختبار وظيفتها على النموذج الأولي ؛ إذا كنت مهتمًا بالتجول ، فابحث عن رقم الجزء GRPB052VWQS-RC.
بالنسبة إلى مودم WWAN / النطاق الأساسي و WiFi + BT ، كان من الواضح أنك تحتاج إلى العثور على بعض الوحدات الجاهزة ، على سبيل المثال ، مع تثبيت السطح. في مرحلة مبكرة ، كانت لدى نيكول فكرة رائعة لاستخدام الوحدات النمطية mPCIe و M.2 بحيث تصبح المجموعات المدمجة وحدات ، مع إمكانية الترقية في المستقبل. في النهاية ، استقرنا على وحدة المودم mPCIe SIMCom SIM7100A / E ووحدة M.2 RedPine RS9116 Wi-Fi + BT.
ابدأ الرسم
في نهاية مرحلة البحث ، يجب أن نبدأ في تطبيق أفكارنا. لقد ظهر معالج i.MX 8M Quad في السوق. للحصول على اختراق من البداية في التطوير ، بالإضافة إلى إضافة نمطية وإمكانية التحديثات المستقبلية ، اخترنا خيار
النظام على الوحدة (SOM) ، بما في ذلك SoC و SDRAM و eMMC و PMIC. ولكن حتى في المراحل الأولى من التطوير ، عندما بدأنا للتو في رسم الرسوم البيانية ، لم يبدأ بعد الإنتاج المسلسل لبعض الرسائل التي تهمنا. في منتصف أبريل ، أنشأنا علاقات جيدة مع EmCraft ، التي بدأت لتوها في أول دورة إنتاج SOM رئيسية وكانت على وشك إصدار مواصفات هندسة الأجهزة. قررنا أن SOM EmCraft ومواردها هي بالضبط ما نحتاجه. بمجرد اختيار SOM معين ، بدأنا فورًا في رسم المخططات.
تم تنفيذ عملية اختيار مكونات محددة لل devkit في وقت واحد مع إعداد المخططات. تم تنفيذ جميع الأعمال في نظام التحكم في إصدار Git.
شكل 1. المراجعة المبكرة لمخطط 2 مايو (تجزئة البوابة تلتزم 023915d5)عند الانتهاء من المخططات ، قمنا بتصدير ملف
netlist ، مما جعلنا أقرب إلى حد كبير من تنفيذ devkit في الحياة.
النمذجة HP_DET
بالإضافة إلى KiCad ، من البرنامج المجاني ، استخدمنا أيضًا أداة تسمى
Qucs-S وأداة مضاهاة
Xyce متوافقة مع SPICE لمحاكاة شريحة مستشعر سماعة الرأس ، والتي تتضمن صمام ثنائي زينر لحماية GPIO المقابل من جهد إدخال عالي جدًا أو منخفض جدًا من إصدار HP DAC من ترميز الصوت. أتاح الجمع بين Qucs-S و Xyce استخدام نموذج MMS-SP4 الخاص
بالديود MMSZ4688T1G في الرقاقة ، والذي يمثل الحالة المادية للموصل
الفارغ 3.5 ملم مع HP DAC النشط في وقت واحد.
شكل 2. نمذجة مخطط HP_DET باستخدام Qucs-S و Xyceهذا التقليد ، وكذلك علبة التيار المستمر ، حيث يكون المحول الداخلي للموصل 3.5 ملم مفتوحًا ويصل 1MΩ فقط إلى الجهد الافتراضي 3V3_P ، مما يضمن أن طريقة الحماية المحددة تعمل حقًا.
إنشاء مواقع
في منتصف شهر يونيو ، أكملنا عملية تجميع
قائمة المواد (BOM) ، وبدأنا في تقديم الطلبات للمكونات وبدأنا في إنشاء الخطوط العريضة لجميع المواقع في الجهاز (الرقائق والموصلات والوحدات النمطية ، إلخ). أخذنا الخصائص الموصى بها من الوثائق وفحصنا أربع مرات أن كل شيء كان صحيحًا.
شكل 3. منصة وحدة التحكم في الشحن BQ25896 (U301 على لوحة التطوير ، الواقعة تحت SOM)في وضع العرض ثلاثي الأبعاد المذهل لـ KiCad ، أنشأنا خطوطًا ثلاثية الأبعاد لجميع المكونات تقريبًا.
شكل 4. 3D نموذج من وحدة تحكم المسؤول BQ25896KiCad على مستوى التخطيط ، والأسلاك ، والتحديث
في المرحلة المبكرة ، تم وضع
خطة مستوى تقريبي لتحديد منطقة الدائرة المتكاملة التي سيتم استخدامها (90 × 180 مم) ومكان وضع المكونات الأكبر (الموصلات ، المقابس ، فتحات البطاقات ، مقابس mPCIe و M.2 ، الوحدات النمطية ، وما إلى ذلك بسرعة). د.). بعد وضعه على اللوح ، لا تزال بعض التفاصيل تتحرك ، ولكن تم إصلاحها بسرعة في أماكن محددة.
في نهاية يونيو ، بدأنا في الأسلاك ، بدءًا من USB-C (الالتزام a1bfc689). هذا يمثل بداية النماذج.
شكل 5. أول ارتكاب مع الأسلاك
شكل 6. ما هو تخطيط USB-C في النهاية؟
شكل 7. نسخة مبكرة من الدائرة قبل وضع المكونات والأسلاكتتطلب عملية الأسلاك توازنًا دقيقًا بين سرعة العمل والتحقق من أن كل شيء تم بشكل صحيح دون أخطاء ، بما في ذلك الأسلاك الدقيقة لمسارات التحكم في المقاومة وخطوط التناظرية الحساسة.
في البداية ، لم يكن هناك يقين عدد الطبقات المطلوبة وما إذا كان يجب وضع المكونات على جانبي اللوحة. عرفنا أن لوحة i.MX 8M تحتوي على ثماني طبقات ومكونات على كلا الجانبين ، لكننا كنا متأكدين من أننا يمكن أن نخفض عدد الطبقات. لقد أدركنا سريعًا أنه على الجانب الخلفي من اللوحة ، سيتعين عليك بالتأكيد وضع المكونات ، لأن بعض الوحدات على الهاتف توجد على الجانب "الخلفي" من اللوحة (جانب الشاشة) ، بما في ذلك موصلات الشاشة ومستشعر القرب / الضوء ومصباح LED القابل للبرمجة ومكبر صوت وميكروفون. جعل وجود المكونات على كلا الجانبين عملية التخطيط أسهل كثيرًا ، حيث أنها وفرت مساحة صغيرة حيث يمكنك وضع ذاكرة SPI NOR المحمولة وقارئ البطاقات و RTC و 2.8V LDO والعديد من الأجهزة المتكاملة الأخرى والمكونات الأخرى. بالنسبة لعدد الطبقات ، قررنا تقليله إلى ستة. قررنا إضافة طبقتين إضافيتين فقط إذا تعثرنا في طريق مسدود ولا يمكننا وضع أي سلاسل. لحسن الحظ ، لم يحدث هذا وكان هناك تصميم بست طبقات.
قررنا استخدام تخطيط مشترك يوفر التوازن الأمثل بين سهولة الأسلاك ويقلل من الانبعاثات غير المقصودة. كما الركيزة العازلة ، استخدمنا صفح مع رقائق النحاس NP-180TL من NAN YA ، الذي لديه السماحية النسبية حوالي 4.11 في متوسط تردد التشغيل لدينا حوالي 1.7 غيغاهرتز. يمكن الاطلاع على حساباتنا لخط تغذية الترددات اللاسلكية لخطوط تغذية لوحة الدليل الموجي المصغرة والمستوية (CPW) باستخدام هذا الترتيب في مستودع Git.
شكل 8: تخطيط طبقات devkitقبل تطبيق devkit في KiCad ، لم نكن نعرف ما إذا كنا سنصدر إصدارات ألفا أو نلتزم بالإصدارات الكلاسيكية الأكثر استقرارًا مثل 4.0.7. على الرغم من أن "عمليات النشر الليلية" تحتوي على العديد من الميزات المفيدة ، إلا أننا قررنا الاحتفاظ بالإصدارات المستقرة حتى لا نضطر إلى تحديث KiCad في كثير من الأحيان والمخاطرة في ظهور العديد من الإصدارات المتزامنة.
عندما بدأنا العمل ، تم إصدار KiCad الإصدار 5.0.0! في 16 يوليو ، قمنا بترقية المشروع إلى KiCad 5.0.0 (على وجه الخصوص ، 4f70b865 و a4e3de8a تلتزم) دون أي مشاكل. لحسن الحظ ، تزامن هذا التحديث مع انتقال معظم مكوناتنا غير الفعالة من 0603 إلى 0402 ، نظرًا لأن الفوط الجديدة في KiCad تختلف قليلاً عن القيم الافتراضية القديمة ، وأن منصاتها لها زوايا مستديرة أكثر فعالية للحام الخالي من الرصاص.
بعد التحديث إلى 5.0.0 ، ركزنا على النماذج - وخلال شهر واحد (أي 14 أغسطس مع التزام 9b4dd2e0) ، ارتفع عدد الدوائر غير المخففة إلى الصفر.
شكل 9: سجلت 14 أغسطس مرشح الإفراج مع ارتكاب 9b4dd2e0 عدد صفر من الدوائر غير مخففبعد الانتهاء من التصميم والتحقق من فحص قواعد التصميم (DRC) ، قمنا بتنظيف التصميم لمدة أسبوع.
عند
إعداد النماذج الأولية للوحة ، كانت الموارد الأكثر فائدة هي دليل مرجعي لنماذج الدوائر المتكاملة من الوثائق الرسمية
ودليل النماذج الأولية Toradex .
شكل 10. التصميم النهائي (المناطق المطلية بالنحاس مخفية)تصدير الملفات وإرسالها إلى الإنتاج
بعد اكتمال التصميم ، كان من الضروري تصدير جميع الملفات اللازمة لإنتاج وتجميع اللوحات. تصدير
ملفات Gerber إلى KiCad أمر بسيط للغاية. ومع ذلك ، طلب المقاول مخطط آخر والتخطيط للتجميع ، الأمر الذي يتطلب بعض الجهد.
لملفات معاينة التصدير ، عادةً ما نستخدم Gerbv من gEDA.
إليك ما يبدو عليه برنامج devkit في Gerblook - تستخدم هذه الأداة Gerbv و ImageMagick لعرض الويب.
شكل 11. جربر devkit الملفات عند عرضها في Gerbvلإنشاء رسم من النوع المطلوب ، استخدمنا طبقات F.Fab / B.Fab. يعرضون المواقع والخطوط والقطب والرموز المرجعية لجميع المكونات على السبورة. باستخدام طبقات F / B.Fab لكل موقع ، تمكنا من إنشاء الرسم النهائي عن طريق طباعة F.Fab و B.Fab في ملفات PDF منفصلة ، ثم دمجها في وثيقة واحدة.
شكل 12. مخطط من SOMحتى كان أكثر للعمل على مخطط للإنتاج. للقيام بذلك ، كان عليك تصدير الملاحظات من طبقة Cmts.User جنبًا إلى جنب مع لوحة الدوائر كأرشيف DXF واحد ، وبعد ذلك تصدير جميع علامات حفر الثقوب كأرشيف DXF آخر. بعد إنشاء هذين الملفين ، يتم دمجهما في رسم الموقع بأكمله (البصمة). بعد تلقي هذه "البصمة" الخاصة ، التي تجمع بين ملفين DXF ، نخفي كل شيء تقريبًا في التخطيط - ونستورد هذه المساحة الخاصة "للمصنع" (دون حفظ التصميم المؤقت). في الوقت الحالي ، كل ما تحتاجه موجود على طبقة Dwgs.User ؛ لذلك ، يمكنك طباعته مع الإطار في PDF النهائي للإنتاج.
شكل 13. العلامات لثقوب الحفرجنبا إلى جنب مع جميع هذه الملفات والمستندات ، يتم استخدام قائمة اتصال IPC-D-356 ، والتي يمكن للمصنع إجراء
اختبار باستخدام طريقة "المسبار الطائر" والتحقق من عدم وجود ماس كهربائي أو دائرة مفتوحة. قمنا أيضًا بإعداد ملف CSV (بحيث يعرف المصنع مكان وضع وكيفية توجيه جميع المكونات) ، وأخيراً ، ملف GenCAD تم تحريره يدويًا (لبرمجة روبوت لحام في المصنع).
اختبار النموذج الأولي
أرسلنا الملفات النهائية للإنتاج ، وأجبنا على جميع أسئلة المقاول وقمنا بتغيير كل ما طلبوه. تم إرسال الملفات في نهاية شهر أغسطس - وكنا نتطلع إلى عندما وصل تصميمنا إلى خط التجميع في Shenzhen. لسوء الحظ ، كما قلنا
في المدونة ، حدثت تأخيرات كبيرة في إنتاج النموذج الأولي بسبب ظروف غير متوقعة ، مثل الطقس القاسي والأسبوع الذهبي [عطلة وطنية في الصين - تقريبًا. عبر.]. بسبب هذه التأخيرات ، قررنا أن نطلب إنتاج نماذج أولية في مصنع محلي ، مما أعطانا المجالس أسرع من الصينيين بأسبوعين.
شكل 14. لوحة النموذج الأولي devkita v0.1.2 (قبل التجميع)بعد تجميع مجموعة صغيرة من النماذج ، تم إرسالها بسرعة إلى مهندسينا للتصحيح وتطوير البرمجيات. لحسن الحظ ، بفضل المناقشة العامة والتحليل الشامل للتصميم ، كان هناك عدد قليل جدًا من الأخطاء في الأجهزة (ثلاثة تعديلات بسيطة نسبيًا على تخطيط / قائمة الدوائر وإصلاح ميكانيكي واحد). على مدى الشهرين المقبلين ، تم استخدام النماذج الأولية لتلميع البرنامج.
الإنتاج والتسليم النهائي
في بداية ومنتصف نوفمبر ، وبعد إجراء تعديلات طفيفة على التصميم
والتحقق تقريبًا من جميع الأنظمة الفرعية للأجهزة ، قمنا بإعادة تصدير وإعادة إصدار الملفات للإنتاج والتجميع النهائي. قضى بعض موظفينا من 10 إلى 22 كانون الأول (ديسمبر) ، حيث ساعدوا في تجميع واختبار وتعبئة وإرسال المنتجات إلى الخبازين (تم تسليم العديد منهم قبل عيد الميلاد!)
شكل 15. العرض النهائي للوحة devkit v1.0.0 (قبل التجميع)

شكل 16. devkit تجميعها بالكامل بالمقارنة مع نموذج 3D (جانب العرض)
شكل 17. devkit تجميعها بالكامل بالمقارنة مع نموذج 3D (الجانب SOM)استغرقت العملية برمتها الكثير من الجهد ، لكنها كانت تستحق العناء. خاصة عندما رأينا كيف يمكن للمجتمع استخدام مثمر نتائج عملنا. وقد بدأ البعض بالفعل في تطوير حافظات مطبوعة ثلاثية الأبعاد لـ devkita. أنا حريص على معرفة ما هو البرنامج الرائع وما هي حالات الاستخدام التي ستأتي بها لهذه اللوحات الرائعة! لا تتردد في الإبلاغ عن جميع الأشياء الرائعة عن طريق البريد الإلكتروني على
feedback@puri.sm
. إذا كان الأمر رائعًا حقًا ، فسنتحدث عن تطورك في مشاركات المدونات المستقبلية.
الآن ننفق دائمًا على إرسال هواتف Librem 5. لذلك حتى في المرة القادمة ، لا تفقد إبداعك!