جدول المحتويات:

نظام تطوير Ghetto Programmable Logic (CPLD): 13 خطوة
نظام تطوير Ghetto Programmable Logic (CPLD): 13 خطوة

فيديو: نظام تطوير Ghetto Programmable Logic (CPLD): 13 خطوة

فيديو: نظام تطوير Ghetto Programmable Logic (CPLD): 13 خطوة
فيديو: 1.Build a Retail Billing System using Python Tkinter GUI - Step-by-Step Tutorial 2024, يوليو
Anonim
نظام تطوير Ghetto Programmable Logic (CPLD)
نظام تطوير Ghetto Programmable Logic (CPLD)

على مدار الأشهر العديدة الماضية ، كنت أستمتع بنظام Ghetto Development System لمعالجات AVR. في الواقع ، أثبتت هذه الأداة التي تبلغ قيمتها صفر دولار تقريبًا أنها رائعة ومفيدة لدرجة أنها جعلتني أتساءل عما إذا كان من الممكن توسيع المفهوم ليشمل تطوير FPGA / CPLD أيضًا. (FPGA: مصفوفة البوابة القابلة للبرمجة الميدانية. CPLD: جهاز منطقي قابل للبرمجة معقد.) لذلك قمت ببعض البحث على الويب وتوصلت إلى نظام تطوير لـ Atmel CPLDs. تُظهر المقارنة مع أجهزة Altera أن pinout الخاص بهم هو نفسه (ضمن القيود التي أوردها بالتفصيل أدناه) ، لذلك سيعملون أيضًا. من خلال بناء لوحة التطوير وكابل الواجهة الذي سأقدمه ، ثم تنزيل الأدوات ، يمكنك تطوير تطبيقات CPLD الخاصة بك. يرجى ملاحظة القيود والقيود التالية. لقد حاولت الموازنة بين القدرة والبساطة حتى تتمكن من بناء شيء تستمتع به وتتعلم منه أجهزة 5V فقط. توسيع النظام لتغطية الفولتية الإضافية (3.3 فولت ، 2.5 فولت ، 1.8 فولت تدعمها أجهزة Atmel في نفس العائلة) ليس بالأمر الصعب ، ولكنه يعقد كلاً من لوحة التطوير وكابل البرمجة. دعنا نتخطاه الآن. لاحظ أنه يجب عليك توفير مصدر 5V للوحة. 44 دبوس PLCC فقط. على وجه التحديد ، لقد قمت ببرمجة Atmel ATF1504AS. يمكن توسيع مفهوم Ghetto CPLD بسهولة ليشمل أجهزة Atmel الأخرى ، ولكن هذا الجهاز بدا وكأنه حل وسط جيد بين السعر وسهولة الاستخدام والقدرة. يجب أن يمتد المفهوم أيضًا إلى الأجهزة الأخرى مثل تلك من Altera و Xilinx و Actel وما إلى ذلك. في الواقع ، ستعمل عائلة Max7000 EPM7032 و EPM7064 في نفس المقبس طالما أنك تستخدم إصدارات 44 دبوس PLCC. حتى الآن لم أستخدم سوى كابل برمجة Atmel ، لكن Altera Byte-Blaster مدعوم من قبل برنامج Atmel ويجب أن يعمل بشكل جيد أيضًا. إنه في الواقع تصميم أبسط قليلاً من كابل Atmel. (لقد صممت إصدار Atmel وهو يعمل ، لذا لم أجرب إصدار Altera.) تقدم SparkFun إصدارًا بقيمة 15 دولارًا من كابل Altera. نظرًا لأن هذا سيعمل مع كل من Atmel و Altera ، فإنني أوصي به. إذا كنت ستقوم بالتطوير باستخدام أجزاء Altera ، فستحتاج إلى الحصول على برنامج Altera أيضًا. لم أجرب هذا بالفعل ، لكن لا يوجد سبب أفكر في أنه لن ينجح. السرعة محدودة. نظرًا لأن نظام تطوير Ghetto CPLD مصمم بأسلاك يدوية ولا يوجد مستوى أرضي ، فلا تتوقع عملية موثوقة بسرعات تزيد عن بضعة ميغا هرتز. حتى هذا غير مضمون ، فقد تختلف المسافة المقطوعة! بالطبع ، إذا قمت ببناء نموذج أولي لجهاز يحتوي على مستوى أرضي ، فقد يعمل CPLD بشكل جيد بسرعات أعلى. فقط لا تتوقع أن يتم تثبيته بسرعة في نظام تطوير Ghetto.

الخطوة 1: اذهب اطلب الأجزاء

اذهب اطلب قطع الغيار
اذهب اطلب قطع الغيار

ستحتاج إلى مقبس 44 سنًا من plcc ، وبعض أغطية الفصل ، وبعض CPLDs غير المبرمجة ، ومآخذ توصيلات اللوح ، ومقاوم سحب وربما بعض لوحة الأداء لبنائها عليها. إذا كان لديك أي من هذا في صندوق البريد غير الهام الخاص بك ، فيمكنك توفير بضعة دولارات. من أجل راحتك ، إليك أرقام أجزاء Digikey: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND الكمية: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND الكمية: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND الكمية: 1 ، C1CAP CER.10UF 50V 20٪ DISC RAD PN: 478 -4275-1-ND الكمية: 4، C2-C5RES METAL FILM 5.10K OHM 1 / 4W 1٪ PN: P5.10KCACT-ND PC BOARD FR4 1-SIDE PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND قد تحتوي بعض الأجزاء على كميات قليلة ، ولكن يجب أن تظل رخيصة جدًا ، إذا كنت ترغب في إنشاء بعض الأضواء الوامضة (الخطوة 8) أو عمل مجموعة من المفاتيح (الخطوة 9) ، فقد ترغب في الطلب هؤلاء ايضا. ضع في اعتبارك أن لدى Digikey حدًا أدنى قدره 25 دولارًا لتجنب رسوم المناولة ، لذلك قد ترغب في الحصول على اثنين من CPLDs الإضافية غير المبرمجة أو معالج AVR أو اثنين فقط للمتعة ، أوصيك بشراء كابل برمجة Altera من SparkFun. ها هي أرقام الأجزاء. احصل على الكبل والموصل أيضًا. (بخلاف ذلك ، اطلب أجزاء من الكبل من Digikey إذا كنت تبني بنفسك.) مبرمج متوافق مع Altera FPGA PN: PGM-087052x5 Pin IDC Ribbon Cable PN: PRT-085352x5 Pin Shrouded Header PN: PRT-08506

الخطوة 2: الحصول على البرنامج وتثبيته

الحصول على البرامج وتثبيتها
الحصول على البرامج وتثبيتها

أنا أستخدم حاليًا سلسلة أدوات Atmel Prochip Designer 5.0. تتطلب هذه الأداة التسجيل في Atmel وملء استمارة الطلب الرسمية الخاصة بهم. أخبرتهم أنني مهندس تصميم ، عاطل عن العمل حاليًا ، وكان هدفي الأساسي هو تعلم أجهزتهم و VHDL (كل هذا صحيح ، راجع للشغل). وافقوا على طلب الترخيص. المصيد الوحيد هو أن الترخيص صالح لمدة 6 أشهر فقط. آمل أن أجد سلسلة أدوات المجال العام بحلول الوقت الذي تنتهي فيه صلاحيتها. لدى Altera أيضًا سلسلة أدوات يمكنني التحقق منها. سيكون موضع تقدير أي اقتراحات. شاهد التعليقات والروابط في الخطوة الأخيرة. يتوفر Atmel Prochip Designer 5.0 هنا. إذا حصلت عليه ، فتأكد من الحصول على Service Pack 1 له أيضًا.

الخطوة 3: عمل كابل البرمجة

صنع كابل البرمجة
صنع كابل البرمجة

أسهل طريقة هنا هي شراء عمل Altera Byte-Blaster على حد سواء من Sparkfun (انظر الخطوة 1). إذا كان مبلغ 15 دولارًا أكثر مما تهتم بإنفاقه ، فيمكنك استخدام SparkFun Altera Cable التخطيطي أو استخدام مخطط Atmel Cable التخطيطي وبناء الخدش. (إذا كان هناك الكثير من الاهتمام ببناء الكبل ، يمكنني تقديم بعض الاقتراحات ، ولكن يبدو أن مجموعة Sparkfun هي الإجابة الصحيحة بالنسبة لي.)

الخطوة 4: اصنع مهد المبرمج

جعل مهد المبرمج
جعل مهد المبرمج
جعل مهد المبرمج
جعل مهد المبرمج
جعل مهد المبرمج
جعل مهد المبرمج

الق نظرة على مبرمج اتميل. هذا مرن للغاية وهو خيار رائع إذا كان لديك دولارات وتخطط للقيام بالكثير من تطوير CPLD. أعتقد أن Altera تقدم شيئًا مشابهًا. لكنني اتبعت نهجًا أرخص - هذا ما يدور حوله كل هذا! تُظهر الصور مناظر أمامية وخلفية للمهد الذي قمت ببنائه. لاحظ مآخذ DIP المستخدمة كموصلات للوح. جميع المسامير الموجودة على جانب واحد من كل موصل متصلة بالأرض ؛ تتصل الدبابيس الموجودة على الجانب الآخر بدبابيس الإشارة الموجودة على CPLD. قمت أيضًا بتضمين بعض توصيلات الطاقة ؛ ضعها في مكانها المناسب. المخططات هي نوع من المخططات التصويرية. لا تظهر سوى وصلات الطاقة الإضافية. انظر إلى الصور للحصول على أفكار حول هذه.

الخطوة 5: بناء المهد - الجزء 1

بناء المهد - الجزء 1
بناء المهد - الجزء 1
بناء المهد - الجزء 1
بناء المهد - الجزء 1

ابدأ في بناء الحامل عن طريق إدخال المقابس في الأماكن التي تريدها. اترك صفًا أو صفين شاغرين حتى يكون هناك متسع لأغطية الفصل. يسهل هذا أيضًا الاتصال بدبابيس إشارة CPLD. اربط المقابس بقليل من اللحام أو الإيبوكسي اعتمادًا على نوع لوحة الأداء التي تستخدمها. اترك بعض المساحة الإضافية في الجزء العلوي (فوق السن 1 لمقبس CPLD) لموصل JTAG وموصل الطاقة. ارجع إلى الصور التي قمت بإنشائها ، قم بتوجيه سلك مكشوف (عيار 20 أو نحو ذلك) حول المقابس الخارجية لحافلة أرضية. قم بتوجيه الحافلة الكهربائية أيضًا. (السلك الأحمر في الصور.) ارجع إلى الصور للحصول على بعض الإرشادات ، ولكن من المحتمل أن يكون لوحك مختلفًا قليلاً - ولا بأس بذلك ، قم بتلحيم المسامير الخارجية للمآخذ في الحافلة الأرضية. سيساعد هذا في تثبيت سلك الحافلة.

الخطوة 6: بناء المهد - الجزء 2

بناء المهد - الجزء الثاني
بناء المهد - الجزء الثاني
بناء المهد - الجزء الثاني
بناء المهد - الجزء الثاني

قم بتثبيت أغطية الفصل وتوصيلها بالأرض ودبابيس الطاقة على كل جانب من مقبس CPLD. أقترح توجيه الأسلاك لأعلى وفوق الصفوف الخارجية للدبابيس للوصول إلى الصفوف الداخلية. ارجع إلى الرسوم التخطيطية لرقم التعريف الشخصي للحصول على المسامير الصحيحة - فإن دبوس الخروج من مقبس CPLD بعيد عن الوضوح. اترك مساحة كافية للسماح بالاتصال بأي دبابيس تقوم بتمرير الأسلاك عليها. بمجرد الانتهاء من توصيلات الغطاء ، قم بتوصيل الطاقة والحافلة الأرضية. جميع الدبابيس الحمراء في المخططات هي Vcc ويجب توصيلها. المسامير السوداء أرضية ويجب توصيلها أيضًا. مرة أخرى ، يعد توجيهها في الهواء طريقة جيدة. انظر إلى الصور للحصول على أفكار.

الخطوة 7: بناء المهد - خاتمة

بناء المهد - خاتمة
بناء المهد - خاتمة
بناء المهد - خاتمة
بناء المهد - خاتمة
بناء المهد - خاتمة
بناء المهد - خاتمة

قم بتوجيه وصلات JTAG إلى المسامير الصحيحة. قم بإلقاء نظرة على كابل البرمجة الخاص بك للتأكد من أن الموصل موجه بشكل صحيح. لا تنس سحب دبوس TDO. يظهر هذا في الصورة فقط ويتنقل بين دبوس TDO و Vcc. الخطوة الأخيرة هي توصيل كل دبوس إدخال / إخراج في CPLD بدبوس على المقابس. استخدم الأرقام في المخططات للوصلات. هذا يأخذ وقتا طويلا! إذا اتبعت مخطط الترقيم الخاص بي ، فيمكنك استخدام مخطط العرض العلوي كدليل عند ربط دوائرك. لست مضطرًا حقًا إلى ربط كل هذه الأشياء في البداية ، يمكنك الانتظار حتى تحتاج إليها للدوائر التي تصممها. تحقق من عملك بعناية. تأكد من عدم اختزال القوة والأرضية!

الخطوة 8: عمل Blinkenlights (إصدار TTL)

جعل وميض الضوء (إصدار TTL)
جعل وميض الضوء (إصدار TTL)

سترغب في رؤية دوائرك تعمل بالطبع. لذلك ستحتاج إلى بعض الأضواء الوامضة (التي اشتهرت بها The Real Elliot). المصيد الوحيد هو أن CPLDs لا تملك المخرجات السميكة التي تمتلكها معالجات AVR. استخدم مصابيح LED المصنفة لـ 10ma واستخدم مقاومات سلسلة 1KOhm. ستمنحك هذه إشارات خرج واضحة دون إجهاد مخرجات CPLD.

الخطوة 9: عمل مفاتيح

جعل مفاتيح
جعل مفاتيح
جعل مفاتيح
جعل مفاتيح

لتوفير محفزات لدوائرك ، ستحتاج إلى بعض المفاتيح. لديك بعض الخيارات هنا ، لكن المتطلبات مختلفة عن معالجات AVR. لا تحتوي نواتج CPLD على عمليات سحب مدمجة وليس من السهل القيام بذلك في البرامج. (هذا ممكن ، لكنه يأخذ الموارد التي ربما ترغب في استخدامها في دوائرك.) توفر مفاتيح DIP المعروضة عدة مفاتيح في حزمة ملائمة ، ولكن يجب سحبها لأعلى. لقد استخدمت 1K pull-up. يمكن عمل أزرار الضغط باستخدام الدائرة التي يوصي بها Atmel للوحة التجريبية الخاصة بهم. توجد المخططات في الصفحة 36 أو نحو ذلك ، وهناك خيار آخر يتمثل في توصيل معالج AVR لتوفير المحفزات - وحتى التحقق من الاستجابات. لكن هذا تمرين ترك للطالب.

الخطوة 10: قم بإنشاء دائرتك الأولى

قم بإنشاء دائرتك الأولى
قم بإنشاء دائرتك الأولى
قم بإنشاء دائرتك الأولى
قم بإنشاء دائرتك الأولى

بحلول هذا الوقت ، يجب أن تكون قد حصلت على البرنامج وتثبيته. اتبع البرنامج التعليمي الشامل والمفصل لإنشاء أول دائرة CPLD بسيطة (بوابة AND ذات دخلين ؛ لا تصبح أبسط بكثير). تأكد من تحديد الجهاز الصحيح (44 Pin PLCC ، 5V ، 1504AS [تفاصيل]) واختر أرقام توصيل الإدخال / الإخراج المتوفرة (لقد استخدمت 14 و 16 كمدخلات ؛ 28 كإخراج). تختلف هذه التفاصيل قليلاً عن البرنامج التعليمي ، لكن لا ينبغي أن تسبب لك أي مشكلة.

الخطوة 11: قم ببرمجة أول CPLD الخاص بك

برمجة أول CPLD الخاص بك
برمجة أول CPLD الخاص بك
برمجة أول CPLD الخاص بك
برمجة أول CPLD الخاص بك

قم بتوصيل كابل البرمجة الخاص بك بالمنفذ المتوازي على جهاز الكمبيوتر الخاص بك ، وقم بتوصيله بمهد المبرمج الخاص بك ، وقم بتوصيل 5 فولت بموصل الطاقة واتبع البرنامج التعليمي لبرمجة أول CPLD بالفعل. حدد الإصدار الصحيح للكابل. لاحظ أن Altera Byte-Blaster هو أحد الخيارات.

الخطوة 12: اختبر الجزء المبرمج الخاص بك

اختبر الجزء المبرمج الخاص بك!
اختبر الجزء المبرمج الخاص بك!
اختبر الجزء المبرمج الخاص بك!
اختبر الجزء المبرمج الخاص بك!

افصل كابل البرمجة عن الحامل. قم بتوصيل المفاتيح والمصابيح الوامضة بالمسامير الصحيحة ، وقم بتشغيل الطاقة ، وجربها. نظرًا لأنك تبدأ بدائرة بسيطة ، فإن الاختبار ليس تحديًا كبيرًا. إذا نجحت ، فأنت تعمل! سيرشدك مخطط العرض العلوي في توصيل المفاتيح والمصابيح الوامضة للاختبار.

الخطوة 13: النهاية وبعض موارد الويب

النهاية وبعض موارد الويب
النهاية وبعض موارد الويب

ليس الغرض من هذا البرنامج التعليمي تعليمك كيفية استخدام VHDL. (لقد بدأت للتو في التعرف على السبب وراء إنشاء المبرمج ، هل تتذكر؟) ومع ذلك ، فقد وجدت العديد من البرامج التعليمية المفيدة للغاية وبعض الموارد المفيدة التي يمكنني توجيهك إليها. تحظى التعليقات والاقتراحات الأخرى بتقدير كبير. لاحظ أنه يمكنك أيضًا استخدام نظام تطوير Ghetto CPLD لتعلم تقنيات برمجة Verilog وغيرها من تقنيات البرمجة CPLD التي لا تهتم بها الأجهزة. موارد VHDL على الويب: الأساسيات وبعض الروابط هنا وهنا. أدوات مجانية. البرامج التعليمية التي أحبها موجودة هنا وهنا ، لكنك ستجد الكثير من البرامج الأخرى ، أخيرًا (في الوقت الحالي) ، سترغب في التحقق من مجموعة المناقشة ، استمتع ، وتعلم الكثير ، وشارك ما تعرفه.

موصى به: