4.9. نواقل المستشعر

يتبادل مستشعر الكاميرا ووحدة التحكم الدقيقة (MCU) التي يتصل بها نوعين مختلفين من البيانات على ناقلين مختلفين.

4.9.1. ناقل التحكم

يقيم كل إعداد للمستشعر في سجل على الشريحة -- تنسيق البكسل، وحجم الإطار، وزمن التعريض، والكسب، وكسوب موازنة البياض، وأهداف التحكم التلقائي، وهكذا. تقرأ وحدة التحكم الدقيقة (MCU) هذه السجلات وتكتب إليها عبر ناقل I2C (تستخدم بعض المستشعرات SPI بدلاً من ذلك). يربط سلكان (SCL وSDA) طرفية I2C في وحدة التحكم الدقيقة بواجهة I2C في المستشعر، ويترجم برنامج التشغيل كل إعداد يختاره المستخدم إلى عملية كتابة سجل واحدة أو أكثر على هذا الناقل.

يعمل ناقل التحكم بسرعة مريحة -- 100 كيلوهرتز أو 400 كيلوهرتز عادةً. يستغرق ضبط سجل واحد عشرات الميكروثواني؛ بينما تستغرق إعادة تهيئة المستشعر بالكامل (إعادة ضبط، أو حجم إطار جديد، أو تنسيق بكسل جديد) عشرات إلى مئات الميلي ثانية، ويعود ذلك في معظمه إلى حاجة الشريحة إلى لحظة لإحضار الوضع الجديد إلى حالة نظيفة بعد كل عملية كتابة سجل. ولا يحتاج أي من ذلك إلى مواكبة تدفق البكسل.

4.9.2. ناقل بيانات البكسل

تغادر بيانات البكسل المستشعر على ناقل منفصل أعرض وأسرع بكثير. وتهيمن عائلتان على هذا المجال.

المتوازي هو الأقدم بين الاثنين. يحمل ثمانية أو عشرة خطوط بيانات لبتات البكسل، إضافة إلى ساعة بكسل (PCLK)، وإشارة صلاحية السطر (HSYNC)، وإشارة صلاحية الإطار (VSYNC). عند كل حافة ساعة يظهر بايت بكسل واحد على خطوط البيانات؛ وتُخبر إشارتا HSYNC وVSYNC المستقبل أين يبدأ كل صف وكل إطار وأين ينتهي. النواقل المتوازية بسيطة، لكن الإنتاجية محدودة بمدى سرعة مصفوفة دبابيس وحدة التحكم الدقيقة في إدخال البيانات على الساعة -- وهي عادةً ساعة بكسل من 50 إلى 100 ميغاهرتز في الحد الأعلى.

MIPI CSI-2 -- وهو واجهة الكاميرا التسلسلية لواجهة معالج صناعة الأجهزة المحمولة، الإصدار الثاني -- قد حل إلى حد كبير محل المتوازي في مستشعرات الصور الجديدة. يحمل البكسلات على زوج مسار تفاضلي واحد أو أكثر بسرعة مئات الميغابتات في الثانية لكل زوج، مع عدد أقل من الدبابيس، وعرض نطاق أعلى بكثير، وانبعاثات كهرومغناطيسية (EMI) أقل. ولا يزال المتوازي قائماً في الغالب في التصاميم القديمة وفي الأجزاء الأصغر منخفضة المعدل حيث تظل بساطته مجدية.

A diagram showing a sensor block on the left and an MCU block on the right. A bidirectional arrow between them is labelled "I2C (SCL, SDA)". A thicker arrow pointing from the sensor to the MCU is labelled "parallel or MIPI".

يتبادل المستشعر ووحدة التحكم الدقيقة (MCU) التحكم على ناقل I2C بطيء ثنائي الاتجاه، وبيانات البكسل على ناقل متوازي أو MIPI أعرض وأسرع وأحادي الاتجاه.

أياً كانت العائلة التي يستخدمها المستشعر، فإن جانب وحدة التحكم الدقيقة يحتوي على طرفية ثابتة الوظيفة تلتقط البكسلات الواردة وتكتبها في مخزن إطارات في الذاكرة. ولا يقود كود Python هذا الناقل مباشرة أبداً؛ بل يقرأ مخزن الإطارات فقط بعد أن ينتهي ذلك العتاد من ملئه.