# مبدل تماثلي رقمي

المبدل التماثلي الرقمي أو المحول التناظري الرقمي (بالإنجليزية: Analog-to-digital converter)‏، اختصاراً ADC، هو وحدة إلكترونية تقوم بتحويل الإشارات الكهربية التماثلية إلى رقمية، حيث يكون هذا الخرج الرقمي ثنائي القيمة (قيمة عليا ويمثل بالرقم 1 وقيمة صغرى ويمثل بالرقم 0).

## أساسيات التشغيل
### العينة

Sampling وهي تقسيم الإشارة إلى أجزاء تفصل بينها مدة زمنية قدرها $T_{\mathrm {S} }$ بواسطة مفتاح تلقائي Switch، ويكون تردد هذا المفتاح أكبر من ضعف أكبر تردد في الإشارة المراد تحويلها. ويسمى هذا الزمن بزمن العينة Sampling Time.

### الترميز

Quantization تقييم كل مستوى من هذه العينات المأخوذة وإعطاءها قيمة رقمية في عدد من الخانات (Bits) يتم تحديد هذا العدد من البتات بناء على أقصى مستوى تصل إليه الإشارة وكذلك دقة التحويل.

### الدقة

تزداد الدقة كلما زاد عدد البتات (N) للمسجل (Register) الموجود داخل المحول ADC حسب:
FSR :يمثل المدى الكلي لقيمة الإشارة (Amplitude) لكن (P-P). مثلا (sine wave) تمتلك أعلى قيمة بالموجب 4 وبالسالب -4
وكذلك تزداد الدقة بتقليل Ts وهو الزمن بين عينتين (two samples) أي كلما زاد تردد التقسيم (sampling fs)

## أنواع المبدلات التماثلية – الرقمية (ADC)

يوجد نوعان من المبدلات التماثلية الرقمية: 1:يستخدم مبدل رقمي تماثلي (DAC) في تغذيته الخلفية وله ثلاث أنواع: (عدادي - متلاحق - تقريب متتالي).
2: لا يستخدم مبدل رقمي تماثلي (DAC) في تغذيته الخلفية وله نوعان: (Flash ADC - مبدل جهد إلى تردد ).

### المبدل العدادي

هذا المبدل هو عبارة عن مبدل يستخدم المبدل الرقمي التماثلي (DAC) في تغذيته الخلفية كما يحتوي على عداد تصاعدي حيث أن حجم العداد بنفس حجم المبدل الرقمي التماثلي (DAC) و هذا مخطط له:
يعمل العداد ما دام جهد الدخل Vin أصغر من جهد الخرج لمبدل رقمي تماثلي (DAC) وبالتالي يستمر في العد، وعندما يصبح أكبر من قيمة خرج المبدل الرقمي التماثلي (DAC) يكون خرج المقارن 0 فيبقى الخرج الرقمي ثابت. أحد سلبيات هذا النوع هو وجود عداد في بنيته مما يؤدي إلى وجود زمن تبديل طويل نسبيا، حيث أن العداد تصاعدي فعند قيم معينة يجب التصفير.
ويكون زمن التبديل الأعظم:
${\mathcal}(n-1)\cdot t^{2}$
حيث ${\mathcal}n$ هي عدد البتات (bits) و${\mathcal}t$ هي زمن تبديل المبدل الرقمي التماثلي (DAC)

### المبدل المتلاحق

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

### مبدل التقريب المتتالي التسلسلي (serial successive approximation converter)

(دراسة ل 3bit)
يقوم بعملية مقارنة ما بين Vin و V ref/2 فتكون النتيجة إما:
* فوق، أي الخانة MSB تقابل 1
* أو تحت، أي الخانة MSB تقابل 0
ومن ثم تتم المقارنة من جديد ولكن بالنسبة للمراتب التالية وصولاً إلى تحديد الـ LSB
والشكل يوضح هذه العملية:
وهكذا المقارنة الثانية تحدد البت الثاني وهكذا دواليك حتى الوصول إلى آخر مقارنة وهي التي تحدد. LSB أي إن أول قيمة يبدأ بإيجادها هي MSB ثم يقرر بقية الخانات وصول إلى LSB

#### الخوارزمية

أن تقنية التقريب المتتالي هي التقنية الأكثر استخداما" مع المعالجات المصغرة كطريقة تتصف بالسرعة العالية والكلفة المنخفضة وسنشرح فيما يلي هذه التقنية بالتفصيل حيث أن المبدل ADC المستخدم في المنظومة يستخدم هذه التقنية في التبديل يبين الشكل التالي البنية الداخلية لهذا النوع من المبدلات.
إن مبدأ هذه الطريقة هو توليد قيمة أولية لقيمة الدخل ثم تبديلها إلى قيمة تماثلية وذلك باستخدام مبدل D\A ثم مقارنة هذه القيمة مع القيمة الفعلية وبالاعتماد على نتيجة المقارنة سوف تزداد القيمة الأولية أو تنقص حيث يقوم المتحكم المنطقي بهذه العملية (عملية الزيادة أو النقصان) ويمكن أن نفهم طريقة عمل المبرمج المنطقي بالاعتماد على الشكل التالي الذي يبين المخطط الانسيابي للبرنامج الذي ينفذه المبرمج المنطقي والمرسوم في الصفحة التالية:
المخطط الانسيابي للخوارزمية
إن الخانة التي يكون عليها "1" على مدخل المبدل D\A تؤدي إلى توليد جهد في خرج المبدل قيمته مبينة وفق الجدول التالي
فمثلا جهد الخرج الذي يولده D/A من أجل القيمة 1011 0001 هو:
Vref/2+Vref/8+Vref/16+Vref/256 = (177/256)* Vref وكمثال على سير عملية التقريب المتتالي لنأخذ الشكل التالي الذي يوضح سير عملية التقريب لأجل مبدل بعرض 8 بت.
توضع الخانة الأكثر أهمية MSB بالحالة واحد وتكون القيمة الرقمية على دخل المبدل هي 1000 0000 وبالتالي يوجد على خرج الـ D/A جهداً قيمته V1 = Vref/2 نلاحظ ان قيمته اصغر من قيمة الدخل التماثلي V1 < Vinput لذلك يقوم المتحكم بتثبيت القيمة واحد على الخانة السابعة وينتقل إلى الخانة السادسة فيضع عليها القيمة واحد فتصبح القيمة الرقمية 1100 0000 وبالتالي يتولد جهد قينته V2 = Vref/2 + Vref/4 على خرج الـ D/A ونلاحظ انّ V2 > Vinput لذلك يعود المتحكم المنطقي ويضع القيمة صفرعلى الخانة السادسة وينتقل إلى الخانة الخامسة ويضعها في الحالة واحد أي تصبح القيمة الرقمية 1010 0000 والجهد المقابل لها هو:
V3 = Vref/2 + Vref/8 ونتيجة المقارنة نلاحظ أن V3 < Vinput لذلك يتم تثبيت قيمة الخانة الخامسة بالحالة واحد وينتقل المبرمج ليعالج الخانة الرابعة التالية وهكذا إلى نهاية عملية التقريب.
نلاحظ ان كل خانة تعالج خلال نبضتين اثنتين من نبضات الساعة ولأجل المثال السابق تستغرق عملية التبديل 16 نبضة من نبضات الساعة وبالتالي فإن زمن التبديل ثابت لكل القيم.
تمت المناقشة السابقة على أساس أن الـ Vinput ثابتة خلال عملية التبديل وعلى أساسها حصلنا على زمن تبديل ثابت أما عندما تتغير قيمة الدخل ولمّا ينتهي المتحكم بعد من عملية التبديل فان عملية التبديل ربما تستغرق زمناً أكبر أو تؤدي إلى أخطاء ولحل هذه المشكلة يجب استخدام دارة نمذجة ومسك للعينات Sample and hold لتثبيت قيمة الدخل التي تجري عليها عملية التقريب لفترة زمنية أكبر أو تساوي زمن التبديل Conversion time