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

6502 كمبيوتر صغير (مع Arduino MEGA) الجزء 1: 7 خطوات
6502 كمبيوتر صغير (مع Arduino MEGA) الجزء 1: 7 خطوات

فيديو: 6502 كمبيوتر صغير (مع Arduino MEGA) الجزء 1: 7 خطوات

فيديو: 6502 كمبيوتر صغير (مع Arduino MEGA) الجزء 1: 7 خطوات
فيديو: Arduino MASTERCLASS | Full Programming Workshop in 90 Minutes! 2024, شهر نوفمبر
Anonim
6502 كمبيوتر صغير (مع Arduino MEGA) الجزء 1
6502 كمبيوتر صغير (مع Arduino MEGA) الجزء 1

ظهر المعالج الدقيق 6502 لأول مرة في عام 1975 وتم تصميمه بواسطة فريق صغير بقيادة Chuck Peddle لشركة MOS Technology. في ذلك الوقت كانت تستخدم في وحدات تحكم الفيديو وأجهزة الكمبيوتر المنزلية بما في ذلك Atari و Apple II و Nintendo Entertainment System و BBC Micro و Commodore VIC20 و 64. في ذلك الوقت كانت واحدة من أرخص الأجهزة في السوق. لم يختف أبدًا ، والآن يستخدمه الهواة والمحترفون في العديد من التطبيقات.

الإصدار الذي أستخدمه هو W65C02S6TPG-14 الذي صنعه Western Design Center ويستخدم طاقة أقل بعشر مرات من الأصل. إنه مميز لأنه لا يجب أن يعمل بسرعة 1 ميجاهرتز مثل الشريحة الأصلية. يمكن أن يعمل بشكل أبطأ بكثير أو يمكن استخدامه لخطوة واحدة من خلال برنامج وحتى زيادة تصل إلى 14 ميجاهرتز. توضح ورقة البيانات الخاصة بالرقاقة إمكانياتها. لا تتمتع رقائق 6502 الأخرى بهذه الإمكانية ولن تعمل بهذه الطريقة. الرقائق متاحة حاليًا على موقع Ebay بالإضافة إلى مصادر أخرى.

اللوازم

جميع الأجزاء المستخدمة متوفرة حاليًا على موقع Ebay و AliExpress وغيرها.

الخطوة 1: المفهوم

لقد استوحيت إلهامي من Ben Eater الذي أنتج سلسلة من مقاطع الفيديو على YouTube حول 6502 والعديد من الجوانب الأخرى لبناء أجهزة الكمبيوتر والدوائر. لقد كتب البرنامج في الأصل وقمت بتعديل هذا وبعض تصميماته للتوصل إلى هذا Instructable. الشخص الآخر الذي ألهمني هو Andrew Jacobs الذي لديه قسم على GitHub حيث يستخدم PIC micro للتحكم في 6502.

مثل Ben ، أنا أستخدم Arduino MEGA لمراقبة 6502. أنا أيضًا أستخدم MEGA لتوفير إشارة الساعة على عكس Ben. في الوقت الحالي أنا لا أستخدم أي ذاكرة وصول عشوائي أو ذاكرة وصول عشوائي.

الخطوة 2: المتطلبات

متطلبات
متطلبات

لإنشاء هذا "الكمبيوتر" ، تكون قائمة العناصر كما يلي:

1 × اردوينو ميجا

1 × Western Design Center W65C02S6TPG-14

1 × 74HC00N IC (بوابة NAND رباعية دخلين) أو ما شابه ذلك

1 × 74HC373N IC (مزلاج شفاف من النوع D المثمن) أو ما شابه ذلك

2 × 830 لوح خبز ثقوب (1 عند قليل)

مختلف ذكر دوبونت - خيوط ذكور وأسلاك ربط

2 × مصابيح LED (استخدمت 5 مم باللون الأزرق حيث يمكنك الابتعاد بدون مقاومات)

1 × 12 مم لحظة اللمس زر التبديل ثنائي الفينيل متعدد الكلور شنت SPST أو ما شابه ذلك

1 × 1 كيلو المقاوم

مكثفات سيراميك 2 × 0.1 فائق التوهج

1 x 8 Way Water Light Marquee 5mm Red LED (على النحو الوارد أعلاه) أو 8 LEDs والمقاومات

ملاحظة: إذا حصلت على المجموعة غير الملحومة ، فيمكنك إدخال مصابيح LED بالطريقة الخاطئة بحيث تكون كاثودًا شائعًا. أقوم بإرفاق سلك ذبابة (بدلاً من الدبوس) بحيث يمكن توصيله بسهولة في مكان آخر. أصبح VCC الآن أرضيًا. يمكنك بالطبع قلب مصابيح LED (على عنصر مُجمَّع) وإعادة لحامها ، لكن هذا كثير من العبث! أطقم متوفرة حاليا على AliExpress.

الخطوة 3: ضعها معًا

نضعها معًا
نضعها معًا
نضعها معًا
نضعها معًا

لقد وجدت أنه من الأسهل استخدام أسلاك DuPont الجديدة التي لم يتم فصلها عن الشريط الخاص بها في العنوان وناقلات البيانات.

قم بتوصيل السن 9 (A0) من 6502 بالدبوس 52 من MEGA ،

دبوس 10 (A1) من 6502 إلى دبوس 50 إلخ …

حتى

قم بتوصيل السن 25 (A15) من 6502 بالدبوس 22 من MEGA.

16 اتصالا حتى الآن.

بطريقة مماثلة

قم بتوصيل دبوس 26 (D7) من 6502 إلى دبوس 39 من MEGA ،

دبوس 27 (D6) من 6502 إلى دبوس 41 وما إلى ذلك …

حتى

قم بتوصيل دبوس 33 (D0) من 6502 إلى دبوس 53 من MEGA.

8 اتصالات أخرى.

قم بتوصيل دبوس 8 (VDD) بـ 5 فولت على MEGA.

قد يكون مكثف 0.1 فائق التوهج متصل من السن 8 إلى Gnd من لوح الخبز مفيدًا هنا ولكن ليس ضروريًا.

قم بتوصيل دبوس 21 (VSS) بـ Gnd على MEGA.

يمكن ربط الدبابيس 2 و 4 و 6 و 36 و 38 بـ 5 فولت

قم بتوصيل الدبوس 37 (الساعة) بالدبوس 2 والدبوس 7 من MEGA.

قم بتوصيل الطرف 34 (RWB) بالدبوس 3 من MEGA.

قم بتوصيل دبوس 40 (إعادة تعيين) كما في الرسم التخطيطي أعلاه.

الخطوة 4: اختبار الدائرة

اختبار الدائرة
اختبار الدائرة

في هذه المرحلة سيعمل 6502 ويمكن استخدام البرنامج 1. إذا كنت تستخدم المستطيل ذي 8 اتجاهات (على النحو الوارد أعلاه) ، فيمكن إدخاله مباشرة في اللوح وتوصيل سلك التوصيل بالأرض ، أو يمكنك استخدام 8 مصابيح LED ومقاومات. سيُظهر مؤشر LED ما هو موجود في ناقل البيانات.

في هذه المرحلة ، سيكون من الأفضل أيضًا ضبط التأخيرات في الحلقة () على 500 أو أكثر ، لمتابعة ما يحدث.

يجب أن تحصل على إخراج مماثل على Serial Monitor مثل الموجود أعلاه. عند الضغط على "إعادة التعيين" ، يمر المعالج بـ 7 دورات ثم يبحث عن بداية البرنامج في المواقع $ FFFC و $ FFFD. نظرًا لعدم وجود عناوين فعلية لـ 6502 لقراءتها ، يتعين علينا توفيرها من MEGA.

في الناتج أعلاه ، يقرأ 6502 $ FFFC و $ FFFD ويحصل على $ 00 و $ 10 (بايت منخفض ، بايت مرتفع) وهو بداية البرنامج عند 1000 دولار. يبدأ المعالج بعد ذلك في تنفيذ البرنامج في الموقع 1000 دولار (على النحو الوارد أعلاه). في هذه الحالة ، يقرأ A9 دولارًا و 55 دولارًا ، أي LDA # 55 دولارًا (تحميل 85 في المجمع). مرة أخرى نظرًا لعدم وجود موقع ذاكرة فعلي ، يحاكي MEGA ما يُقرأ من ناقل البيانات.

55 دولارًا (85) يعطي النمط الثنائي 01010101 وعند التدوير 1 بت لليسار يعطي $ AA (170) 10101010.

يوضح البرنامج أن المعالج يعمل بشكل صحيح ولكن سرعان ما يصبح مملاً قليلاً ، وهكذا إلى الجزء التالي.

الخطوة 5: الخطوة التالية

الخطوة التالية
الخطوة التالية
الخطوة التالية
الخطوة التالية

ربما تكون "كومة السباغيتي" أعلاه شبيهة بما ستحصل عليه بعد هذه المرحلة.

بعد ذلك ، تحتاج إلى إضافة 74HC373N و 74HC00N ICs إلى لوحة التجارب.

لسوء الحظ ، لا تتوافق دبابيس 373 مع ناقل البيانات ، لذا ستحتاج إلى توصيلها بالأسلاك.

قم بتوصيل 5 فولت برقم 20.

قم بتوصيل الأرض بالدبوس 10.

قم بتوصيل السن 33 (D0) من 6502 إلى السن 3 (D0) من 74HC373N

وبالمثل مع المسامير D1 إلى D7.

Q0 إلى Q7 هي المخرجات وستحتاج إلى الاتصال بمؤشر LED أو المصابيح والمقاومات الفردية.

مع 74HC00 هناك حاجة إلى بوابتين فقط

قم بتوصيل 5 فولت بالدبوس 14.

قم بتوصيل الأرض بالدبوس 7.

قم بتوصيل السن 17 (A8) من 6502 إلى السن 1 (1A) من 74HC00

قم بتوصيل السن 25 (A15) من 6502 إلى السن 2 (1B) من 74HC00

قم بتوصيل دبوس 34 (R / W) من 6502 إلى الطرف 5 (2B) من 74HC00

قم بتوصيل السن 3 (1Y) من 74HC00 بالدبوس 4 (2A) من 74HC00

قم بتوصيل السن 6 (2Y) من 74HC00 بالدبوس 11 (LE) من 74HC373N

قم بتوصيل دبوس 11 (LE) من 74HC373N إلى الطرف 1 (OE) من 74HC373N

يمكنك توصيل مؤشر LED أزرق بـ 1Y والأرضي وكذلك 2Y بالأرض ، وهذا سيشير إلى أن البوابة نشطة.

أخيرًا ، قم بتغيير الخط في إجراء onClock من program1 إلى program2

setDataPins (program2 [offset]) ،

الخطوة السادسة: البرنامج

البرنامج
البرنامج
البرنامج
البرنامج

يحتوي برنامج 6502-Monitor على الإجرائين 6502 الموصوفين أعلاه.

البرنامج لا يزال قيد التطوير وهو غير مرتب بعض الشيء.

عند تشغيل البرنامج 2 ، يمكن أن تكون التأخيرات في الحلقة () 50 أو أقل وحتى يمكن إزالتها تمامًا. كما أن التعليق على سطور Serial.print () يجعل 6502 يعمل بشكل أسرع. ينتج عن فصل الدبوس 1 (OE) من 373 من السن 11 (LE) نتائج مختلفة. يتيح لك فصل الدبوس 1 والدبوس 11 من 373 من بوابات NAND رؤية ما هو موجود في ناقل البيانات في كل دورة على مدار الساعة.

قد تحتاج إلى ربط OE بالأرض بدلاً من تركه عائمًا لأن خطوط الإخراج الثمانية معطلة إذا ارتفع هذا الدبوس. عندما يكون دبوس LE مرتفعًا ، تكون دبابيس الإخراج هي نفسها المدخلات. يؤدي أخذ دبوس LE منخفضًا إلى إغلاق المخرجات ، أي إذا تغيرت دبابيس الإدخال ، تظل المخرجات كما هي.

لقد حاولت أن أبقي البرنامج بسيطًا قدر الإمكان لتسهيل فهمه.

تتيح لك تجربة التأخيرات الزمنية متابعة ما يفعله 6502 بالضبط.

فيما يلي البرنامجان (كلاهما يعمل على العنوان 1000 دولار) في مجمع 6502:

برنامج 1

LDA # 55 دولارًا

لا

رول

1010 دولارات أمريكية

1000 دولار أمريكي

يقوم ROL بتدوير محتويات المجمع بمقدار بت واحد إلى اليسار مما يعني أن 55 دولارًا أصبح الآن AA دولارًا.

في كود الآلة (سداسي): A9 55 EA 2A 8D 10 10 4C 00 10

برنامج 2

LDA # 01 دولارًا

8100 دولار أمريكي

ADC # 03 دولار

8100 دولار أمريكي

1005 دولار أمريكي

في كود الآلة (سداسي عشري): A9 01 8D 00 81 69 03 8D 00 81 4C 05 10

في البرنامج 2 يوجد الآن عنوان مادي 8100 دولار حيث يوجد 74HC373 في ناقل العنوان.

أي A15 من 6502 هو 32768 (8000 دولار) و A8 هو 256 (0100 دولار) = 33024 (8100 دولار).

لذلك عندما يكتب 6502 إلى 8100 دولار (STA $ 8100) ، يكون R / W لـ 6502 منخفضًا ويتم إغلاق البيانات الموجودة على ناقل البيانات 6502 عندما ينخفض 373 جنيهًا مصريًا. بسبب بوابة 74HC00 NAND ، تنعكس الإشارات.

في الشاشة أعلاه ، زادت الكتابة الثانية بمقدار 3 (ADC # 03 دولارًا) - انتقلت من 7 دولارات إلى 82 دولارًا.

في الواقع ، سيتم استخدام أكثر من سطرين من ناقل العنوان للموقع المحدد لـ 373. نظرًا لأن هذا هو العنوان الفعلي الوحيد من بين 65536 الممكنة ، فإنه يوضح كيفية عمل ناقل العنوان. يمكنك تجربة دبابيس عنوان مختلفة ووضعها في مكان مختلف. بالطبع ، سوف تحتاج إلى تغيير معاملات STA إلى الموقع الجديد. على سبيل المثال إذا استخدمت سطري العنوان A15 و A9 ، فسيكون العنوان 8200 دولار (32768 + 512).

الخطوة 7: الخاتمة

استنتاج
استنتاج

لقد حاولت أن أوضح مدى سهولة الحصول على 6502 وتشغيله.

أنا لست خبيرا في هذا المجال لذلك أرحب بأي تعليقات أو معلومات بناءة.

نرحب بك لتطوير هذا الأمر أكثر وسأكون مهتمًا بما قمت به.

أعتزم إضافة EEPROM و SRAM و 6522 إلى المشروع بالإضافة إلى وضعه على لوحة الشريط في المستقبل.

موصى به: