1. عرض جديد خاص بالإشتراك في سيرفر الأحلام و IPTV

لكل من يريد ان يصبح خبيرا و يعرف خبايا و اسرار الريسيفر...الجزأ الأول

الموضوع في 'أرشيف الفضائي العام' بواسطة tns_55, بتاريخ ‏17 مارس 2007.

  1. tns_55

    tns_55 نجم المنتدى

    إنضم إلينا في:
    ‏25 جانفي 2007
    المشاركات:
    1.973
    الإعجابات المتلقاة:
    48
      17-03-2007 19:59
    :besmellah1:
    تطبيقا للشعار الذي نلتزم به في منتدانا العزيز تونيسياسات "لا للأحتكار" اقدم لكم اليوم موضوعا يشغل بال الكثير من الأعضاء و يتساؤلون دون أن يجدوا الجواب الشافي.
    فبعد تساؤلات و بحث طويل، جمعت لكم هذا الموضوع الذي اتمنى ان يشفي غليل الجميع، ساحاول و دون الدخول في التفاصيل التقنية تعريف اجهزة الريسيفر و مكوناتها.
    في أي ريسيفر من الموديلات الجديدة التي تفك الشفرة يوجد الآتي:
    1- وحدة المعالجة الرئيسية Processor وهي من عدة شركات مثل ومن موديلاتها :
    Sti5512 – Sti5518 – Sti5510 – SC2000 – IBM set top box - LSI ……
    2- وحدة الذاكرة المؤقتة SRAM أو DRAM
    3- وحدة الذاكرة الدائمة Flash memory وهي مجال أسئلة العديد من المبتدئتين والتي تسبب لهم العديد من المشاكل عند التحديث وخاصة مشكل 88 88 الذي وقع فيه بعض الأخوة الأعضاء.
    4- وحدة ال Tuner المسؤولة عن تحليل الإشارة المستقبلة من وحدة LNB.
    5- وحدة Power supply
    6- وحدة العرض علي شاشة الريسيفر Front panel display .
    وحدة المعالجة المركزية Processor اغلب الأجهزة تتوفر على معالج من نوع Sti5518
    تعتبر هذه الوحدة مثل Chipset في أجهزة الكمبيوتر العادية فهي تحمل بداخلها معالج مركزي من نوع ST20 سعة 32 بايت بسرعة 81 ميجاهرتز ويعمل علي OSC منخفض السرعة 27 ميجاهرتز وهي لها بعض التأثيرات في الصيانة .
    - تحتوي ايضا علي وحدة Mpeg decoder لمعالجة الصوت والفيديو الرقمي.
    - منافذ ربط ب Smart Cards interface في حال وجودها
    - وحدة ربط مع الذاكرة .
    - ويوجد به المزيد أيضا بحسب نوع الجهاز و وظائفه
    - UART وهي اختصار Universal Asynchronous Receiver and Transmitter وهي بكل بساطة مثل المنفذ التسلسلي في أجهزة الكومبيوتر COM PORT وهي التي يخرج منها مخرج RS232 المستخدم في تحديث البرنامج التشغيلي عن طريق الكومبيوتر
    - Smart Cards interface وهي التي تقوم باستقبال البيانات وتتحكم في عمل الكروت التي يتم قراءتها بواسطة smart card reader مثل الموجود في الأجهزة التي تحتوي علي كامة داخلية مثل الكيوماكس والديسكفري وغيرها من الأجهزة.
    Front End link interface وهو المسؤول عن توصيل الهارد ديسك أو الـ DVD مثل الـIDE الموجودة في الكومبيوتر وهذا مستخدم في الأجهزة التي تحتوي علي هارد ديسك PVR .
    Programmable CPU interface وهو المسؤول مسؤولية كاملة عن القراءة والكتابة إلى وحدة الذاكرة الدائمة Flash memory وهذا جزء مهم جدا يجب معرفة أسراره وهي يسمي EMI register “external memory interface ويتصل مباشرة بوحدة الـ Diagnostic controller (DCU) المسؤولة عن البوت من الفلاش أو بصورة أخرى طريقة تحميل البرنامج المطلوب تنفيذه من وحدة الـ CPU وهذا شبيه بحد كبير بأجهزة الكومبيوتر .
    Shared SDRAM interface وهذا خاص بوحدة الذاكرة المؤقتة ويسع الي حوالي 32 ميجا بايت من الذاكرة.
    مخرج الفيديو الرقمي والتماثلي.
    مخرج الصوت
    JTAG debugging interface وهذا ما ساحاول شرحه و تبسيطه ليتمكن الجميع من اعادة تشغيل جهازه في حال ما اذا اصيب بعطل كتحميل باتش غير مناسب.
    يمكن عن طريق هذا البورت اعادة برمجة الفلاش وقراءتها أيضا وأجراء العديد من المهام الأخرى المطلوبة في عمليات الصيانة.
    البرنامج التشغيلي :
    بما أن أجهزة الريسيفر تشبه بدرجة كبيرة أجهزة الكومبيوتر فلابد من شيئين بالنسبة للبرنامج وهما في غاية الأهمية:
    جزء مسؤول عن تحميل البرنامج التشغيلي من الفلاش ميموري إلى وحدة الذاكرة المؤقتة SDRAM وهو ما يسمي بالبوت boot وهو موجود في الفلاش ميموري .
    الجزء الثاني هو البرنامج التشغيلي نفسه وهو ما كتب بلغه برمجة بصورة عادية واشرها هي لغة C++ أو visual c++ وقد تكتب بعض الأجزاء بلغ الـ Assembler أو التجميع وهذا يتطلب مهارات عالية جدا وفي الغالب تكون من الأفراد الذين يعملون في الشركات التي تنتج هذه البروسيسورات وبعد كتابتها وأجراء الاختبارات عليها يتم عمل compiler مها أي يتم بواسطة لغة البرمجة تحويله إلى لغة الآلة التي تعمل به وهو يكون بالكود السادس عشر ويخزن علي هيئة Binary file او ملف BIN الذي يُحمل داخل الفلاش ميموري ويتم بواسطة البوت وضعه في الذاكرة المؤقتة وهذا لعامل السرعة وكثرة القراءة والكتابة أثناء عمل الريسيفر وإذا تساءلنا لماذا لا يتم التنفيذ من الفلاش ميموري مباشرة فهذا بسبب عامل السرعة وكثرة القراءة والكتابة أثناء عمل الريسيفر والفلاش وإلا لانتهت صلاحية الفلاش من مرتين تشغيل علي الأكثر لأنها لا تصلح إلا لحوالي 10.000 مرة كتابة .
    ويحتوي البرنامج التشغيلي علي القوائم التي تظهر علي شاشة التليفزيون والبحث علي القنوات وقد يحتوي علي العاب للأطفال وأشياء أخرى عديدة .
    نعود مرة أخرى لنتعرف علي البوت وهو عبارة عن برنامج صغير يكون حجمه في الغالب لا يتعدي 64KB يوضع في منطقة تسمي Boot Block في الفلاش ميموري ويتم تحميله مباشرة بواسطة وحدة DCU التي ذكرناها من قبل إلى الذاكرة SDRAM بواسطة خيار يسمي Boot sector1 أو BtSrc1 .
    الآن وبعد معرفة البرنامج التشغيلي ومكونات الريسيفر الداخلية نتعرض لجزء تحديث البرنامج أو software upgrade وهذا يتم عن طريق الكمبيوتــــــر ولـــــودر خاص لكل نوع مـــــــن أنواع الريسيفرات يمكنه تحميل البرنامج الي الريسيفر ومعظم الهاوين أو المحترفين يجيدون التعامل مع هذا الجزء ولكن لنا عدة ملاحظات وهي:
    - عند التحميل من الكمبيوتر إلى الريسيفر بواسطة اللودر معظم الأجهزة تطلب إعادة التشغيل وبعدها يبدأ التحميل فلماذا؟
    الإجابة : لأن البوت الخاص بالريسيفر هو المسؤول مسؤولية تامة عن البحث في كل مرة تشغيل عن وجود أمر تحميل برنامج جديد أو أي بيانات اخري مثل قائمة قنوات أو شفرة من المنفذ التسلسلي RS232 المتصل بالكمبيوتر.
    - بعد إعادة التحميل يبدأ بكلمة boot او ما يرمز عليه ثم يبدأ بالعد ثم ينتظر ثواني ثم يكتب كلمة ugrd وهي اختصار upgrade ثم good او succ أو Fine أو لا يكتب ثم يعيد التشغيل من نفسه أو يطالب منك إعادة التشغيل فماذا يتم أثناء هذه الأحداث؟
    كما بينا سابقا أن البوت هو الذي يقوم بهذه العملية فيبدأ أولا بتحميل البرنامج أو البيانات المرسلة إليه إلى ذاكرة الريسيفر المؤقتة وبعد انتهاء التحميل يبدأ بعمل فحص Check للبيانات التي تم تلقاها، فإذا كانت برنامج تأكد مما إذا كان مطابقا للريسيفر أم لا أو يحمل إصدارا أحدث وهذا كما قلنا من قبل يتوقف علي تصميم البوت ثم بعد التأكد اذا تحققت كافة شروط الفحص يضعه في المكان المحدد له في الفلاش ميموري .
    وهذا ينطبق ايضا علي ملف القنوات والشفرة.
    - بعد تحميل البرنامج يفضل إعادة الريسيفر إلى وضع المصنع فلماذا؟
    بالتأكيد قد يختلف البرنامج الأحدث عما قبله في طريقة التخزين للقنوات أو مكان القنوات أو الشفرة في الفلاش ميموري وقد يسبب بقاء الحالة القديمة في تهنيج الجهاز ولذلك يفضل إعادة ضبط المصنع من البرنامج الأحدث ثم إعادة تحميل ملف القنوات ثم الشفرة.
    - إذا لاحظنا مما سبق نجد انه يمكن للبروسيسور الموجود في الريسيفر إعادة برمجة مكان محدد من الفلاش ميموري مرة أخرى وقد يكون المكان الذي يوضع فيه البرنامج التشغيلي أو ملف القنوات أو الشفرة أو قائمة الأقمار وأحيانا يمكن في بعض الأجهزة تغيير اللودر نفسه وقد يتم هذا في مرحلة واحدة أو علي خطوات فهل نستطيع أن نجعله يقوم بقراءة محتويات الفلاش كلها وهل نستطيع أن نعيد برمجتها مرة أخرى أم لا؟
    بالتأكيد نستطيع لأن معظم البروسيسورات تحتوي علي Jtag Port يمكن عن طريقه الوصول إلى الفلاش ميموري وقراءتها ومسحها وإعادة برمجتها بل ونستطيع أيضا قراءة بيانات قناة موجودة في الذاكرة المؤقتة وحفظها علي جهاز الكمبيوتر.
    لا تقلقوا فساقوم بشرح هذه النقطة بالتفصيل...
     
  2. tns_55

    tns_55 نجم المنتدى

    إنضم إلينا في:
    ‏25 جانفي 2007
    المشاركات:
    1.973
    الإعجابات المتلقاة:
    48
      17-03-2007 20:03
    الجزء الثاني
    الفلاشات .....
    •الفلاش ميموري عبارة عن وحدة تخوين دائمة ذات حجم محدد من مضاعفات الرقم 2 لها بداية عنوان وهو 000000h ينتهي بعنوان معين حسب الحجم فمثلا لدينا هذه الفلاشة M29W160ET كما ذكرنا مسبق هــــي عبارة عن 2 ميجا بايت أو 2097152 Bytesويكون النهاية هي 1FFFFF وهذا مهم جدا لأننا سوف نحتاج فيما بعد بتعديل ملف الـ Jkeys.def ووضع فلاشة جديدة لم تكن معرفة لدينا من قبل أو هي حديثة في أجهزة الريسيفر ويمتاز هذا البرنامج عن غير من برامج المبرمجات الخارجية التي تتطلب انتظار نسخة احدث مدعمة بهذه الفلاشة الجديدة ولكننا هنا يمكن إضافتها مباشرة ونتعامل معها بصورة عادية جدا.
    •يدل الحرف M علي الشـــركــــة المصنعـــة وهي ST micro والرقم 29 علي سلسلة من الفلاش أما الرقم 160 يدل علي السعة والحرف E يدل علي إصدار معين من الفلاش أما الحرف T فيدل علي Top boot block أي أن منطقة البوت في أعلي الفلاش ميموري وهذا مهم جدا فمثلا لدينا أيضا من هذه الفلاشة M29W160EB نلاحظ التغيير الوحيد في الحرف B وهو يرمز إلى Bottom أي أن منطقة البوت في الجزء الأسفل من الفلاش ولا يجوز تركيب الفلاشة الثانية مكان الأولى أو العكس وإلا فلن يعمل الريسيفر بسبب عدم الوصول إلى منطقة البوت .
    •لدينا الآن ملف datasheet لهذه الفلاشة وهذا كمثال عام يهمنا ان نستخلص منه الآتي:
    1-لكل فلاش ميموري رقم يسمي Device code وفي هذه الحالة هو 22C4 للفلاشة الأولى ويوجد أيضا كود الشركة المصنعة وهو 20h وهذا يميز كل فلاشة عن أي فلاشة أخرى لدي البرنامج ويتم التعرف عليها بصورة صحيحة.
    2-نلقي نظرة على الصورة المرفقة

    [​IMG]
    هذه الصورة تم تصغيرها تلقائيا . إضغط على هنا لعرض الصورة بكامل حجمها . أبعاد الصورة الأصلية 800x600 وحجمها 66 كيلو بايت .

    وهي توضح تركيب الفلاش الداخلي وهو أشبه بمستطيل تم تقسيمه إلى عدة شرائح أو Blocks وهي عبارة عن 2×64 ك من الأسفل في حالة البوت العلوي أو الـ Top Boot ولاحظوا انه معكوس وهذا صحيح ففي العد يكون الصفر هو البداية أو الأعلى وتكون منطقة البوت عبارة عن 128 ك بايت ويكون مجموع البلوكات ذات السعة 64 هي 31 بلوك تبدأ من 00000 ولدينا بعد ذلك 1 بلوك بحجم 32 ك. بايت تبدأ من 1F0000 و 2 بلوك بحجم 8 ك. بايت يبدأ الأول منها عند 1F8000 والثاني يببدأ من 1FA000 وأخيراً 1 بلوك بحجم 16ك. بايت يبدأ من العنوان 1FC000.
    3-ألان يمكن أن نتخيل الشكل الداخلي للفلاش ميموري ويمكن أيضا معرفة أي تنظيم لأي فلاشة مثل الفلاشة الحالية موضوع الشرح عن طريق النظر في ملف الـ Datasheet للفلاشة المراد معرفة التنظيم الداخلي لها ويمكنكم أن تجدوا ملفات الـ Datasheet علي الرابط التالي :
    http://www.datasheetarchive.com/
    يفيدنا ما سبق شرحة عن الفلاش ميموري معرفة أين يوضع البوت أو اللودر في الفلاش ميموري وكيفية تحديثه ويفيد بصورة مهمة في إضافة التعريف في ملف الـJkeys.DEF واليكم المثال التالي لإضافة الفلاشة موضوع الشرح :
    1-قم بفتح الملف السابق بواسطة المفكرة واذهب الي الفلاش رقم 28ولاحظوا معي كيف تم إضافة هذه الفلاشة:
    Flash, 28, "M29W160ET", 0x22C4, 0x200000, 1, 1, 0, 1, 35, 1
    Sector, 28, 31,0x0 , 0x10000 // 64 KByte 31 sectors
    Sector, 28, 1, 0x1F0000, 0x8000 // 32 KByte 1 sector
    Sector, 28, 1, 0x1F8000, 0x2000 // 8 KByte 1 sector
    Sector, 28, 1, 0x1FA000, 0x2000 // 8 KByte 1 sector
    Sector, 28, 1, 0x1FC000, 0x4000 // 16 KByte 1 sector
    واليكم الشرح:
    تدل كلمة flash علي ان التعريف سيكون لفلاش ميموري والرقم 28 يدل علي ترتيب الفلاشة في الملف وتم كتابة رقم الفلاشة داخل علامة التنصيص " M29W160ET " وهذا سوف يظهر في البرنامج ثم بعد ذلك يكتب كود الفلاشة 0x22C4 وبعد ذلك نكتب سعة الفلاشة 0x200000 وكما ذكرنا من قبل فالرقم 200000 يدل علي حجم الفلاش وهو 2 ميجا ثم الرقم 1 يدل علي 8 بت في نقل البيانات والرقم التالي 1 يدل علي 16 بت في نقل البيانات أيضا والرقم 0 التالي يدل علي عدم إمكانية 32 بت في نقل البيانات والرقم 1 التالي يستخدم في حالة الفلاشات التي تبدأ بـ 29 أو 39 أو 49 وفي حالة الفلاشات التي تبدأ بـ 28 مثل INTEL يكتب الرقم 2 اما الرقم 35 فهو عدد البلوكات الموجودة في الفلاش ميموري وقد ذكرنا أهمية ذلك من قبل هذا موضح في الصورة السابقة أما الرقم 1 الأخير يحدد مسح الفلاش بلوك تلو الاخر ام لا .
    ملحوظة:
    معظم الارقام بعد الرقم 200000 ثابتة بخلاف الرقم الدال علي 29-39-49 في الفلاش ميموري والرقم الذي يدل علي عدد البلوكات أو بمسمي اخر القطاعات أو Sectors يتغير تبعا للتنظيم الداخلي للفلاش ميموري .
    -بعد ذلك يكتب التنظيم الداخلي للفلاش ونبدأ من اسفل الي اعلي ونكتب عدد القطاعات أو البلوكات بالترتيب ثم نكتب فقط بداية العنوان Start Address وحجم القطاع اما الكتابة بعد العلامة // فهي غير مهمة في البرنامج وانما كتبتها لمعرفة الحجم الدال علي الرقم الاخير بالـ ك. بايت .
    -واليكم مثال اضافة فلاشة جديدة للرقم M29w160EB:
    Flash, 29, "M29W160EB", 0x2249, 0x200000, 1, 1, 0, 1, 35, 1
    Sector, 29, 1, 0x0 , 0x4000 // 16 KByte 1 sector
    Sector, 29, 1, 0x4000 , 0x2000 // 8 KByte 1 sector
    Sector, 29, 1, 0x6000 , 0x2000 // 8 KByte 1 sector
    Sector, 29, 1, 0x8000 , 0x8000 // 32 KByte 1 sector
    Sector, 29, 1, 0x10000 , 0x10000 // 64 KByte 31 sectors
    وهكذا بكل بساطة يمكن إضافة أي فلاشة لديكم في ملف Jkeys.def الذي يجب ان يتواجد مع برنامج Jkeys.
    في الموضوع التالي ستجدون طريقة صنع مبرمجة الجيتاج باقل التكاليف و كذا شرحا لكيفية برمجة بعض الفلاشات....
     
  3. tns_55

    tns_55 نجم المنتدى

    إنضم إلينا في:
    ‏25 جانفي 2007
    المشاركات:
    1.973
    الإعجابات المتلقاة:
    48
      17-03-2007 20:13
    الجزء الثالث

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

    [​IMG]
    - كونيكتور فلوبي او قارئ الأقراص المرنة.
    [​IMG]

    - كابل طابعة او ماسح ضوئي سكانر

    [​IMG]
    - كابل به 6 اسلاك على القل و يفضل ان تكون ملونة لتسهيل العمل
    اليكمم الآن طريقة التوصيل
    [​IMG]
    مكان التوصيل على الريسيفر
    [​IMG]
    طريقة لحام كل هذه الأجزاء:
    نقم بلحم القاومات في الماكن المرقمة على الرسم التخطيطي
    [​IMG]
    هذه الصورة تم تصغيرها تلقائيا . إضغط على هنا لعرض الصورة بكامل حجمها . أبعاد الصورة الأصلية 857x383 وحجمها 78 كيلو بايت .

    نلحم النقط من 18 الى 25 كما في الصورة
    [​IMG]
    هذه الصورة تم تصغيرها تلقائيا . إضغط على هنا لعرض الصورة بكامل حجمها . أبعاد الصورة الأصلية 644x289 وحجمها 55 كيلو بايت .

    فيكون هذا هو السلك اللرضي الذي سنربطه ب GND
    [​IMG]
    فيكون الكل كما في الصورة
    [​IMG]
     
  4. tns_55

    tns_55 نجم المنتدى

    إنضم إلينا في:
    ‏25 جانفي 2007
    المشاركات:
    1.973
    الإعجابات المتلقاة:
    48
      17-03-2007 20:17
    يتبع


    هذه الصورة تم تصغيرها تلقائيا . إضغط على هنا لعرض الصورة بكامل حجمها . أبعاد الصورة الأصلية 665x644 وحجمها 158 كيلو بايت .
    [​IMG]


    الآن نكون قد انتهينا من جهة كونيكتور الطابعة
    في جهة كونيكتور الفلوبي نلحم كل سلك في مكانه حسب الرسم التخطيطي
    هذه الصورة تم تصغيرها تلقائيا . إضغط على هنا لعرض الصورة بكامل حجمها . أبعاد الصورة الأصلية 696x408 وحجمها 124 كيلو بايت .
    [​IMG]

    ملاحظة هامة: يجب الا يتعدى طول الأسلاك 12 سنتيمتر هذا مهم جدا و الا فلن تعمل الدائرة بشكل جيد
    الشكل النهائي :

    بما ان الأسلاك قصيرة و لن تسمح بربط الريسيفر بالكومبيوتر نستعمل كابل الطابعة او *****ح الضوئي الذي سبق ذكره.


    مع تحياتي : tns_55

    الرجاء من كل من يستفيد من هذا الموضوع كلمة شكر بالله عليكم
     
  5. Allalaweldmed

    Allalaweldmed عضو نشيط

    إنضم إلينا في:
    ‏28 جانفي 2007
    المشاركات:
    198
    الإعجابات المتلقاة:
    33
      17-03-2007 20:47
    merci pour toutes ces donnees
     
  6. momabed_50

    momabed_50 عضو مميز

    إنضم إلينا في:
    ‏1 ديسمبر 2005
    المشاركات:
    1.143
    الإعجابات المتلقاة:
    928
      17-03-2007 21:14
    مجهود كبير و موضوع هام نشكرك أخي على هذا العمل القيّم و الإفادة حاصلة لا محالة و لو بمجرّد بقراءة الموضوع و مشاهدة الصّور ..فشكرا لك و أتحفنا بمثل هذه المشاركات الجيّدة.
     
  7. gabs

    gabs نجم المنتدى

    إنضم إلينا في:
    ‏23 جويلية 2006
    المشاركات:
    2.598
    الإعجابات المتلقاة:
    907
      17-03-2007 21:15
    merci toujours merci
     
  8. adispo

    adispo عضو فعال

    إنضم إلينا في:
    ‏17 نوفمبر 2006
    المشاركات:
    405
    الإعجابات المتلقاة:
    13
      17-03-2007 21:22
    Greatttttt Jooooobbbbb
     
  9. ferali

    ferali عضو نشيط

    إنضم إلينا في:
    ‏17 ديسمبر 2006
    المشاركات:
    186
    الإعجابات المتلقاة:
    27
      17-03-2007 23:15
    أحسنت يا أخي إنه لعمل جليل و غا ية في الأهمية .شكرا:lol:
     
  10. NAJMAOUI

    NAJMAOUI عضو مميز

    إنضم إلينا في:
    ‏15 ديسمبر 2006
    المشاركات:
    929
    الإعجابات المتلقاة:
    38
      18-03-2007 01:14
    :hi: :hi: :hi:

    :bravo: :bravo: :bravo:
    :bravo: :bravo:
    :bravo:
     

مشاركة هذه الصفحة

جاري تحميل الصفحة...