قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

ali79
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2007
المشاركات: 117
نشاط [ ali79 ]
قوة السمعة:0
قديم 26-11-2010, 12:02 PM المشاركة 1   
افتراضي ربط شاشة الهاتف Nokia 6100 مع متحكم pic Twitter FaceBook Google+



بسم الله الرحمن الرحيم
بداية احببت أن أنقل لكم هذا الموضوع لأهميته حول ربط شاشة نوكيا 6100 مع متحكمات ال pic
من المعلوم لدى العاملين في تصميم الدارات الإلكترونية مدى الارتفاع الكبير في تكاليف شاشات الكريستال السائل المستخدمة مع المتحكمات الصغرية ، وخصوصا تلك الشاشات الرسومية Graphic LCD ، التي يبدأ سعرها من 20 دولار تقريبا ( الشاشة 128 × 64 سعرها حوالي 1000 ليرة في السوق المحلية ) ، لذلك قد يصعب على الهواة و الطلاب اقتناء أمثال هذه الشاشات دون ضرب الأخماس بالأسداس لتوفير ثمنها من المصاريف اليومية ( إن كان مهتما بالموضوع حقا ) ، لذلك سأبين في هذه المقالة طريقة ربط الشاشة الملونة المستخدمة في هاتف Nokia 6100 ( التي لا يتجاوز سعرها 250 ليرة أو 5 دولارات ) مع المتحكم PIC18F452 أو أي متحكم آخر يملك الذاكرة الكافية ، فلنبدأ ....


مواصفات الشاشة التي سنستخدمها :

أبعاد الصورة : 132 × 132 بيكسل - Pixel
الدقة : ترميز الألوان وفق نمطين للعمل : 8 بتات ( 256 لون ) أو 12 بت ( 4048 لون )
التغذية الكهربائية : 3.3 فولت
الربط : بروتوكول SPI التسلسلي بنمط 9 بت .
أهم نقطة في استخدام هذه الشاشة هي معرفة نوع المتحكم المبيت ضمنها ، فقد يكون المتحكم PCF8833 من شركة Philips أو المتحكم S1D15G00 من شركة Epson ، و يمكنك التفرقة بين النوعين بمقارنة لون الدارة المطبوعة الموجودة أسفل الشاشة ، وكلاهما قابلان للاستخدام طبعا مع مراعاة تعديل البرنامج الخاص بالمتحكم . طبعا يمكنك الحصول على النشرة الفنية للمتحكمين المذكورين من :

Philips/NXP PCF8833
Epson S1D15G00

هذه المقالة ستعنى بشكل أساسي بالمتحكم S1D15G00 ، أي الشاشة ذات الدارة الخضراء كما هو مبين في الصورة :


التعديل الأخير تم بواسطة : ali79 بتاريخ 26-11-2010 الساعة 12:08 PM
اعلانات

ali79
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2007
المشاركات: 117
نشاط [ ali79 ]
قوة السمعة:0
قديم 26-11-2010, 12:12 PM المشاركة 2   
افتراضي


[IMG][/IMG]



توجيه الشاشة :
تمتلك الشاشة كما ذكرنا 132 × 132 بكسل ، و لكن البكسلات الموجودة على الأطراف غير مرئية تماما ، لذا فالحجم الفعال هو 130×130 بكسل ، و التوجيه الافتراضي موضح بالشكل
[IMG][/IMG]

التخاطب مع الشاشة :

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

مع إرسال أي بايت للشاشة يجب أن نحدد نوعه ( Command أو Data ) لذلك نستخدم بتا إضافيا يتم إرساله أولا ، و هو يعني بايت معطيات إن كان فعالا ( High ) أو بايت تحكم إن كان غير فعال ( Low )، وذلك مبين في المخطط الزمني التالي :



المشكلة التي تبدو للوهلة الأولى هي كون وحدة MSSP في متحكمات PIC16 - PIC18 بعرض 8 بت ، فكيف سنرسل 9 بتات في كل أمر ؟ يوجد حلان من وجهة نظري :

كتابة برنامج SPI بعرض 9 بت بدون استخدام وحدة MSSP في المتحكم ، و هذه الطريقة توفر منفذ SPI لأغراض أخرى أكثر أهمية ، و يمكن استخدامها مع أي بوابة تمتلك ثلاثة أرجل شاغرة ( إذا أردنا استخدام رجل التصفير للشاشة )، لكنها محدودة السرعة ، وتشغل المعالج لفترة طويلة نسبيا .
استخدام وحدة MSSP و ذلك بإرسال بت التحكم بشكل برمجي ، ثم نقوم بتفعيل وحدة MSSP بنمط SPI و نرسل البقية بالطريقة الاعتيادية ، هذه الطريقة هي الأعلى سرعة ، لكنها توجب مشاركة مسرى SPI مع دارات أخرى إن كان مستخدما ، وذلك يتطلب رجلا أخرى لاختيار الشاشة من بين الدارات الأخرى هي #CS .
بقيت نقطة مهمة في التخاطب مع الشاشة ، وهي سرعة المسرى ، وكما هو مبين في النشرة الفنية للمتحكم PCF8833 فينصح بعدم تجاوز القيمة 150ns كمدة زمنية لنبضات الساعة ،أي ما يزيد قليلا عن 6.6Mhz و قد قمت بتجربتها بسرعات مختلفة وصلت إلى 10Mhz و بقيت تعمل بشكل جيد ، لكن لا أنصح بتجاوز 6Mhz لضمان الالتزام بالمواصفات الفنية .

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

RESTE ( تصفير الشاشة ) : مع القطب RB3 و هو فعال عند الصفر
CS ( اختيار الشاشة ) : مع القطب RB2 وهو فعال أيضا عند الصفر
SDA ( البيانات ) : مع القطب RB1
CLK ( نبضات الساعة ) : مع القطب RB0
عرفنا من قبل أن الشاشة تحتاج إلى 3.3 فولت كتغذية كهربائية ، كما أن دارة الإضاءة الخلفية تحتاج إلى أكثر من 6 فولت للإضاءة الجيدة ( يمكن أن تصل إلى 8 فولت ) ، لذلك قمت بتصميم دارة تغذية متقطعة لرفع الجهد ، و دارة تغذية بـ 3.3 فولت ، و مع وضع مقاومات لتقسيم الجهد على المداخل الرقمية ، يمكن استخدام هذه الدارة لربط الشاشة مع المتحكمات التي تعمل على 5 فولت :


التعديل الأخير تم بواسطة : ali79 بتاريخ 26-11-2010 الساعة 12:21 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية dr_ideas
dr_ideas
:: عضو متميز ::
تاريخ التسجيل: Apr 2009
المشاركات: 184
نشاط [ dr_ideas ]
قوة السمعة:0
قديم 26-11-2010, 02:16 PM المشاركة 3   
Talking الله الله يا الله


كمل ياااااااااااااااااا ياريس مستنى التكملة ولا هى جدة خلاص ههههههه
انا بهزر الله يكرمك ويزيدك الله اكبر عليك
زادك الله من علمه
لا اله الا انت سبحانك انى كنت من الظالمين


MI5a
:: مهندس ::
تاريخ التسجيل: Oct 2010
المشاركات: 23
نشاط [ MI5a ]
قوة السمعة:0
قديم 26-11-2010, 05:11 PM المشاركة 4   
افتراضي


الله ينور عليك


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 26-11-2010, 05:25 PM المشاركة 5   
افتراضي


مجهود رائع .
و شرح ممتاز .
بارك الله فيك

حيدر علاج حسن

inhe
:: مهندس ::
تاريخ التسجيل: Feb 2013
المشاركات: 15
نشاط [ inhe ]
قوة السمعة:0
قديم 28-04-2013, 08:59 PM المشاركة 6   
افتراضي


بارك الله فيك أخي على الشرح .
أعلم أن الموضوع له أكثر من سنتين . ممكن تكمل الشرح أخي و طريقة البرمجة بالميكرو سي

شكرا

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:15 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025