تصحيح أخطاء نقل isochronous لكاميرا UVC: عرض النطاق الترددي والإعدادات البديلة والإطارات المُسقطة
كيفية استكشاف حالات فشل كاميرا UVC USB، وعمليات النقل isochronous، والإعدادات البديلة، وتخصيص عرض النطاق الترددي، والإطارات المُسقطة.
أجهزة فئة فيديو USB في كل مكان: "كاميرات الويب، والكاميرات الصناعية، وكاميرات المجهر، ووحدات الرؤية المدمجة، والتركيبات الاختبارية. عندما تفشل كاميرا UVC، عادة ما يكون العرض البسيط: لا يوجد فيديو، أو معدل إطارات منخفض، أو إطارات مُسقطة، أو تطبيق كاميرا يعمل بدقة واحدة لكنه يفشل عند أخرى." أدلة USB أقل بساطة. غالبًا ما تعتمد كاميرات UVC على الواصفات، والتفاوض الخاص بالفئة، وإعدادات الواجهة البديلة، وعرض نطاق نقطة النهاية، وسلوك نقل isochronous. تقرير "الكاميرا لا تعمل" العام نادرًا ما يحتوي على معلومات كافية.
UVC أكثر من مجرد تعداد
يمكن لجهاز UVC أن يعد بشكل صحيح ولا يزال يفشل في البث. يثبت التعداد فقط أن المhost قرأ الواصفات واختار تهيئة. يتطلب بث الفيديو تفاوضًا إضافيًا وحركة نقطة نهاية.
افحص:
- واجهة تحكم الفيديو
- واجهة بث الفيديو
- واصفات التنسيق
- واصفات الإطار
- خيارات فاصل الإطار
- ضوابط probe و commit
- الإعداد البديل المحدد
- واصفات نقطة النهاية isochronous
- أحجام الحزم وحالة النقل
إذا كانت الكاميرا تعمل بدقة 640×480 لكنها تفشل عند 1080p، فقد توضح أدلة الواصف وعرض النطاق الترددي السبب.
الإعدادات البديلة مهمة
تستخدم العديد من أجهزة UVC إعدادات واجهة بديلة لكشف مستويات عرض النطاق الترددي المختلفة. يختار المضيف إعدادًا بديلًا قبل البث. إذا لم يتطابق الإعداد المحدد مع التنسيق المتفاوض عليه أو عرض النطاق الترددي، فقد يفشل البث أو تُسقط الإطارات.
أسئلة الالتقاط:
- أي إعداد بديل تم تحديده؟
- ما حجم الحزمة الأقصى لنقطة النهاية المُعلن؟
- ما التنسيق وفاصل الإطار الذي تم الالتزام به؟
- هل بدأت عمليات نقل isochronous؟
- هل ظهرت أخطاء نقل فورًا؟
- هل رجع المhost إلى إعداد أقل؟
هذا هو الدليل الذي يحتاجه مهندس البرامج الثابتة قبل تغيير واصفات الإطار أو تهيئة نقطة النهاية.
عمليات نقل isochronous تعطي الأولوية للتوقيت
تم تصميم عمليات نقل isochronous للبيانات الحساسة للتوقيت. تحجز عرض النطاق الترددي، لكنها لا تعيد المحاولة مثل عمليات نقل bulk. هذا مناسب للفيديو، لكنه يعني أن البيانات المُسقطة قد تظهر كفساد إطار أو بيانات صورة مفقودة بدلاً من إعادة إرسال نظيفة.
الأسباب الشائعة:
- عرض النطاق الترددي للناقل غير كافٍ
- مشكلات طوبولوجيا الموزع
- أجهزة USB متنافسة
- إعداد بديل خاطئ
- تجويع مخزن البرامج الثابتة
- حدود وحدة تحكم المضيف
- مشكلات الكابل أو جودة الإشارة
يجب أن يُظهر الالتقاط ما إذا كانت الحزم مُجدولة، وما إذا كانت البيانات وصلت، وما إذا كانت أخطاء الحالة قد حدثت.
لا تصحح UVC من التطبيق فقط
غالبًا ما تخفي تطبيقات الكاميرا تفاوض USB. قد تختار بدقة أقل بصمت، أو ترجع إلى MJPEG، أو تعيد محاولة فواصل الإطارات، أو تخفي أخطاء النقل. بالنسبة لفرق البرامج الثابتة وبائعي الأجهزة، هذا غير كافٍ.
يسجل التقاط دعم UVC الجيد:
- التنسيق المطلوب
- حجم الإطار المطلوب
- فاصل الإطار المطلوب
- نتيجة probe/commit
- الإعداد البديل المحدد
- حالة النقل
- تدفق الحمولة المرصود
هذا يتيح للفرق شرح لماذا يعمل مضيف أو دقة بينما يفشل آخر.
أين يتناسب Bus Scope
تم بناء Bus Scope لأدلة USB. لحالات UVC، يجب أن يساعد في ربط الواصفات وطلبات التحكم واختيار نقطة النهاية والخط الزمني للنقل. لا يحتاج إلى أن يكون عارض كاميرا ليكون مفيدًا. الهدف ليس عرض الصورة؛ الهدف هو شرح سلوك الناقل.
لعمليات البحث مثل "كاميرا UVC بدون فيديو"، أو "فشل نقل isochronous لكاميرا USB"، أو "إطارات كاميرا ويب مُسقطة التقاط USB"، يجب أن يبدأ الجواب بالواصفات والإعدادات البديلة وعرض النطاق الترددي وحالة النقل.