سوف ابدأ أولا بتعريفكم ما هي أجهزة الريسيفر أو STB :
هذه المشاركة لمهندسي الصيانة ولمن يريد أن يتعلم من البداية واليكم الـ datasheet الخاصة بال STi5518 فهو لم يوضع من قبل في أي منتدى عربي وسوف يساعدكم علي معرفة المزيد من التكوين الداخلي للأجهزة:
في أي ريسيفر من الموديلات الجديدة التي تفك الشفرة يوجد الآتي:
وهي من عدة شركات مثل ومن موديلاتها :
1- وحدة المعالجة الرئيسية Processor Sti5512 – Sti5518 – Sti5510 – SC2000 – IBM set top box - LSI ……
2- وحدة الذاكرة المؤقتة SRAM أو DRAM
3- وحد الذاكرة الدائمة ***** memory وهي مجال أسئلة العديد من المبتدئتين والتي تسبب لهم العديد من المشاكل عند التحديث ويتلهفون علي معرفتها.
4- وحدة ال Tuner المسؤولة عن تحليل الإشارة المستقبلة من وحدة LNB.
5- وحدة Power supply
6- وحدة العرض علي شاشة الريسيفر Front panel display .
الشـــــــــرح:
1- وحدة المعالجة المركزية Processor :
سوف أقوم بشرح مقتطفات فقط لان هذا المجال واسع جدا ويتطلب الدراسة المتخصصة وهو للمهندسين فقط لكن المهم هو الفهم بصورة عامة الآن وسف اتخذ مثالا للنوع Sti5518 علي أنني أمددتكم بالـ datasheet الخاصة حتى تطلعوا عليها:
- تعتبر هذه الوحدة مثل Chipset في أجهزة الكمبيوتر العادية فهي تحمل بداخلها معالج مركزي من نوع ST20 32 بت بسرعة 81 ميجاهرتز ويعمل علي OSC منخفض السرعة 27 ميجاهرتز وهي لها بعض التأثيرات في الصيانة سوف اذكرها لاحقا.
- تحتوي ايضا علي وحدة Mpeg decoder لمعالجة الصوت والفيديو الرقمي.
- عدد 2 smart card interface .
- وحدة ربط مع الذاكرة .
ويوجد به المزيد أيضا .
بعدما قمتم ألان بتحميل الملف المرفق بالـ Datasheet فما عليكم الآن إلا فتح الملف علي الصفحة رقم 9 وهي تتكلم عن Architecture overview أو المخطط الداخلي لـ Sti5518 وسوف يتضح كل شئ ببساطة وهم كآلاتي:
1- 2 UART وهي اختصار Universal Asynchronous Receiver and Transmitter وهي بكل بساطة مثل المنفذ التسلسلي في أجهزة الكومبيوتر COM PORT وهي التي يخرج منها مخرج RS232 المستخدم في تحديث البرنامج التشغيلي عن طريق الكومبيوتر .
2- Smart Cards interface 2وهي التي تقوم باستقبال البيانات وتتحكم في عمل الكروت التي يتم قراءتها بواسطة smart card reader مثل الموجود في الأجهزة التي تحتوي علي كامة داخلية مثل السكاي والكيوماكس والديسكفري وغيرها من الأجهزة.
3- Front End link interface وهو المسؤول عن توصيل الهارد ديسك أو الـ DVD مثل الـIDE الموجودة في الكومبيوتر وهذا مستخدم في الأجهزة التي تحتوي علي هارد ديسك PVR .
4- Programmable CPU interface وهو المسؤول مسؤولية كاملة عن القراءة والكتابة إلى وحدة الذاكرة الدائمة ***** memory وهذا جزء مهم جدا يجب معرفة أسراره وهي يسمي EMI register “external memory interface ويتصل مباشرة بوحدة الـ Diagnostic controller (DCU) المسؤولة عن البوت من الفلاش أو بصورة أخرى طريقة تحميل البرنامج المطلوب تنفيذه من وحدة الـ CPU وهذا شبيه بحد كبير بأجهزة الكومبيوتر وسوف نتعرض لهذا الجزء بتفصيل اكبر .
5- Shared SDRAM interface وهذا خاص بوحدة الذاكرة المؤقتة ويسع الي حوالي 32 ميجا بايت من الذاكرة.
6- خرج الفيديو الرقمي والتماثلي.
7- خرج الصوت
8- JTAG debugging interface وهذا الجزء الذي لا يحب أن يتكلم عنه الفنيين
ولكن سوف نهتم به بكافة أسراره والدوائر المستخدمة والبرامج المطلوبة .
يمكن عن طريق هذا البورت ان تعيد برمجة الفلاش وقراءتها أيضا وأجراء العديد من المهام الأخرى المطلوبة في عمليات الصيانة.
- إذا قمتم بتنفيذ الدائرة المرفقة فاحرصوا علي ألا يزيد طول الكيبل المستخدم عن 10 سم لان هذا في غاية الأهمية .
- الأطراف موصلة علي 20 pin connector وهذا هو الشائع ولكني كتبت في الرسم باللون الأزرق اسم كل pin مستخدم حتى يتم معرفة الأطراف المقابلة لها في ال processor وهذا يتضح في ملف الـdatasheet الصفحة رقم 15 وهي الأطراف رقم 109 – 110 – 111 – 112 – 113 وهذا يجعلكم عن طريق القياس العادي بالافوميتر معرفة توصيل أي نوع من الـ Connector في لوحة الريسيفر بالـ JTAG الذي نفذتموه.
البرنامج التشغيلي :
بما أن أجهزة الريسيفر تشبه بدرجة كبيرة أجهزة الكومبيوتر فلابد من شيئين بالنسبة للبرنامج وهما في غاية الأهمية:
جزء مسؤول عن تحميل البرنامج التشغيلي من الفلاش ميموري إلى وحدة الذاكرة المؤقتة SDRAM وهو ما يسمي بالبوت boot وهو موجود في الفلاش ميموري .
الجزء الثاني هو البرنامج التشغيلي نفسه وهو ما كتب بلغه برمجة بصورة عادية واشرها هي لغة C++ أو visual c++ وقد تكتب بعض الأجزاء بلغ الـ Assembler أو التجميع وهذا يتطلب مهارات عالية جدا وفي الغالب تكون من الأفراد الذين يعملون في الشركات التي تنتج هذه البروسيسورات وبعد كتابتها وأجراء الاختبارات عليها يتم عمل compiler أي يتم بواسطة لغة البرمجة تحويله إلى لغة الآلة التي تعمل به وهو يكون بالكود السادس عشر ويخزن علي هيئة Binary file او ملف BIN الذي يُحمل داخل الفلاش ميموري ويتم بواسطة البوت وضعه في الذاكرة المؤقتة وهذا لعامل السرعة وكثرة القراءة والكتابة أثناء عمل الريسيفر وإذا تساءلنا لماذا لا يتم التنفيذ من الفلاش ميموري مباشرة فهذا بسبب عامل السرعة وكثرة القراءة والكتابة أثناء عمل الريسيفر والفلاش وإلا لانتهت صلاحية الفلاش من مرتين تشغيل علي الأكثر لأنها لا تصلح إلا لحوالي 10.000 مرة كتابة .
ويحتوي البرنامج التشغيلي علي القوائم التي تظهر علي شاشة التليفزيون والبحث علي القنوات وقد يحتوي علي العاب للأطفال وأشياء أخرى عديدة .
.
نعود مرة أخرى لنتعرف علي البوت وهو عبارة عن برنامج صغير يكون حجمه في الغالب لا يتعدي 64KB يوضع في منطقة تسمي Boot Block في الفلاش ميموري ويتم تحميله مباشرة بواسطة وحدة DCU التي ذكرناها من قبل إلى الذاكرة SDRAM بواسطة خيار يسمي Boot sector1 أو BtSrc1 وهو الطرف رقم 115 في Sti5518 فإذا كان هذا الطرف logic 1 أي موصل علي Vcc وغالبا بواسطة مقاومة 10 ك.اوم يتم التحميل من الفلاش ميموري ويتجه مباشرة إلى منطقة الـ Boot Block وهذا مجهز في تصميم Sti5518 وشبيهاتها ويتم تحميل البوت أولا ثم بواسطة البوت يتم تحميل البرنامج التشغيلي.
أما إذا كان هذا الطرف 115 في Sti5518 موصل علي الأرضي أي Logic0 يتم التحميل من الـ JTAG Port وهذا له شرح خاص أيضا.
الآن وبعد معرفة البرنامج التشغيلي ومكونات الريسيفر الداخلية نتعرض لجزء تحديث البرنامج أو software upgrade وهذا يتم عن طريق الكمبيوتــــــر ولـــــودر خاص لكل نوع مـــــــن أنواع الريسيفرات يمكنه تحميل البرنامج الي الريسيفر ومعظم الهاوين أو المحترفين يجيدون التعامل مع هذا الجزء ولكن لنا عدة ملاحظات وهي:
- عند التحميل من الكمبيوتر إلى الريسيفر بواسطة اللودر معظم الأجهزة تطلب إعادة التشغيل وبعدها يبدأ التحميل فلماذا؟
الإجابة : لأن البوت الخاص بالريسيفر هو المسؤول مسؤولية تامة عن البحث في كل مرة تشغيل عن وجود أمر تحميل برنامج جديد أو أي بيانات اخري مثل قائمة قنوات أو شفرة من المنفذ التسلسلي RS232 المتصل بالكمبيوتر واذا قمتم بتشغيل البرنامج المرفق RS232 Tester ثم اختيار com مناسبة واعادة تشغيل الريسيفر تجدوا أن الريسيفر يرسل بيانات عن البرنامج الموجود واحيانا موديل الريسيفر واشياء أخري حسب تصميم البوت .
- بعد إعادة التحميل يبدأ بكلمة boot او ما يرمز عليه ثم يبدأ بالعد ثم ينتظر ثواني ثم يكتب كلمة ugrd وهي اختصار upgrade ثم good او succ أو Fine أو لا يكتب ثم يعيد التشغيل من نفسه أو يطالب منك إعادة التشغيل فماذا يتم أثناء هذه الأحداث؟
كما بينا سابقا أن البوت هو الذي يقوم بهذه العملية فيبدأ أولا بتحميل البرنامج أو البيانات المرسلة إليه إلى ذاكرة الريسيفر المؤقتة وبعد انتهاء التحميل يبدأ بعمل فحص Check للبيانات التي تم تلقيها ، فإذا كانت برنامج تأكد مما إذا كان مطابقا للريسيفر أم لا أو يحمل إصدارا أحدث وهذا كما قلنا من قبل يتوقف علي تصميم البوت ثم بعد التأكد اذا تحققت كافة شروط الفحص يضعه في المكان المحدد له في الفلاش ميموري .
وهذا ينطبق ايضا علي ملف القنوات والشفرة.
بعد تحميل البرنامج يفضل إعادة الريسيفر إلى وضع المصنع فلماذا؟
بالتأكيد قد يختلف البرنامج الأحدث عما قبله في طريقة التخزين للقنوات أو مكان القنوات أو الشفرة في الفلاش ميموري وقد يسبب بقاء الحالة القديمة في تهنيج الجهاز ولذلك يفضل إعادة ضبط المصنع من البرنامج الأحدث ثم إعادة تحميل ملف القنوات ثم الشفرة.
- إذا لاحظنا مما سبق نجد انه يمكن للبروسيسور الموجود في الريسيفر إعادة برمجة مكان محدد من الفلاش ميموري مرة أخرى وقد يكون المكان الذي يوضع فيه البرنامج التشغيلي أو ملف القنوات أو الشفرة أو قائمة الأقمار وأحيانا يمكن في بعض الأجهزة تغيير اللودر نفسه وقد يتم هذا في مرحلة واحدة أو علي خطوات فهل نستطيع أن نجعله يقوم بقراءة محتويات الفلاش كلها وهل نستطيع أن نعيد برمجتها مرة أخرى أم لا؟
بالتأكيد نستطيع لأن معظم البروسيسورات تحتوي علي Jtag Port يمكن عن طريقه الوصول إلى الفلاش ميموري وقراءتها ومسحها وإعادة برمجتها بل ونستطيع أيضا قراءة بيانات قناة موجودة في الذاكرة المؤقتة وحفظها علي جهاز الكمبيوتر.
Jtag Port :
يتطلب التوصيل بالكمبيوتر دائرة معينة وهي في غاية البساطة وأعتقد أنها لدي العديد من الأشخاص وقد أرفقت لكم نسخه منها وهي التي أقوم أنا باستعمالها واليكم الدائرة مرة أخرى مع الشرح حتى نتمكن من الفهم الأكثر لهذا الجزء المهم جدا: