بنية تصحيح أخطاء MIPI
توفر بنية تصحيح الأخطاء التابعة لتحالف MIPI بنيةً معياريةً لتصحيح أخطاء الأنظمة المدمجة بعمق في مجال الأجهزة المحمولة وما يتأثر بها. وقد أصدر فريق عمل تصحيح الأخطاء التابع لتحالف MIPI مجموعةً من المواصفات؛ وتهدف هذه المواصفات إلى توفير بروتوكولات تصحيح أخطاء وواجهات قياسية من نظام على شريحة (SoC) إلى أداة تصحيح الأخطاء. وتلخص الورقة البيضاء " نظرة عامة على بنية تصحيح الأخطاء" جميع الجهود المبذولة. في السنوات الأخيرة، ركز الفريق على تحديد بروتوكولات تُحسّن من وضوح العمليات الداخلية للأنظمة المدمجة بعمق، وتوحيد حلول تصحيح الأخطاء عبر الواجهات الوظيفية للأجهزة ذات عامل الشكل ، وتحديد استخدام I3C كناقل لتصحيح الأخطاء. [ 1 ] [ 2 ]
مصطلح "التصحيح"
يشمل مصطلح "التصحيح" مختلف الأساليب المستخدمة لاكتشاف الأخطاء أو العيوب في الأجهزة والبرامج، وتصنيفها، وتتبعها، وربما إزالتها. ويشمل التصحيح أساليب التحكم/التهيئة، والتصحيح في وضع الإيقاف/الخطوة، وأشكالًا مختلفة من التتبع .
طرق التحكم/التهيئة
يمكن استخدام خاصية تصحيح الأخطاء للتحكم في مكونات النظام المستهدف وتكوينها، بما في ذلك الأنظمة المدمجة. وتشمل الوظائف القياسية إعداد نقاط توقف الأجهزة ، وإعداد نظام التتبع وتكوينه، وفحص حالات النظام .
تصحيح الأخطاء في وضع الإيقاف/الخطوة
في وضع تصحيح الأخطاء بالإيقاف/الخطوة، يتم إيقاف المعالج/وحدة التحكم الدقيقة باستخدام نقاط التوقف، ثم يتم تنفيذ التعليمات خطوة بخطوة. إذا انتهت المعالجات/وحدات التحكم الدقيقة الأخرى في النظام على شريحة واحدة (SoC) من عملها بشكل متزامن، يمكن فحص الحالة العامة للنظام. يشمل وضع تصحيح الأخطاء بالإيقاف/الخطوة تقنيات التحكم/التهيئة، والتحكم في تشغيل المعالج/وحدة التحكم الدقيقة، ومزامنة بدء/إيقاف التشغيل مع المعالجات الأخرى، والوصول إلى الذاكرة والسجلات، وميزات تصحيح أخطاء إضافية مثل عداد الأداء والوصول إلى ذاكرة وقت التشغيل.
التتبع
تتيح عمليات التتبع إجراء تحليل معمق لسلوك وخصائص التوقيت لنظام مضمن. وفيما يلي أمثلة نموذجية على عمليات التتبع:
- يوفر "تتبع النواة" رؤية شاملة لتنفيذ البرنامج على نواة مضمنة. تُنشأ بيانات التتبع لتسلسل تنفيذ التعليمات (يُشار إليه أحيانًا بتتبع التعليمات) وعمليات نقل البيانات (يُشار إليها أحيانًا بتتبع البيانات). قد يُولّد نظام على شريحة (SoC) عدة تتبعات للنواة.
- يوفر "تتبع ناقل البيانات" رؤية كاملة لعمليات نقل البيانات عبر ناقل بيانات محدد.
- يُتيح "تتبع النظام" رؤيةً شاملةً لمختلف الأحداث/الحالات داخل النظام المُدمج. ويمكن توليد بيانات التتبع بواسطة كود تطبيق الجهاز ووحدات الأجهزة داخل النظام على شريحة واحدة (SoC). وقد يُولّد النظام على شريحة واحدة (SoC) عدة عمليات تتبع للنظام.
إمكانية رؤية العمليات الداخلية لنظام SoC

يُعدّ التتبع الأداة المُفضّلة لمراقبة وتحليل ما يجري في نظام على شريحة معقد. توجد العديد من معايير تتبع النواة وتتبع ناقل البيانات غير التابعة لبروتوكول MIPI والمُعتمدة في سوق الأنظمة المُدمجة. لذا، لم تكن هناك حاجة لمجموعة عمل تصحيح أخطاء MIPI لتحديد معايير جديدة. ولكن لم يكن هناك معيار مُعتمد لتتبع النظام عندما نشرت مجموعة عمل تصحيح الأخطاء الإصدار الأول من بروتوكول تتبع نظام MIPI (MIPI STP) في عام 2006.
تتبع برمجيات نظام MIPI (MIPI SyS-T)
يتم توليد بيانات تتبع النظام من البرمجيات عادةً بإضافة استدعاءات دوال إضافية، تُنتج معلومات تشخيصية قيّمة لعملية تصحيح الأخطاء. تُسمى تقنية تصحيح الأخطاء هذه "التجهيز". ومن الأمثلة عليها: دوال توليد السلاسل النصية على غرار printf، ومعلومات القيم، والتأكيدات، وما إلى ذلك. يهدف معيار MIPI System Software Trace (MIPI SyS-T) إلى تعريف بروتوكول بيانات قابل لإعادة الاستخدام وعام الأغراض، بالإضافة إلى واجهة برمجة تطبيقات (API) للتجهيز لأغراض تصحيح الأخطاء. يحدد هذا المعيار تنسيقات الرسائل التي تسمح لأداة تحليل التتبع بفك تشفير رسائل تصحيح الأخطاء، إما إلى نص قابل للقراءة البشرية أو إلى إشارات مُحسَّنة للتحليل الآلي.
نظرًا لأن الرسائل النصية المطولة تُرهق حدود النطاق الترددي اللازمة لتصحيح الأخطاء، يتم توفير ما يُسمى بـ"رسائل الكتالوج". رسائل الكتالوج هي رسائل ثنائية مُختصرة تستبدل السلاسل النصية بقيم رقمية. تتم عملية تحويل القيمة الرقمية إلى سلسلة نصية بواسطة أداة تحليل التتبع، بالاستعانة بمعلومات XML إضافية . تُوفّر هذه المعلومات أثناء عملية بناء البرنامج باستخدام مخطط XML مُضمّن في المواصفات أيضًا.
صُمم بروتوكول بيانات SyS-T ليعمل بكفاءة على روابط نقل البيانات منخفضة المستوى، مثل تلك المُعرّفة في بروتوكول تتبع نظام MIPI . ويمكن تعطيل ميزات بروتوكول SyS-T، مثل ختم الوقت أو التحقق من سلامة البيانات، إذا كان رابط النقل يدعم هذه الإمكانيات. كما يُمكن استخدام روابط نقل بيانات أخرى، مثل UART أو USB أو TCP/IP .
ستوفر مجموعة عمل تصحيح الأخطاء التابعة لـ MIPI تطبيقًا مرجعيًا مفتوح المصدر لواجهة برمجة تطبيقات SyS-T، وطابعة رسائل SyS-T منسقة، وأداة لإنشاء بيانات XML المصاحبة بمجرد الموافقة على مواصفات تتبع برامج النظام (SyS-T). [ 3 ]
بروتوكول تتبع نظام MIPI (MIPI STP)

يُحدد بروتوكول تتبع نظام MIPI ( MIPI STP) بروتوكولًا عامًا يسمح بدمج تدفقات التتبع الصادرة من أي مكان في نظام على شريحة (SoC) في تدفق تتبع واحد مكون من إطارات 4 بت. وقد صُمم هذا البروتوكول خصيصًا لدمج معلومات تتبع النظام. يستخدم بروتوكول تتبع نظام MIPI بنية قناة/رئيسية تُمكّن أداة تحليل استقبال التتبع من تجميع تدفقات التتبع الفردية لتحليلها وعرضها. كما يوفر البروتوكول الميزات التالية: مزامنة التدفقات ومحاذاتها، وعلامات التشغيل، والختم الزمني العالمي، ومزامنة وقت تدفقات متعددة.
يمكن حفظ تدفق حزم بروتوكول الشجرة الممتدة (STP) الناتج عن وحدة تتبع النظام مباشرةً في ذاكرة التتبع (RAM)، أو تصديره مباشرةً خارج الشريحة، أو توجيهه إلى وحدة بروتوكول تغليف التتبع (TWP) لدمجه مع تدفقات تتبع أخرى. تُعدّ وحدة CoreSight System Trace Macrocell من ARM ، [ 4 ] المتوافقة مع بروتوكول MIPI STP، جزءًا لا يتجزأ من معظم شرائح المعالجات متعددة النوى المستخدمة في الأجهزة المحمولة.
آخر إصدار من مواصفات بروتوكول تتبع النظام (STP SM ) الذي اعتمدته لوحة MIPI هو الإصدار 2.2 (فبراير 2016). [ 5 ]
بروتوكول MIPI Trace Wrapper (MIPI TWP)
يُمكّن بروتوكول MIPI Trace Wrapper من دمج عدة تدفقات تتبع في تدفق تتبع واحد (تدفقات بايت). ويُخصص مُعرّف فريد لكل تدفق تتبع بواسطة بروتوكول التغليف. يُمكن اكتشاف حدود البايت/الكلمة حتى عند إرسال البيانات كتدفق بتات. تُستخدم الحزم الخاملة في حال الحاجة إلى تصدير مستمر لبيانات التتبع. يعتمد بروتوكول MIPI Trace Wrapper على بروتوكول Trace Formatter الخاص بشركة ARM والمُخصص لـ ARM CoreSight.
آخر إصدار من مواصفات بروتوكول غلاف التتبع (TWP SM ) الذي اعتمدته لوحة MIPI هو الإصدار 1.1 (ديسمبر 2014). [ 6 ]
من الواجهات المخصصة إلى الواجهات الوظيفية

واجهات تصحيح أخطاء مخصصة

في المراحل الأولى من تطوير المنتجات، يشيع استخدام لوحات تطوير مزودة بواجهات تصحيح أخطاء مخصصة وسهلة الوصول لتوصيل أدوات التصحيح. وتعتمد أنظمة SoC المستخدمة في سوق الهواتف المحمولة على تقنيتين للتصحيح: تصحيح الأخطاء في وضع الإيقاف عبر سلسلة مسح ضوئي، وتصحيح الأخطاء في وضع الإيقاف عبر سجلات تصحيح الأخطاء المُرتبطة بالذاكرة.
تُعدّ معايير تصحيح الأخطاء التالية غير التابعة لـ MIPI راسخةً في سوق الأنظمة المدمجة: IEEE 1149.1 JTAG (خمسة أطراف) وARM Serial Wire Debug (طرفان)، وكلاهما يستخدم أطرافًا أحادية الطرف. لذا، لم تكن هناك حاجة لمجموعة عمل تصحيح أخطاء MIPI لتحديد بروتوكول تصحيح أخطاء في وضع الإيقاف أو تحديد واجهة تصحيح أخطاء.
يمكن بث بيانات التتبع المُولَّدة والمدمجة في دفق تتبع داخل النظام على شريحة واحدة، عبر واجهة تتبع أحادية الاتجاه مخصصة، إلى أداة تحليل التتبع خارج الشريحة. يوفر تصميم MIPI لتصحيح الأخطاء مواصفات لمنافذ التتبع المتوازية والمتسلسلة.
تحدد واجهة التتبع المتوازي MIPI ( MIPI PTI) كيفية تمرير بيانات التتبع إلى عدة منافذ بيانات ومنفذ ساعة (أحادي الطرف). تتضمن المواصفات أسماء الإشارات ووظائفها، والتوقيت، والقيود الكهربائية. آخر إصدار معتمد من مواصفات واجهة التتبع المتوازي MIPI على اللوحات هو الإصدار 2.0 (أكتوبر 2011). [ 7 ]
تحدد واجهة التتبع عالية السرعة MIPI (MIPI HTI) كيفية بث بيانات التتبع عبر الطبقة الفيزيائية للواجهات القياسية، مثل PCI Express و DisplayPort و HDMI وUSB. يسمح الإصدار الحالي من المواصفات بمسار واحد إلى ستة مسارات. تتضمن المواصفات ما يلي:
- طبقة PHY، التي تمثل الخصائص الكهربائية وخصائص التوقيت للمسارات التسلسلية.
- طبقة الربط، التي تحدد كيفية تغليف التتبع في بروتوكول Aurora 8B/10B .
- نموذج للمبرمج للتحكم في HTI وتوفير معلومات الحالة.

تُعدّ واجهة التتبع عالية السرعة (HTI) جزءًا من مواصفات منفذ التتبع التسلسلي عالي السرعة (HSSTP) التي حددتها شركة ARM. [ 8 ] آخر إصدار من مواصفات واجهة التتبع عالية السرعة (HTI) الذي اعتمدته لوحات MIPI هو الإصدار 1.0 (يوليو 2016). [ 9 ]
يستفيد مطورو اللوحات الإلكترونية وموردي أدوات تصحيح الأخطاء من موصلات تصحيح الأخطاء القياسية وتعيينات الدبابيس القياسية. توصي إرشادات MIPI لموصلات تصحيح الأخطاء والتتبع باستخدام موصلات على مستوى اللوحة ذات 10/20/34 دبوسًا بطول 1.27 مليمتر (0.050 بوصة) (MIPI10/20/34). تم تحديد سبعة تعيينات دبابيس مختلفة تغطي مجموعة واسعة من سيناريوهات تصحيح الأخطاء. تشمل هذه التعيينات JTAG القياسي (IEEE 1149.1)، وcJTAG (IEEE 1149.7)، وواجهات التتبع المتوازية ذات 4 بت (المستخدمة بشكل أساسي لتتبعات النظام)، بالإضافة إلى معيار تصحيح الأخطاء السلكي التسلسلي (SWD) الخاص بمعالجات ARM. [ 10 ] أصبحت موصلات تصحيح الأخطاء MIPI10/20/34 هي المعيار المعتمد للتصميمات المدمجة القائمة على معالجات ARM.
تستخدم العديد من التصاميم المدمجة في مجال الأجهزة المحمولة منافذ تتبع متوازية عالية السرعة (تصل إلى 600 ميجابت في الثانية لكل طرف). توصي MIPI بموصل Samtec QSH/QTH ذي 60 طرفًا، المسمى MIPI60، والذي يتيح استخدام JTAG/cJTAG للتحكم في التشغيل، وما يصل إلى 40 إشارة بيانات تتبع، وما يصل إلى 4 إشارات ساعة تتبع. ولتقليل التعقيد، تحدد التوصية أربعة تكوينات قياسية بقناة تتبع واحدة أو اثنتين أو ثلاث أو أربع قنوات بعرض متفاوت.
آخر إصدار معتمد من توصيات تحالف MIPI لموصلات التصحيح والتتبع على لوحات MIPI هو الإصدار 1.1 (مارس 2011). [ 11 ]
واجهات PHY و pin المتراكبة


لا تتوفر واجهات تصحيح الأخطاء سهلة الوصول في الشكل النهائي للمنتج، مما يعيق تحديد الأخطاء وتحسين الأداء. ولأن منطق تصحيح الأخطاء لا يزال موجودًا في المنتج النهائي، يلزم وجود مسار وصول بديل. تتمثل إحدى الطرق الفعالة في تزويد واجهة الجهاز المحمول القياسية بمُضاعِف إشارات يسمح بالوصول إلى منطق تصحيح الأخطاء. ويمكن بدء التبديل بين الوظيفة الأساسية للواجهة ووظيفة تصحيح الأخطاء بواسطة أداة تصحيح الأخطاء المتصلة أو بواسطة برنامج الجهاز المحمول. ويمكن استخدام أدوات تصحيح الأخطاء القياسية في ظل الشروط التالية:
- تم تطبيق بروتوكول التبديل على أداة تصحيح الأخطاء وفي الجهاز المحمول.
- يوجد محول تصحيح الأخطاء الذي يربط أداة تصحيح الأخطاء بالواجهة القياسية. ويجب أن يساعد محول تصحيح الأخطاء بروتوكول التبديل عند الحاجة.
- تم تحديد عملية ربط بين دبابيس الواجهة القياسية ودبابيس تصحيح الأخطاء.
تغطي واجهة MIPI الضيقة للتصحيح والاختبار (MIPI NIDnT) عملية التصحيح عبر الواجهات القياسية التالية: microSD ، ومنفذ USB 2.0 Micro-B/-AB، ومنفذ USB Type-C، ومنفذ DisplayPort. آخر إصدار معتمد من مواصفات واجهة MIPI الضيقة للتصحيح والاختبار (NIDnT SM ) على لوحات MIPI هو الإصدار 1.2 (ديسمبر 2017). [ 12 ]
واجهات الشبكة

بدلاً من إعادة استخدام المنافذ، يمكن إجراء تصحيح الأخطاء عبر حزمة بروتوكولات واجهة أو شبكة قياسية. في هذه الحالة، تتعايش بيانات تصحيح الأخطاء مع بيانات التطبيقات الأخرى التي تستخدم نفس رابط الاتصال. أطلق فريق عمل تصحيح أخطاء MIPI على هذا الأسلوب اسم " تصحيح أخطاء جيجابت" . ولعدم وجود بروتوكول تصحيح أخطاء خاص بهذا الأسلوب، حدد فريق عمل تصحيح أخطاء MIPI بروتوكول "نظرة خاطفة" لتصحيح الأخطاء.
انتقل بروتوكول MIPI SneakPeek (MIPI SPP) من واجهة مخصصة لتصحيح الأخطاء الأساسية إلى واجهة تعتمد على البروتوكول:
- يقوم بترجمة حزم الأوامر الواردة إلى عمليات وصول للقراءة/الكتابة إلى الذاكرة، وسجلات تصحيح الأخطاء المرتبطة بالذاكرة، وموارد النظام الأخرى المرتبطة بالذاكرة.
- يقوم بترجمة نتائج الأوامر (معلومات الحالة وبيانات القراءة القادمة من الذاكرة، وسجلات تصحيح الأخطاء المرتبطة بالذاكرة، وموارد النظام الأخرى المرتبطة بالذاكرة) إلى حزم استجابة صادرة.
- بما أن SneakPeek يقبل الحزم الواردة عبر مخزن مؤقت للإدخال ويقوم بتسليم الحزم عبر مخزن مؤقت للإخراج، فإنه يمكن توصيله بسهولة بأي وحدة إدخال/إخراج أو شبكة قياسية.
تصف مواصفات تحالف MIPI لبروتوكول SneakPeek المفاهيم الأساسية، والبنية التحتية المطلوبة، والحزم، وتدفق البيانات. آخر إصدار معتمد من قبل مجلس MIPI لمواصفات بروتوكول SneakPeek (SPP SM ) هو الإصدار 1.0 (أغسطس 2015). [ 13 ]
توفر عائلة مواصفات تصحيح أخطاء جيجابت MIPI تفاصيل لربط بروتوكولات التصحيح والتتبع بمنافذ الإدخال/الإخراج أو الشبكات القياسية المتوفرة في الأجهزة المحمولة. تشمل هذه التفاصيل: عنونة نقاط النهاية، وتهيئة الروابط وإدارتها، وتغليف البيانات، وإدارة تدفق البيانات، واكتشاف الأخطاء واستعادتها. آخر إصدار معتمد من مواصفات تصحيح أخطاء جيجابت لـ USB (MIPI GbD USB) على لوحات MIPI هو الإصدار 1.1 (مارس 2018). [ 14 ] أما آخر إصدار معتمد من مواصفات تصحيح أخطاء جيجابت لمقابس بروتوكول الإنترنت (MIPI GbD IPS) على لوحات MIPI فهو الإصدار 1.0 (يوليو 2016). [ 15 ]
I3C كناقل تصحيح الأخطاء
تعتمد حلول تصحيح الأخطاء الحالية، مثل JTAG و ARM CoreSight ، على بنية ثابتة، مما يحد من قابلية التوسع فيما يتعلق بإمكانية الوصول إلى مكونات/أجهزة تصحيح الأخطاء. يوفر MIPI Debug for I3C حلاً قابلاً للتوسع، ثنائي الأطراف، أحادي الطرف، يتميز بتوفره طوال دورة حياة المنتج. يمكن استخدام ناقل I3C كناقل تصحيح أخطاء فقط، أو يمكن مشاركته بين وظيفة تصحيح الأخطاء ووظيفته الأساسية كناقل لجمع البيانات من أجهزة الاستشعار. يعمل تصحيح الأخطاء عبر I3C من حيث المبدأ كما يلي:
- يتم استخدام ناقل I3C للنقل المادي، ويتم استخدام وظائف I3C الأصلية لتكوين الناقل ولربط المكونات الجديدة أثناء التشغيل.
- يتم تغليف بروتوكول التصحيح في أوامر I3C مخصصة. بروتوكولات التصحيح المدعومة هي JTAG و ARM CoreSight و MIPI SneakPeek Protocol. [ 13 ]
مراجع
- ↑ "مجموعة عمل تصحيح الأخطاء" . تحالف MIPI . 2019. تم الاطلاع عليه في 7 يونيو 2019 .
- ↑ "نظرة عامة على بنية التصحيح" (ملف PDF) . تحالف MIPI . الإصدار 1.2. 13 يوليو 2018. تم الاطلاع عليه في 7 يونيو 2019 .
- ↑ "برنامج نظام MIPI - التتبع (MIPI SyS-T)" . تحالف MIPI . الإصدار 1.0. أبريل 2018. تم الاطلاع عليه في 7 يونيو 2019 .
- ↑ "System Trace Macrocell" . ARM Developer . 2019. تم الاطلاع عليه بتاريخ 7 يونيو 2019 .
- ↑ "بروتوكول تتبع نظام MIPI (MIPI STP)" . تحالف MIPI . الإصدار 2.2. فبراير 2016. تم الاطلاع عليه في 7 يونيو 2019 .
- ^ "بروتوكول تغليف تتبع MIPI (MIPI TWP)" . تحالف MIPI . الإصدار 1.1. ديسمبر 2014 . تم الاسترجاع في 7 يونيو 2019 .
- ^ "واجهة التتبع المتوازية MIPI (MIPI PTI)" . تحالف MIPI . الإصدار 2.0. أكتوبر 2011 . تم الاسترجاع في 8 يونيو 2019 .
- ↑ "نظرة عامة على بنية CoreSight: منفذ التتبع التسلسلي عالي السرعة (HSSPT)" . ARM Developer . 2019. تم الاطلاع عليه بتاريخ 8 يونيو 2019 .
- ↑ "واجهة تتبع MIPI عالية السرعة (MIPI HTI)" . تحالف MIPI . الإصدار 1.0. يوليو 2016. تم الاطلاع عليه في 8 يونيو 2019 .
- ↑ "تصحيح أخطاء الأسلاك التسلسلية" . مطور ARM . 2019. تم الاطلاع عليه بتاريخ 8 يونيو 2019 .
- ↑ "توصية تحالف MIPI لموصلات التصحيح والتتبع" . تحالف MIPI .
- ↑ "واجهة MIPI الضيقة للتصحيح والاختبار (MIPI NIDnT)" . تحالف MIPI . الإصدار 1.2. ديسمبر 2017. تم الاطلاع عليه في 9 يونيو 2019 .
- 1 2 "بروتوكول MIPI SneakPeek (MIPI SPP)" . تحالف MIPI . الإصدار 1.0. أغسطس 2015 . تم الاسترجاع في 9 يونيو 2019 .
- ^ "تصحيح أخطاء MIPI Gigabit لـ USB (MIPI GbD USB)" . تحالف MIPI . الإصدار 1.1. مارس 2018 . تم الاسترجاع في 9 يونيو 2019 .
- ^ "تصحيح أخطاء MIPI Gigabit لمآخذ IP (MIPI GbD IPS)" . تحالف MIPI . الإصدار 1.0. يوليو 2016 . تم الاسترجاع في 9 يونيو 2019 .
روابط خارجية
- شولز، نوربرت (شركة إنتل) (26 سبتمبر 2016). كيف تساعدني مواصفات تصحيح أخطاء MIPI في تطوير برمجيات النظام . مؤتمر MIPI DevCon 2016. تاريخ الاطلاع: 9 يونيو 2019 .
- تصحيح الأخطاء
- معايير تحالف MIPI
