تجميع جهاز كمبيوتر 8 بت: كيفية تقليل عدد الرقائق إلى ست


إن الجمع بين الخدعة القديمة مع ترميز ألوان NTSC والحديد الحديث يجعل من الممكن تجميع آلة فعالة بشكل

مدهش.تحتوي أنظمة 8 بت على شيء جذاب بشكل دائم: يمكنك بناء نظام مستقل قوي بما يكفي لدعم تفاعل المستخدم الكافي ، ولكنه بسيط بما يكفي تجميع وبرمجة بنفسك. ترتبط معظم الآلات الحديثة ذات 8 بتات التي تم إنشاؤها بواسطة الهواة بالمعالجات الكلاسيكية التي عاشت في العصر الذهبي لأجهزة الكمبيوتر المنزلية في الثمانينيات ، عندما تم استخدام الملايين من أجهزة التلفزيون كشاشات عرض. في البداية ، كانت الفكرة بناء سيارتي على أساس معالج موتورولا 6809من نفس الحقبة. حاولت استخدام أقل عدد ممكن من الرقائق ، ولكن على الرغم من جهودي ، ما زلت بحاجة إلى 13 شريحة إضافية للعمل مع ذاكرة الوصول العشوائي ونقل البيانات التسلسلي. ثم فكرت: ماذا لو كنت أستخدم معالج 8 بت أكثر حداثة؟ كم يمكنني تقليل عدد الرقائق التي أحتاجها؟


ونتيجة لذلك ، جمعت سيارة عليها ، كانت تسمى الجمشت . مثل أي جهاز كمبيوتر منزلي ، يحتوي على لوحة مفاتيح مدمجة ويمكنه إخراج الصوت والفيديو. كما أن لديها لغة برمجة مدمجة عالية المستوى بحيث يمكن للمستخدمين كتابة برامجهم الخاصة بها. تمكنت من تقليل عدد الدوائر المصغرة إلى ستة: ATMEGA1284P CPU ، واجهة USB وأربع دوائر متكاملة بسيطة.

يحتوي ATMEGA1284P (أو 1284P) لعام 2008 على 128 كيلو بايت من ذاكرة الفلاش و 16 كيلو بايت من ذاكرة الوصول العشوائي. يمكن أن يعمل بتردد يصل إلى 20 ميجا هرتز. يحتوي على وحدات تحكم تسلسلية مدمجة و 32 مدخلات / مخرجات رقمية.



بفضل الذاكرة المدمجة والواجهات التسلسلية ، اختفت الحاجة إلى العديد من الرقائق المساعدة. يمكنني توليد الصوت بشكل مباشر ومقاطعة وتطبيق إشارة على الإدخال / الإخراج بترددات مختلفة. وهكذا ، تعلمت أن أعطي نغمة تمتلك حدة مميزة للموجة المربعة. ولكن ماذا عن توليد إشارة فيديو تمثيلية؟ هل سيتطلب هذا حقا معدات خاصة؟

خدعة قياسية


في نهاية عام 2018 ، رأيت خدعة استخدمها ستيف وزنياك في السبعينيات لتنفيذ دعم الرسومات الملونة في Apple II. في الولايات المتحدة الأمريكية ، تم استخدام هذه الخدعة للبث الملون في نظام NTSC في الخمسينات.

في البداية ، كان التلفزيون الأمريكي أبيض وأسود فقط واستخدم معيار NTSC البسيط إلى حد ما (تم تطويره بواسطة اللجنة الوطنية لأنظمة التلفزيون). لتكوين صورة على الشاشة ، تتبع شعاع إلكترون النقاط على سطحه ، صف بعد صف. يحدد اتساع إشارة الفيديو المستقبلة سطوع الحزمة في أي مكان على طول الصف. ثم في عام 1953 ، تم ترقية NTSC لدعم التلفزيون الملون ، مع الحفاظ على التوافق مع أجهزة التلفزيون الموجودة بالأبيض والأسود.

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



« »: , [ ], - , [ ]. . [ ] , : . [ ], .


ينظر التلفزيون الأبيض والأسود إلى إشارة اللون على أنها ضوضاء وتتجاهلها. لكن التلفزيون الملون يمكنه فصل إشارة اللون عن إشارة النصوع باستخدام حلقات التصفية.

في السبعينيات ، أدرك المهندسون أن نظام التصفية هذا يمكن أن يكون مفيدًا جدًا لأجهزة الكمبيوتر المنزلية لأنه يسمح للإشارة الرقمية المستطيلة بمحاكاة معظم الإشارات التناظرية المركبة. سينظر إلى تدفق الأصفار التي يرسلها الكمبيوتر إلى التلفزيون على أنه جهد ثابت تناظري منخفض التردد ، أي أسود. سيتم اعتبار تدفق الوحدات كجهد ثابت عالي التردد ، أي أبيض. ولكن مع معدل بت مرتفع بما فيه الكفاية ، ستنشأ هياكل ثنائية أكثر تعقيدًا تتعرف عليها أنظمة تصفية التمرير العالي كإشارات ملونة. سمحت هذه الحيلة لـ Apple II بعرض ما يصل إلى 16 لونًا.

في البداية ، اعتقدت أنني بحاجة إلى تبديل دبوس الإدخال / الإخراج بسرعة كبيرة من أجل توليد إشارة فيديو مباشرة. ومع ذلك ، سرعان ما أدركت أنه مع تشغيل 1284P عند 14.318 ميجاهرتز ، لم أتمكن من تبديله بسرعة كافية لعرض أكثر من أربعة ألوان. والحقيقة هي أن واجهاتها التسلسلية المدمجة ستحتاج إلى دورتين على مدار الساعة لإرسال بت واحد ، مما سيحد من تردد ساعتي إلى 7.159 ميجاهرتز. استخدمت Apple II وصولاً سريعًا للذاكرة المباشرة لتوصيل الشريحة الخارجية بإخراج الفيديو ، بينما كانت وحدة المعالجة المركزية الخاصة بها مشغولة بالمعالجة الداخلية. ولكن ، بما أن ذاكرة الوصول العشوائي لجهاز الكمبيوتر مدمجة في الشريحة ، فلا يمكنني استخدام هذا النهج.

لذلك نظرت إلى أدراجي وأخرجت أربع دوائر صغيرة من السلسلة 7400 - اثنان من معددات الإرسال وسجلا تحويل متوازيين. تمكنت من تثبيت ثمانية دبابيس 1284P بالتوازي وإرسال البيانات منها في وقت واحد إلى معددات الإرسال وسجلات التحول ، والتي تحولها إلى دفق بت تسلسلي عالي السرعة. وبالتالي ، تعلمت كيفية إنشاء وحدات البت بسرعة كافية لعرض حوالي 215 لونًا مختلفًا على الشاشة. ومع ذلك ، كان علي أن أدفع ثمنها باستخدام قوة الحوسبة الخاصة بي: معالجة الفيديو تستهلك باستمرار 75 ٪ من موارد المعالج.



كمبيوتر مدمج


الجمشت هو كمبيوتر واحد. يتم تجميعه من ست دوائر متكاملة فقط - معالج وواجهة USB وأربع دوائر دقيقة من السلسلة 7400 ، يتم استخدامها لإنشاء صورة 215 لونًا. مفاتيح لوحة المفاتيح ملحومة مباشرة على اللوحة ، والتي تدعم أيضًا الصوت وأربعة اتصالات إدخال / إخراج تسلسلية للأجهزة الطرفية مثل أجهزة التحكم في الألعاب وأجهزة التخزين. يمكنك كتابة البرامج وتشغيلها بفضل الآلة الافتراضية المدمجة Forth.

كنت بحاجة إلى بيئة برمجة خفيفة للمستخدمين ، مما جعلني أختار Forth بدلاً من Basic التقليدية. الرابعة هي لغة برمجة قديمة للأنظمة المدمجة ، وهي تدعم التفاعل وقادرة على ترجمة التعليمات البرمجية بكفاءة. مع ذلك ، يمكنك القيام بالكثير باستخدام الحد الأدنى من الموارد. نظرًا لأن 1284P لا يسمح بتنفيذ رمز الجهاز المترجم مباشرةً من ذاكرة الوصول العشوائي الخاصة به ، يتم تجميع رمز المستخدم بدلاً من ذلك في رمز بايت متوسط. ثم يتم تغذية هذا الرمز الثانوي كمدخل إلى آلة افتراضية تعمل من ذاكرة فلاش 1284P. تم كتابة رمز الجهاز الظاهري في المجمع وتم تحسينه يدويًا لجعله في أسرع وقت ممكن.

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

الملفات التخطيطية الكاملة ، PCB للوحة الدائرة ، وشفرة المصدر متوفرة في مستودع GitHub . حتى تتمكن من إنشاء جمشت الخاص بك أو حتى تحسين مشروعي. ماذا لو كان بإمكانك معرفة كيفية توفير بضع رقائق أخرى؟


All Articles