منذ حوالي عشر سنوات ، حصلت على بطاقات فيديو ISA من 286 ... 486 آلة مخصصة للإغراق. تم اختبار بطاقات الفيديو ومنذ ذلك الحين تجمع الغبار في درج. قبل بضع سنوات ، كنت أفكر ، ولكن هل يجب أن أقوم بتوصيل بطاقة الفيديو هذه بوحدة تحكم دقيقة؟ هذا ما سأتحدث عنه في المقالة.
لتوصيل بطاقة فيديو ISA قديمة ، يكفي ناقل بيانات 8 بت وناقل عنوان 20 بت. وحدات التحكم الدقيقة أحب عائلة AVR لبساطتها ، لذلك أخذت Atmega16. ولكن يمكنك أن تأخذ أي شيء مناسب لك - في هذه الحالة ، ستكون أرجل stm32 نفسها كافية بدون ربط خارجي. لكن Atmega16 ليس لديه أرجل كافية لجميع هذه الحافلات ، لذلك تم تجميع ناقل العنوان في ثلاثة سجلات موازية سوفياتية أخرى (لدي كمية كبيرة منها) K588IR1. يقوم المتحكم الدقيق بدوره بتعيين أجزاء العنوان في هذه السجلات الثلاثة. المزيد غير مطلوب.

على موصل ISA ، يجب توصيل مخرجات هذه الدائرة على النحو التالي:
+5 ،
+12 ،
GND
REFRESH (يتم سحبه إلى + 5 فولت من خلال المقاوم) ،
A0-A19 ،
D0-D7 ،
إعادة
Memw ،
Memr ،
IOW
IOR
البيرة
RDY ،
AEN (يتصل بـ GND).
في الصورة باللون الأحمر ، قمت بتمييز دبابيس موصل ISA التي يجب توصيلها.
بالنسبة لبعض بطاقات الفيديو ، تحتاج إلى توصيل -5 فولت و -12 فولت (يجب عليك الحصول عليها في مكان ما - على سبيل المثال ، من مصادر TracoPower) وإشارة OSC (14.318 ميجاهرتز) - يمكن إنشاؤها بواسطة أبسط مولد على K155LN1. لا تحتاج بطاقات الرسومات الأخرى إلى هذه الخطوط. هنا كم هو محظوظ. بشكل عام ، إذا كانت القدم المقابلة على ISA معلقة في الهواء على بطاقة الفيديو ، فلا يمكنك بالتأكيد توصيلها. ضع في اعتبارك أن استهلاك بطاقة الفيديو على خط + 5V كبير للغاية - إذا كنت تستخدم شيئًا مثل LM7805 لإمدادات الطاقة ، فتأكد من وضعها على المبرد (يفضل أن يكون مع مروحة).
شخصيا ، يبدو تصميمي المجمع كما يلي:

الشيء الوحيد المتبقي هو تهيئة بطاقة الفيديو بطريقة أو بأخرى والبدء في العمل معها. هناك مشاريع مماثلة على الإنترنت - لقد وجدت (
رابط ) واحد ، حيث حصلت على رمز التهيئة لبطاقة الفيديو Trident 9000i. في نفس البرنامج من الإنترنت ، يوجد رمز التهيئة لـ Trident9000C ، لكن التعليقات تشير إلى أنه لا يعمل. راجعت. لا يعمل حقًا - على الشاشة لا يستجيب القمامة وبطاقة الفيديو لكتابة البيانات إلى ذاكرة الوصول العشوائي.
فيديو العمل (تم نقل الصورة عبر SPI إلى Atmega16 (كما ترى ، هذه الخطوط تُترك مجانية في الرسم التخطيطي) من خلال منفذ LPT الخاص بالكمبيوتر):
(لقد قمت بالحجز في الفيديو - وضع 320 × 200 وليس 320 × 240)
من خلال دمج هذه الوحدة مع الماوس البصري (
مقالة حول استخدام مستشعر الماوس ) ، حصلت على ما يلي:
إذا كانت لديك رغبة في تشغيل أي بطاقة رسومات ISA موجودة ، فيجب عليك عندئذٍ العثور على BIOS لبطاقة الفيديو المطلوبة (على سبيل المثال ،
هنا ) على الإنترنت وتفكيكها باستخدام IDA. يوجد رمز X86 عادي. لا يبدأ في العنوان 0 - يوجد توقيع (2 بايت) ومجموع اختباري (1 بايت). الإجمالي ، يجب أن تبدأ بالبايت الثالث. واستمر في معرفة المنافذ التي تحتاج إلى تسجيلها حتى تعمل البطاقة. بصراحة ، لم يكن لدي الصبر لفهم ما هو الخطأ في Trident9000C.
للعمل مع ناقل ISA ، تم كتابة وحدة نمطية:
تهيئة بطاقة الرسومات Trident 9000i هي كما يلي:
تهيئة رسومات Trident 9000i لقد أطلقت أيضًا بطاقة فيديو OAK OTI077 (حتى قمت بتطبيق 12 فولت عن طريق الخطأ وحرقت):
تهيئة بطاقة الرسومات OAK OTI077 بالمناسبة ، هل هناك أي متخصصين في تسجيل محول VGA هنا؟ أرى أشياء غريبة في رمز تغيير وضع الفيديو عند تهيئة بطاقة الفيديو:
هنا ، بشكل عام ، لا يوجد شيء خاص. تتم الكتابة على سجلات وحدة تحكم السمة بخطوتين: أولاً نكتب رقم التسجيل ، ثم البيانات. للبدء دائمًا بتسجيل الرقم ، اقرأ ISR1 (من 0x03DA) - هكذا هو الأمر.
ولكن هذا هو الشيء الغريب. ليس لدى وحدة تحكم السمة تسجيل 0x20! لديه آخر تسجيل 0x14. وحتى لو كان هناك مثل هذا السجل ، فلماذا لا يوجد سجل قيم؟ يجب أن يكون هناك إدخالان في المنفذ. وهنا هي وحدها. لقد بحثت في الإنترنت ووجدت أنه لسبب ما (لم أجد هذا في الكتب) ، يمكنك الكتابة ، على سبيل المثال ، في تسجيل 0x10 القيمة 0x20 في كل مرة ببساطة عن طريق دمج البتات: System_Out8 (ATTRCON_ADDR، 0x10 | 0x20) ؛ ثم يكتب السجل المحدد 0x20 إلى التسجيل 0x00؟ ولكن لماذا يعمل هذا؟ وهل هذا صحيح؟ هذا مثير للاهتمام بالنسبة لي ، لهذا السبب - الأمر برمته هو أنه في بعض الأحيان يسقط اللون بعد التهيئة. لم يتم ضبط اللوحة ببساطة. يمكن ملاحظة أنه يتغير ، لكن الألوان ليست على الإطلاق كما يجب أن تكون. إذا تمت التهيئة مرة أخرى ، فسيتم استعادة كل شيء. في أي مرحلة يحدث هذا غير واضح. من الناحية التجريبية ، اكتشفت أنه مع احتمالية عالية ، فهذا مجرد تثبيت لوضع الفيديو. لكن ما هو غير موجود بالضبط ، لا أفهم.
←
ربط الأرشيف مع لوحة الدوائر المطبوعة
→
رابط الأرشيف مع البرامج الثابتة