نقرات سريعة
يُعدّ "التحكم المباشر بالبيانات" مصطلحًا تقنيًا يصف طريقة لنقل البيانات الرقمية باستخدام منافذ الإدخال/الإخراج للأغراض العامة (GPIO) بدلاً من مكونات الحاسوب المصممة خصيصًا لنقل البيانات . [ 1 ] ويتولى برنامج التحكم مسؤولية تلبية متطلبات البروتوكول ، بما في ذلك التوقيت، وهو ما قد يُمثّل تحديًا نظرًا لمحدودية موارد النظام المضيف وتضارب متطلبات البرنامج.
في المقابل، تلبي أجهزة الاتصال المخصصة (مثل UART و SPI و I²C ) متطلبات البروتوكول، مما يقلل من الحمل على نظام التحكم - البرمجيات ومعالجها المضيف . وعلى وجه الخصوص، توفر بعض أجهزة الاتصال تخزينًا مؤقتًا للبيانات لخفض الحمل على نظام التحكم. كما توجد أجهزة طرفية مخصصة للتحكم المباشر في البتات، تُسمى أجهزة الإدخال/الإخراج القابلة للبرمجة ، تجمع بين مرونة التحكم المباشر في البتات وانخفاض الحمل على الأجهزة المخصصة.
قد تسمح طريقة "التحكم بالبتات" للكمبيوتر بدعم بروتوكول مع تغييرات محدودة أو معدومة في الأجهزة، وبالتالي يمكن أن يكون التحكم بالبتات خيارًا أقل تكلفة لأن تغيير البرامج عادة ما يكون أقل تكلفة من تغيير الأجهزة.
تُستخدم تقنية "Bit banging" بشكل شائع في الأنظمة المدمجة . [ 2 ]
يتطلب الاختيار بين استخدام تقنية "التحكم المباشر بالبيانات" (Bit Banging) وأجهزة الاتصال المخصصة مفاضلة بين الحمل والأداء والموثوقية من جهة، وتوافر الأجهزة من جهة أخرى. تستهلك تقنية "التحكم المباشر بالبيانات" موارد معالجة أكثر من استخدام الأجهزة المخصصة، حيث يقضي المعالج معظم وقته في التحكم بخطوط البيانات، مما يعيق عمليات المعالجة الأخرى. كذلك، ما لم يكن زمن استجابة مقاطعات الأجهزة موحدًا، كما هو الحال في النماذج الأولى من معالجات Atmel PIC ، والضمانات الأخرى الموجودة عادةً في تصميمات المعالجات الأسطوانية مثل معالج الإدخال/الإخراج المساعد CDC 6600 ، فإن تقنية "التحكم المباشر بالبيانات" عادةً ما تُنتج إشارة أقل جودة - مع مزيد من التشويش والخلل - خاصةً إذا كان المعالج يؤدي مهامًا أخرى في الوقت نفسه. مع ذلك، إذا كان البرنامج يعتمد على المقاطعات، فقد تكون جودة الإشارة أفضل، خاصةً إذا كانت إشارات التحكم مثل RTS أو CTS أو DCD متوفرة. قد تكون تقنية "التحكم المباشر بالبيانات" هي الحل الوحيد عندما لا تتوفر أجهزة اتصال مخصصة.
مثال
يقوم مثال كود لغة C التالي بنقل بايت من البيانات على ناقل SPI عبر تقنية bit banging.
void send_8bit_serial_data ( unsigned char data ) { // تحديد الجهاز (نشط منخفض) output_low ( SD_CS );// إرسال البتات من 7 إلى 0 لـ ( int i = 0 ; i < 8 ; i ++ ) { // ضع في اعتبارك البت الأيسر // اجعل الخط عاليًا إذا كان البت 1، ومنخفضًا إذا كان البت 0 إذا ( data & 0x80 ) output_high ( SD_DI ); else output_low ( SD_DI );// قم بنبض حالة الساعة للإشارة إلى أنه يجب قراءة قيمة البت output_low ( SD_CLK ); delay (); output_high ( SD_CLK );// إزاحة البايت إلى اليسار بحيث تكون البتة التالية هي أقصى اليسار، البيانات <<= 1 ; }// إلغاء تحديد جهاز الإخراج العالي ( SD_CS )؛ }انظر أيضاً
- بنية أحادية البت – عرض بتات بنية الحاسوب. صفحات تعرض أوصافًا مختصرة لأهداف إعادة التوجيه.
- التلاعب بالبتات – تعديل البيانات خوارزميًا على مستوى أدنى من مستوى الكلمة
- تدفق البتات – سلسلة من الأرقام الثنائية. صفحات تعرض أوصافًا مختصرة لأهداف إعادة التوجيه.
- مُحَرِّك البتات (توضيح)
- بنية البت التسلسلية - نظام حسابي يتم فيه إرسال البيانات بت واحد في كل مرة عبر سلك
- برنامج التحميل السريع – برنامج تسريع تحميل الملفات
- شركة FTDI – شركة اسكتلندية لتصميم أجهزة أشباه الموصلات
- آلة ووز المتكاملة – نسخة أحادية الشريحة من وحدة تحكم القرص المرن لجهاز أبل 2 (IWM)
- قلم ضوئي – جهاز إدخال بيانات الكمبيوتر
- الاستطلاع (علوم الحاسوب) - عملية أخذ عينات من حالة الجهاز
- الراديو المعرف بالبرمجيات – نظام اتصالات لاسلكية مُنفذ باستخدام البرمجيات
- الآلة الافتراضية – برنامج يحاكي جهاز كمبيوتر كامل
مراجع
- ↑ "مسرد مصطلحات الهندسة الكهربائية (EE) من شركة Analog Devices" . تم الاطلاع عليه بتاريخ 22-09-2024 .
- ↑ بريدكو، مايكل (2000). برمجة وتخصيص وحدات التحكم الدقيقة PICmicro ( الطبعة الثانية). ماكجرو هيل بروفيشنال . الصفحات 10-12 . ISBN 978-0-07-136172-9.
روابط خارجية
- ملاحظات حول استخدام البتات في البرمجة التسلسلية غير المتزامنة
- تقنية Bit banging للاتصال التسلسلي غير المتزامن
- برمجة البتات لـ RS-232
- بروتوكول I2C على معالجات AVR باستخدام تقنية bit banging
- بروتوكول SPI فعال بتقنية bit-banged لوحدة التحكم الدقيقة 8051
- نقل البيانات
- معالجة الإشارات
- الدوائر الرقمية
- الأنظمة المدمجة
