ما هو محول الكود: ثنائي إلى رمز رمادي ورمادي للتحويل الثنائي

جرب أداة القضاء على المشاكل





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

ما هو الرمز الثنائي؟

في أجهزة الكمبيوتر الرقمية ، يُعرف الرمز المستخدم بناءً على نظام الأرقام الثنائية بالرمز الثنائي. هناك حالتان محتملتان مثل ON & OFF التي يتم تمثيلها من خلال 0 & 1. يستخدم النظام الرقمي 10 أرقام حيث يشير كل موضع من الأرقام إلى قوة 10. في النظام الثنائي ، يمثل كل موضع من الرقم قوة 2.




تتضمن إشارة الشفرة الثنائية سلسلة من النبضات الكهربائية التي تشير إلى الأحرف والأرقام والعمليات التي سيتم تنفيذها. يتم استخدام جهاز الساعة لنقل النبضات العادية ، بالإضافة إلى مكونات مثل الترانزستورات ، يتم تشغيل / إيقاف التشغيل للتدفق ، وإلا فإن ذلك يمنع الإشارات. في الكود الثنائي ، يمكن الإشارة إلى كل عدد عشري يتراوح من 0 إلى 9 من خلال مجموعة من 4 بتات / أرقام ثنائية. يمكن تقليل العمليات الحسابية الأربعة الأساسية مثل الجمع والطرح والضرب والقسمة إلى مجموعات من الدوال الجبرية المنطقية الأساسية على الأرقام الثنائية.

ما هو الرمز الرمادي؟

الرمز الرمادي أو RBC (رمز ثنائي منعكس) ، أو رمز دوري هو سلسلة من أنظمة الأرقام الثنائية. السبب الرئيسي لاستدعاء هذا الرمز الثنائي المنعكس هو أن قيم N / 2 الأولية بترتيب عكسي مقارنة بقيم N / 2 الأخيرة. في هذا النوع من الكود ، يتم تغيير القيمتين المتتاليتين من خلال جزء واحد من الأرقام الثنائية. تُستخدم هذه الرموز بشكل أساسي في السلسلة المشتركة للأرقام الثنائية التي تم إنشاؤها بواسطة الأجهزة.



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

هذا النوع من الشفرات خفيف الوزن للغاية ولا يعتمد على قيمة الرقم التي يتم ذكرها في جميع أنحاء الموضع. يُطلق على هذا النوع من الكود أيضًا اسم رمز متغير دوري لأن تغيير قيمة واحدة إلى قيمتها المتتالية يحمل تغيير بت واحد فقط.


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

ثنائي لتحويل رمز رمادي

الكود الثنائي هو تمثيل بسيط للغاية للبيانات باستخدام قيمتين مثل 0 و 1 ، ويستخدم بشكل أساسي في عالم الكمبيوتر. يمكن أن يكون الرمز الثنائي قيمة عالية (1) أو منخفضة (0) أو حتى تعديل في القيمة. يقدّر الكود الرمادي أو الكود الثنائي المنعكس طبيعة الكود الثنائي التي يتم ترتيبها باستخدام مؤشرات التشغيل والإيقاف ، وعادة ما يتم الإشارة إليها باستخدام الآحاد والأصفار. تُستخدم هذه الرموز للنظر في الوضوح وكذلك تعديل الخطأ في النظام الثنائي مجال الاتصالات .

يمكن تحويل الرمز الثنائي إلى رمز رمادي باستخدام ملف دائرة المنطق . الكود الرمادي هو رمز غير مرجح لأنه لا يوجد وزن معين مخصص لموضع البت. يمكن الحصول على كود n-bit عن طريق إعادة إنتاج كود n-1 bit على محور يلي صفوف 2ن -1، بالإضافة إلى وضع الجزء الأكثر أهمية من 0 على المحور مع الجزء الأكثر أهمية من 1 أسفل المحور. يتم عرض إنشاء الكود الرمادي خطوة بخطوة أدناه.

الدائرة المنطقية لتحويل الرمز الثنائي إلى الرمادي

الدائرة المنطقية لتحويل الرمز الثنائي إلى الرمادي

تستخدم هذه الطريقة بوابة Ex-OR لأداء بين البتات الثنائية. سيكون أفضل مثال التالي مفيدًا جدًا لمعرفة تحويل الثنائي إلى الرمادي. في طريقة التحويل هذه ، قم بإنزال بت MSB من الرقم الثنائي الحالي ، حيث أن البتة الأساسية أو بت MSB لرقم الرمز الرمادي مشابه للرقم الثنائي.

للحصول على البتات المشفرة باللون الرمادي المستقيم لتوليد الرقم المشفر الرمادي المقابل للأرقام الثنائية المعطاة ، أضف الرقم الأساسي أو رقم MSB للرقم الثنائي باتجاه الرقم الثاني ولاحظ المنتج أسفل البتة الأساسية للرمز الرمادي ، و أضف البت الثنائي التالي إلى البتة الثالثة ثم دوِّن المنتج بجوار الرقم 2اختصار الثانيقليلا من الكود الرمادي. وبالمثل ، اتبع هذا الإجراء حتى البت الثنائي النهائي ولاحظ النتائج اعتمادًا على عملية منطقية EX-OR لتوليد الرقم الثنائي المشفر الرمادي المقابل.

مثال على محول الرمز الثنائي إلى الرمادي

لنفترض أن أرقام الكود الثنائي هي bo و b1 و b2 و b3 بينما يمكن الحصول على الرمز الرمادي الخاص بناءً على المفهوم التالي.

مثال على تحويل الكود

مثال على تحويل الكود

من العملية المذكورة أعلاه ، يمكننا أخيرًا الحصول على القيم الرمادية مثل g3 = b3 ، g2 = b3 XOR b2 ، g1 = b2 XOR b1 ، g0 = b1 XOR b0.

مثال التحويل

مثال التحويل

على سبيل المثال ، خذ القيمة الثنائية b3 ، b2 ، b1 ، b0 = 1101 وابحث عن الرمز الرمادي g3 ، g2 ، g1 ، g0 بناءً على المفهوم أعلاه

ع 3 = ب 3 = 1

g2 = b3 XOR b2 = 1 XOR 1 = 0

g1 = b2 XOR b1 = 1 XOR 0 = 1

g0 = b1 XOR b0 = 0 XOR 1 = 1

الكود الرمادي النهائي لقيمة الثنائي 1101 هو 1011

ثنائي إلى جدول تحويل الرمز الرمادي

عدد عشري

كود ثنائي

كود رمادي

0

00000000
10001

0001

اثنين

0010

0011

3

00110010

4

0100

0110

50101

0111

6

01100101
70111

0100

8

10001100

9

1001

1101

101010

1111

أحد عشر

1011

1110

12

11001010

13

1101

1011

141110

1001

خمسة عشر1111

1000

كود VHDL لتحويل ثنائي إلى رمز رمادي يرد أدناه.

مكتبة ieee
استخدم ieee.std_logic_1164.ALL
كيان bin2gray هو
المنفذ (bin: في std_logic_vector (3 أسفل حتى 0) - الإدخال الثنائي
G: خارج std_logic_vector (3 أسفل حتى 0) - إخراج كود رمادي
)
bin2gray نهاية
مستوى البوابة المعمارية لـ bin2gray هو
يبدأ
- بوابات إكسور.
جي (3)<= bin(3)
جي (2)<= bin(3) xor bin(2)
جي (1)<= bin(2) xor bin(1)
جي (0)<= bin(1) xor bin(0)
نهاية

مزايا

ال مزايا الكود الثنائي تشمل ما يلي.

  • الفائدة الرئيسية من استخدام الكود الثنائي هو أنه يتم الإشارة إليه ببساطة من خلال الأجهزة الإلكترونية
  • البيانات الثنائية سهلة التخزين للغاية.
  • من السهل جدا الدلالة والتحكم الكترونيا وميكانيكية.
  • يمكن زيادة التباين بين تمثيلات الرموز بحيث يمكن تقليل احتمال الخطأ.

ال عيوب الكود الثنائي تشمل ما يلي.

  • يمكن زيادة العدد المطلوب من الرموز للدلالة على عدد معين من أنظمة قيمة الموقع الإجمالية.
  • لا يمكن للبشر قراءتها بشكل فعال للغاية بسبب طولها واستخدام الأرقام العشرة بشكل افتراضي
  • يستخدم العديد من الأرقام للدلالة على أي رقم منطقي

التطبيقات

تشمل تطبيقات الكود الثنائي ما يلي.

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

رمادي لتحويل الرمز الثنائي

تستخدم طريقة التحويل من الرمادي إلى الثنائي أيضًا مفهوم العمل للبوابة المنطقية EX-OR بين وحدات البت الرمادية والثنائية. قد يساعد المثال التالي مع الإجراء التدريجي في معرفة مفهوم تحويل الكود الرمادي إلى كود ثنائي.

لتغيير اللون الرمادي إلى الرمز الثنائي ، قم بإنزال رقم MSB الخاص برقم الرمز الرمادي ، حيث إن الرقم الأساسي أو MSB للرمز الرمادي مشابه للرقم الثنائي.

للحصول على البت الثنائي المستقيم التالي ، فإنه يستخدم عملية XOR بين البت الأساسي أو بت MSB الثنائي للبت التالي من الكود الرمادي.

الدائرة المنطقية لتحويل الكود الثنائي إلى الرمادي

الدائرة المنطقية لتحويل الكود الثنائي إلى الرمادي

وبالمثل ، للحصول على البت الثنائي الثالث على التوالي ، فإنه يستخدم عملية XOR بين البتة الثانية أو بت MSB الثنائي إلى بت MSD الثالث من الشفرة الرمادية وما إلى ذلك.

مثال على محول الكود الثنائي إلى الرمادي

لنفترض أن كود رمادي الأرقام g3 ، g2 ، g1 ، g0 في حين أن أرقام الكود الثنائي المحددة هي bo ، b1 ، b2 ، b3 يمكن الحصول عليها بناءً على المفهوم التالي.

مثال التحويل

مثال التحويل

من العملية المذكورة أعلاه ، يمكننا أخيرًا الحصول على القيم الثنائية مثل b3 = g3 ، b2 = b3 XOR g2 ، b1 = b2 XOR g1 ، b0 = b1 XOR g0.

مثال على تحويل الكود

مثال على تحويل الكود

على سبيل المثال ، خذ القيمة الرمادية g3 ، g2 ، g1 ، g0 = 0011 وابحث عن الرمز الثنائي b3 ، b2 ، b1 ، b0 بناءً على المفهوم أعلاه

b3 = g3 = 0

b2 = b3 XOR g2 = 0 XOR 0 = 0

b1 = b2 XOR g1 = 0 XOR 1 = 1

b0 = b1 XOR g0 = 1 XOR 1 = 0

الرمز الثنائي النهائي لقيمة اللون الرمادي 0011 هو 0010

رمادي إلى جدول تحويل الرمز الثنائي

عدد عشري كود رمادي

كود ثنائي

0

00000000

1

0001

0001

اثنين0010

0010

3

00110011

4

0110

0100

50111

0101

6

01010110
70100

0111

8

11001000
91101

1001

10

11111010
أحد عشر1110

1011

12

10101100
131011

1101

14

10011110
خمسة عشر1000

1111

مزايا

ال مزايا الكود الرمادي تشمل ما يلي.

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

سلبيات

تشمل عيوب الكود الرمادي ما يلي.

  • غير مناسب للوظائف الحسابية
  • ينطبق على عدد قليل من التطبيقات الدقيقة

التطبيقات

تشمل تطبيقات الكود الرمادي ما يلي.

  • يتم استخدامه في المحولات التناظرية إلى الرقمية
  • في الاتصال الرقمي لتصحيح خطأ
  • يقلل من الأخطاء أثناء تغيير الإشارات من التناظرية إلى الرقمية.
  • ألغاز رياضية
  • تصغير الدائرة المنطقية
  • يتم استخدامه للاتصال بين مجالين على مدار الساعة
  • الخوارزميات الجينية
  • ترميز الموضع

كود VHDL للرمز الرمادي للتحويل الثنائي يرد أدناه.

مكتبة ieee
استخدم ieee.std_logic_1164.ALL
كيان gray2bin هو
المنفذ (G: في std_logic_vector (3 أسفل حتى 0) - إدخال رمز رمادي
bin: خارج std_logic_vector (3 downto 0) - الإخراج الثنائي
)
نهاية gray2bin
مستوى بوابة العمارة من gray2bin هو
يبدأ
- بوابات إكسور.
صباحا (3)<= G(3)
صباحا (2)<= G(3) xor G(2)
صباحا (1)<= G(3) xor G(2) xor G(1)
صباحا (0)<= G(3) xor G(2) xor G(1) xor G(0)
نهاية

3 بت ثنائي لتحويل رمز رمادي

افترض أن الأرقام الثنائية في رقم ثنائي مكون من 3 بتات مثل b0 و b1 و b2 ، حيث تكون بت 'b2' هي MSB (البت الأكثر أهمية) والبت 'b0' هو LSB (بت الأقل أهمية) من الثنائي. أرقام الكود الرمادي هي g0 و g1 و g2 ، حيث يكون الرقم 'g2' هو MSB (البت الأكثر أهمية) بينما الرقم 'g0' هو LSB (بت الأقل أهمية) للرمز الرمادي.

الكود الثنائي - b2 ، b1 ، b0

الكود الرمادي - g2، g1، g0

000

000
001

001

010

011
011

010

100

110
101

111

110

101

111

100

وبالتالي ، يمكن حل التعبير المنطقي لمحول الكود الثنائي إلى الرمادي باستخدام k-map ، ويمكننا الحصول على g2 = b2، g1 = b1⊕ b2 & g0 = b0 ⊕ b1. وبالمثل ، يمكننا تغيير الرقم الثنائي n-bit (bnb (n-1) ... b2 b1 b0) إلى الرمز الرمادي (gng (n-1) ... g2 g1 g0).

لـ LSB (بت الأقل أهمية)

g0 = b0⊕b1

g1 = b1⊕b2

g2 = b1⊕b2

g (n-1) = b (n-1) bn ، gn = bn.

على سبيل المثال ، قم بتحويل 111010 من الأرقام الثنائية إلى رمز رمادي.

بناءً على الخوارزمية أعلاه ،

g0 = b0 ⊕ b1 => 0 1 = 1

g1 = b1 ⊕ b2 = 1 0 = 1

g2 = b2 ⊕ b3 = 0 1 = 1

g3 = b3 ⊕ b4 = 1⊕1 = 0

g4 = b4 ⊕ b5 = 1 1 = 0

ع 5 = ب 5 = 1 = 1

لذلك ، سيكون تحويل الرمز الثنائي إلى رمز رمادي - 100111.

ثنائي إلى محول الرمز الرمادي باستخدام IC 7486

يمكن تحويل الثنائي إلى الرمادي والرمادي إلى ثنائي باستخدام IC7486. المكونات المطلوبة لعمل هذا هي لوحة توصيل ، وأسلاك توصيل ، ومصابيح LED ، ومقاومات ، و XOR (IC7486) ، ومفاتيح ضغط وبطارية لإمداد الطاقة.

تتضمن حزمة IC7486 بشكل أساسي أربع بوابات منطقية XOR ، حيث ستوفر السنون 7 و 14 الإمداد لجميع البوابات المنطقية. يتم توصيل o / ps لبوابة XOR المفردة بإدخال البوابة المنطقية الأخرى داخل نفس الشريحة أو شريحة أخرى حتى يشتركان في محطة أرضية مماثلة.

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