حاكم اتفاقية مكافحة التصحر: ما يؤكل به


في هذه المقالة ، أود أن أقدم تجربتي في استخدام جهاز الكشف الضوئي CCD الخطي. يمكن استخدام خط CCD هذا في تصميم مطياف مؤقت أو قارئ باركود أو مستشعر موضع أو انحراف شعاع الليزر وماسحة ضوئية للصور أو الفيلم وأكثر من ذلك بكثير. في حالتي ، كان ماسح ليزر ، لا يمكنني وصفه على الشبكة.

ما هو الجهاز المزدوج المسؤول؟

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

في مستقبلات صورة CCD ، هذه هي بالضبط قدرة هذه البنية التي يتم استخدامها لإخراج الشحنات المتراكمة تحت كل بكسل من الهيكل. بالإضافة إلى ذلك ، فإن نظام البوابة نفسه الذي يتم استخدامه لنقل الشحنات أثناء التعرض يخلق آبارًا محتملة تتراكم فيها هذه الشحنات (أو يتم إنشاء هذه الثقوب أثناء تكوين الهيكل - على غرار القنوات المدمجة والمدمجة في ترانزستور MOS). تشتمل الهياكل الأكثر تعقيدًا على بوابة مقاومة يتم تشكيل منحدر سلس محتمل عليها (هكذا يتم ترتيب خطوط Hamamatsu S11155 CCD) ، وكذلك فصل مناطق تراكم الشحن ونقله - يتم نقل الشحنات المتراكمة للخط بالكامل أولاً إلى الخط العازل ثم يتم تطويرها لاحقًا الخروج على طول الماضي.
إن بساطة البنية الداخلية تترجم إلى تعقيد إدارتها. حتى أبسط نسخة من خط CCD تتطلب توليد إشارة من مرحلتين أو ثلاث مراحل من شكل معقد مع مستويات مختلفة من الجهد مع حواف حادة (مع سعة إدخال عالية من 1000 pF أو أكثر) ، تحولت نسبة إلى بعضها البعض. تتطلب مساطر Hamamatsu S11155 ما يصل إلى ثماني إشارات مختلفة بمستويات مختلفة من الجهد العالي والمنخفض على كلا الجانبين من الصفر.
لحسن الحظ ، أصدرت بعض الشركات (على سبيل المثال ، Sony) خطًا يتشكل فيه كل هذا التعقيد مباشرةً على الشريحة. ولأغراض عملهم ، تحتاج إلى توليد إشارة فقط: مصراع الفتح الإلكتروني طوال مدة التعرض ، وعلى مدار الساعة. في تصميمنا ، هذا هو بالضبط خط ILX554: (كقاعدة عامة ، مستعمل ، لكن وظيفي للغاية) سهل الشراء من الصينيين على Aliexpress.

لنلقِ نظرة على ورقة البيانات

ونحن نرى أن هناك 6 فقط من المسامير المشاركة ، وهي: مزود الطاقة + 5V ، إشارات دخل ROG و CLK ، إشارة خرج Vout ، وضع SHSW ، حدد الإدخال والأرض. وهذا كل شيء.
ROG هو التحكم الإلكتروني في الغالق (وبدء نقل الرسوم من خط الحساسية إلى سجل التحول المباشر). لديه مستوى نشط - صفر. لفضح المصفوفة ، يجب الضغط عليها إلى الصفر والاحتفاظ بها طالما كان ذلك ضروريًا - من 5 إلى عدة ثوانٍ. ثم ، ترك ، انتظر 3 μs على الأقل (خلال هذا الوقت ، تعمل دائرة نقل الشحنات). كل هذا الوقت عند مدخل CLK نحافظ على مستوى عال. وبعد ذلك يمكنك قراءة السطر ، مع تطبيق على إدخال CLK متعرج مع تردد من عدة عشرات من كيلو هرتز إلى 2 ميغاهيرتز. في هذه الحالة ، عند كل اختلاف من الوحدة إلى الصفر ، سيتم دفع البكسل التالي إلى الإخراج. يوجد 2088 بكسل في التشكيلة ، منها 2048 تعمل ، حساس (في الواقع ، هناك عدة وحدات أخرى ، لكن البيكسلات الأبعد يتم حجبها جزئيًا). توصي Datashit بتطبيق ما لا يقل عن 2090 نبضة CLK على المصفوفة للتشغيل الصحيح.
وكيف سيتم دفعها يعتمد على ما هو في مدخلات SHSW. إذا كانت وحدة منطقية ، فسيصدر الخرج إشارة معقدة إلى حد ما:

علاوة على ذلك ، عندما ينتقل CLK من صفر إلى واحد ، تحدث إعادة التعيين ، ومن الوحدة إلى الصفر - إصدار إشارة مفيدة.
وعند الصفر عند إدخال SHSW ، يتم تشغيل دائرة تخزين العينات المدمجة ، مما يعمل على تبسيط هذه الإشارة إلى إشارة فيديو بسيطة خطوة بخطوة ، حيث مع كل انتقال جديد من CLK إلى الصفر ، يظهر مستوى إشارة البكسل التالي ببساطة ويتم الاحتفاظ به طوال فترة إشارة CLK.
يأتي النطاق المفيد لإشارة الإخراج من مستوى مظلم معين ، والذي وفقًا لورقة البيانات 2.85 فولت ، ولكن في الواقع يمكن أن يكون مختلفًا (في السطر الخاص بي - حوالي 3 فولت) ، وعندما تنخفض مستوى إشارة الخرج إلى 1.5-2 V.
بشكل عام ، هذا كل ما نحتاج إلى معرفته حول هذا الخط.

دائرة الاشتمال


انها بسيطة وواضحة. نقوم بإنشاء إشارات CLK و ROG برمجيًا باستخدام MK ، وتكون مشغلات Schmitt عند الإدخال هي أبسط طريقة للتبديل من 3.3 V إلى 5 V. والحقيقة هي أنه لا توجد مخازن مؤقتة في هذه الخطوط في السطر ، وأن تعمل دوائر المصفوفة بشكل صحيح تحتاج إلى أن تقدم لهم متعرجًا بمقياس كامل من صفر إلى خمسة فولتات وانحدار جيد للجبهات. إن NC7SZ14M5X المشار إليه في الرسم البياني عبارة عن مشغلات عكسية شميت مفردة مريحة للغاية مع جبهات شديدة الانحدار وزيادة الحمولة ، وكثيراً ما أستخدمها في مشاريعي.
باستخدام DA1 ، "يتسارع" مستوى إشارة الفيديو من التشكيلة إلى المدى الذي يعمل فيه ADC ، بينما تتم إزالة "الحامل" البالغ حوالي 1.5 فولت المطابق لمستوى التشبع. نظرًا لاختلاف الفرق بين سعة الإشارة وقيمة "الحامل" اختلافًا كبيرًا بين صفيفات خط CCD المختلفة ، يجب اختيار المقاومة R1 و R3 عن طريق "وضع" إشارة الخرج في المدى المطلوب. يجب أن يؤخذ في الاعتبار أن الإزاحة لا تعتمد فقط على المقاومة R1 ، لذلك يجب عليك أولاً تحديدها.
L1 و L2 عبارة عن خرز من الفريت أو خنق صغير لمدة 1-2 ميكروغرام من حجم الإطار 0805 أو 0603. وتستخدم المقاومات والمكثفات من نفس الحجم. يتم تجميع الدائرة على لوحة على الوجهين عن طريق تركيب السطح. لا أحضر تخطيط اللوحة ، حيث لا يزال لدي الكثير من الأشياء عليه.

تنفيذ البرامج على MK

تتمثل مهمة MK في إنشاء إشارة ROG عالية المستوى (لا تنسى عن المحولات!) من المدة المطلوبة ، ثم توقف مؤقت (3-10 μs) ، وبعد ذلك تسلسل من 2090 نبضات عالية المستوى مفصولة بإيقاف مؤقت متساوٍ في المدة. أثناء هذه النبضات (أو الإيقاف المؤقت) ، بعد مرور بعض الوقت على المقدمة ، يتم الحصول على قيمة إضاءة البكسل باستخدام ADC خارجي أو خارجي. بعد قراءة الإطار ، يجب أن تتوقف مؤقتًا حتى نبض ROG جديد - هو نفسه 3-10 μs. بعد تشغيل الطاقة ، وكما تبين بعد عدم استخدام المسطرة لفترة طويلة (أكثر من 100 مللي ثانية) ، تحتاج إلى "تنظيفها" من خلال تطبيق قطار نبض قياسي مجاني على CLK عدة مرات.
على STM32 ، من الحكمة القيام بكل هذا على مقاطعة مؤقت. من خلال تعيين المؤقت لإنشاء مقاطعات بتردد يتوافق مع تردد مضاعف البيكسل ، نقوم بتوصيل كل تشغيل مؤقت إلى مقاطعة ، حيث نقوم بالتناوب بإخراج صفر أو واحد إلى المنفذ ، وعندما نخرج الصفر ، نقرأ القراءات من ADC. وبعد عد 2090 دورة ، نوقف الموقت. لقراءة الإطار التالي ، تحتاج إلى إعادة تعيين عداد الدورة إلى الصفر ، وبدء المؤقت والانتظار حتى يتم حساب كل شيء.
شيء مثل هذا ، كما هو موضح في مقتطفات الشفرة هذه.

bool clkState = false; bool frameOk = true; uint16_t pixCount = 0; uint16_t ccdFrame[2090]; inline uint16_t readADC1(void) //            { . . . } void Delay(unsigned int Val) //     { for( ; Val != 0; Val--) __NOP(); } void readCCD(void) //   - { pixCount = 0; //    frameOk = false; //   TIM_Cmd(TIM6, ENABLE); //   while(frameOk == false); // ,     } // ...    ... // void TIM6_IRQHandler(void) /*      -     CLK       */ { if (TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET) { if(clkState == true) //   (.0)      { clkState = false; GPIOB->ODR &= ~GPIO_ODR_ODR_1; //      Delay(3); //  ,        ccdFrame[pixCount] = readADC1(); } else //   (.1) { pixCount++; clkState = true; GPIOB->ODR |= GPIO_ODR_ODR_1; //      } if(pixCount >= 2090) //    ,      { pixCount = 0; frameOk = true; TIM_Cmd(TIM6, DISABLE); } TIM_ClearITPendingBit(TIM4, TIM_IT_Update); } } 


وهنا هي النتيجة
النتيجة ليست سيئة. على الرغم من أن ADC المدمج لا يحتوي على أي خصائص ، إلا أن خصائص الضوضاء الخاصة به تتوافق تمامًا مع ضوضاء خط CCD. اتضح أن سعة مسار الضوضاء للإشارة الداكنة مع وقت تراكم يبلغ حوالي 1 مللي ثانية هي ~ 3-4 مستويات تكميم ، وعند استخدام ADC 14 بت خارجي بخصائص ممتازة ، تكون النتائج أفضل قليلاً. مع زيادة الإضاءة ، تزداد الضوضاء لسبب بسيط: عدد الإلكترونات الضوئية في كل بكسل ليس كبيرًا جدًا (حسب حساباتي ، حوالي 30 ألفًا عند التشبع). لأفضل الأجهزة ، هذه القيمة تصل إلى 200 ألف.
في الرسم البياني أدناه مثال على "الصورة" التي سجلها الحاكم ، وعلى خلفية الجدار المضاء هناك مظلمة تقف عليها كرة مجوفة زجاجية يبلغ قطرها 1 سم مثبتة بداخلها بمحلول أسود. الذروة هي انعكاس من السطح الخارجي لهذه الكرة. الضوضاء في المناطق المشرقة هي بنية الجدار نفسه ، معززة بقع من الليزر ، من إطار إلى إطار يبقى ثابتا. خط الضجيج الحقيقي أقل بكثير.
صورة


خطوط مماثلة أخرى
تعمل بعض خطوط SONY CCD 2048 بكسل بالأبيض والأسود من ILX511 ، ILX551 (الأخير له pinout مختلفة ويتطلب اثنين من الفولتية العرض - 5 و 9 V) ، تختلف في حجم بكسل عرضية (14 حتي 200 ميكرون) تعمل بنفس الطريقة تماما. والحساسية الطيفية (ILX554A حساس للأحمر والأشعة تحت الحمراء ، على غرار المؤشر B لديه حساسية منخفضة في منطقة الأشعة تحت الحمراء وقريبة من العين ، وحساسية ILX511B أكثر حساسية للون الأزرق). تختلف خصائصها الديناميكية: يصل المدى الديناميكي ILX551B نظرًا لصغر حجم البيكسل إلى 6000 (يصل خطنا إلى هذا DD بسرعات مصراع قصيرة تبلغ حوالي 10 μs).

* * *
تتناول هذه المقالة اتصال ربما أسهل في استخدام خط CCD. هذا البساطة يرجع إلى حقيقة أن كل التعقيد مخبأة في بلدها تحت غطاء محرك السيارة. إذا لم يكن الأمر كذلك بالنسبة لبرامج التشغيل المدمجة ، فسيتعين علي توليد الكثير من الإشارات متعددة المستويات.
لسوء الحظ ، وفقًا للمعايير الحديثة ، فإن خط CCD الذي يحتوي على برامج تشغيل مدمجة ليس له أفضل الخصائص. لذلك ، في هذا الخط ، يبلغ المدى الديناميكي ، المعرّف كنسبة إشارة التشبع إلى الإشارة المظلمة ، 333: 1 ، ويتم تعريفه على أنه نسبة إشارة التشبع إلى الحد الأدنى من الإشارات المكتشفة على خلفية الضوضاء - حوالي 1000: 1. ولكن ليس من الصعب استخدام هذه الأجهزة فحسب ، بل يصعب الوصول إليها في كثير من الأحيان (يتطلب Hamamatsu نفس الإجراءات البيروقراطية المعقدة عند شراء صفائف CCD والكاشفات الضوئية الأخرى بسبب الغرض المزدوج من هذه المنتجات). ومع ذلك ، فإن مثل هذا الأداء العالي ليس مطلوبًا دائمًا ، ولأغراض عديدة ، تكون معلمات هذه الأجهزة مقبولة تمامًا.

Source: https://habr.com/ru/post/ar457762/


All Articles