I3C (حافلة)

I3C أو I³C ، المعروف أيضًا باسم SenseWire ، [ 1 ] [ 2 ] هو معيار [ 3 ] يُمكّن الاتصال بين الرقاقات الدقيقة من خلال تحديد التوصيل الكهربائي بينها وأنماط الإشارة المستخدمة. وهو اختصار لـ Improved Inter-Integrated Circuit ، [ 4 ] ويُعرّف هذا المعيار التوصيل الكهربائي بين الرقاقات على أنه ناقل بيانات تسلسلي ثنائي الأسلاك، مشترك ( متعدد النقاط )، حيث يُستخدم أحد السلكين ( ) كساعة لتحديد أوقات أخذ العينات، بينما يُستخدم السلك الآخر ( ) كخط بيانات يمكن أخذ عينات من جهده. ويُحدد المعيار بروتوكول إشارة يسمح لعدة رقاقات بالتحكم في الاتصال، وبالتالي العمل كوحدة تحكم في الناقل.SCLSDA

يستمد معيار I3C اسمه من ناقل I²C، ويستخدم نفس التوصيلات الكهربائية الخاصة به، كما يوفر بعض التوافق مع الإصدارات السابقة منه. يُعدّ ناقل I²C معيارًا فعليًا للاتصال بين الرقاقات الإلكترونية، ويُستخدم على نطاق واسع للأجهزة الطرفية وأجهزة الاستشعار منخفضة السرعة في الأجهزة الإلكترونية. صُمم معيار I3C للحفاظ على بعض التوافق مع الإصدارات السابقة من نظام I²C، لا سيما أنه يسمح بتصميمات يمكن فيها توصيل أجهزة I²C الحالية بناقل I3C مع إمكانية تحويل الناقل إلى معدل بيانات أعلى للاتصال بسرعات أعلى بين أجهزة I²C المتوافقة. وبذلك، يجمع معيار I3C بين ميزة بنية I²C البسيطة ذات السلكين وسرعات الاتصال العالية الشائعة في نواقل البيانات ذات عدد الأطراف الأكبر، مثل واجهة SPI (واجهة الأجهزة الطرفية التسلسلية ).

طُوِّر معيار I3C بجهود تعاونية بين شركات الإلكترونيات والحاسوب تحت رعاية تحالف MIPI . أُتيح معيار I3C للجمهور لأول مرة في نهاية عام 2017، [ 5 ] [ 6 ] مع العلم أن الوصول إليه يتطلب الكشف عن معلومات خاصة. وقد دعمت كلٌّ من جوجل وإنتل معيار I3C كمعيار لواجهة أجهزة الاستشعار في إنترنت الأشياء (IoT). [ 7 ]

تاريخ

تم الإعلان عن أهداف جهود مجموعة عمل مستشعرات MIPI لأول مرة في نوفمبر 2014 في المؤتمر التنفيذي لـ MEMS في سكوتسديل، أريزونا ، الولايات المتحدة. [ 8 ]

أصدرت شركات توريد أدوات أتمتة التصميم الإلكتروني ، بما في ذلك Cadence [ 9 ] و Synopsys [ 10 ] و Silvaco [ 11 وحدات IP للتحكم وبرامج التحقق المرتبطة بها لتنفيذ ناقل I3C في تصميمات الدوائر المتكاملة الجديدة.

في ديسمبر 2016، قامت شركة Lattice Semiconductor بدمج دعم I3C في معالج FPGA الجديد الخاص بها والمعروف باسم iCE40 UltraPlus. [ 12 ]

في عام 2017، أعلنت شركة كوالكوم عن معالج سنابدراجون 845 للهواتف المحمولة مع دعم وحدة تحكم I3C المدمجة. [ 13 ]

في ديسمبر 2017، تم إصدار مواصفات I3C 1.0 للمراجعة العامة. [ 7 ] [ 14 ] وفي نفس الفترة تقريبًا، اقترح بوريس بريزيلون رقعة لنواة لينكس تُضيف دعمًا لـ I3C. [ 15 ]

في عام 2021، اعتمدت ذاكرة DDR5 بروتوكول I3C لوظائف الكشف عن وجود التسلسل .

في يونيو 2022، قدمت شركة رينيساس إلكترونيكس أول منتجات مفاتيح I3C الذكية. [ 16 ]

يصف الإصدار 3.1 من معيار SNIA لشكل المؤسسات ومراكز البيانات (يناير 2023) استخدام بروتوكول I3C Basic في إدارة أجهزة PCI Express . [ 17 ] أُعيدت صياغة معيار NVM Express 2.1 (أغسطس 2024) للسماح باستخدام I3C، "ليتوافق مع الاصطلاحات الجديدة المستخدمة في مواصفات SNIA SFF TA's EDSFF وPCI-SIG لبروتوكول I3C". [ 18 ]

الأهداف

قبل النشر الرسمي للمواصفات، نُشرت معلومات عامة وافية عنها في شكل شرائح عرض من مؤتمر MIPI DevCon لعام 2016. [ 19 ] استندت أهداف هذه الواجهة إلى استطلاع رأي أُجري بين المنظمات الأعضاء في MIPI وأعضاء مجموعة صناعة الأنظمة الكهروميكانيكية الدقيقة (MIG). وقد نُشرت نتائج هذا الاستطلاع. [ 20 ]

I3C الإصدار 1.0

سعى تصميم I3C الأولي إلى التحسين على I²C بالطرق التالية: [ 21 ]

  • واجهة ثنائية الأطراف تُعدّ مجموعة فرعية من معيار I²C. يمكن توصيل أجهزة I²C القديمة بالناقل الأحدث.
  • تصميم منخفض الطاقة وموفر للمساحة مصمم للأجهزة المحمولة (الهواتف الذكية وأجهزة إنترنت الأشياء ).
  • يتم استخدام المقاطعات داخل النطاق عبر ناقل البيانات التسلسلي بدلاً من الحاجة إلى منافذ منفصلة. في بروتوكول I²C، تتطلب المقاطعات من الأجهزة الطرفية عادةً منفذًا إضافيًا غير مشترك لكل حزمة.
  • معدل نقل البيانات الفردي (SDR) بين 10 و 12.5 ميجابت/ثانية باستخدام مستويات الإدخال/الإخراج CMOS.
  • تسمح أوضاع معدل البيانات العالي (HDR) بنقل عدة بتات في دورة الساعة الواحدة. تدعم هذه الأوضاع معدل نقل بيانات مماثل لبروتوكول SPI، بينما تتطلب جزءًا ضئيلاً فقط من طاقة وضع I²C السريع. [ 22 ]
  • مجموعة موحدة من رموز الأوامر الشائعة
  • دعم قائمة الأوامر
  • اكتشاف الأخطاء واستعادتها (فحص التكافؤ في وضع SDR و CRC  ذو 5 بت لأوضاع HDR)
  • تخصيص العناوين الديناميكي (DAA) لأهداف I3C، مع الاستمرار في دعم العناوين الثابتة للأجهزة القديمة I²C
  • تكون حركة مرور I3C غير مرئية لأجهزة I²C القديمة عند تجهيزها بمرشحات ارتفاع I²C، ويتحقق ذلك من خلال أوقات SCL HIGH التي تقل عن 50  نانوثانية
  • التوصيل السريع (قد يتم تشغيل/إيقاف تشغيل بعض الأجهزة على الناقل أثناء التشغيل)
  • تشغيل متعدد وحدات التحكم مع بروتوكول محدد جيدًا لتسليم البيانات بين وحدات التحكم

المواصفات الأساسية لـ I3C

بعد إتاحة معيار I3C  1.0 للعموم، نشرت المنظمة لاحقًا مواصفات I3C الأساسية، وهي مجموعة فرعية مصممة لتكون قابلة للتطبيق من قِبل المنظمات غير الأعضاء بموجب ترخيص RAND-Z . تتيح I3C الأساسية تطبيق I3C مجانًا، وهي مُخصصة للمنظمات التي قد تعتبر عضوية MIPI عائقًا أمام تبنيها. يتضمن الإصدار الأساسي العديد من ابتكارات البروتوكول في I3C  1.0، ولكنه يفتقر إلى بعض الابتكارات التي قد يصعب تطبيقها، مثل أوضاع معدل البيانات العالي (HDR) الاختيارية مثل DDR. ومع ذلك، يُعد وضع SDR الافتراضي بسرعة تصل إلى 12.5 ميجابت/ثانية تحسينًا كبيرًا في السرعة والسعة مقارنةً بـ I²C. [ 23 ]

I3C الإصدار 1.1

تم نشر هذه المواصفات في ديسمبر 2019، وهي متاحة فقط لأعضاء MIPI.

I3C الإصدار 1.1.1

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

التسمية

دبابيس الإشارة

يستخدم بروتوكول I3C نفس طرفي الإشارة المستخدمين في بروتوكول I²C، وهما SCL (ساعة التسلسل) و SDA (بيانات التسلسل). والفرق الرئيسي هو أن I²C يُشغّلهما كمخرجات مفتوحة التصريف دائمًا، لذا فإن سرعته محدودة بسبب زمن صعود الإشارة البطيء الناتج . يستخدم I3C وضع التصريف المفتوح عند الضرورة للتوافق، ولكنه يتحول إلى مخارج الدفع والسحب كلما أمكن، ويتضمن تغييرات في البروتوكول لجعل ذلك ممكنًا بشكل أكثر تكرارًا من I²C.

  • إشارة SCL هي إشارة ساعة رقمية تقليدية ، يتم تشغيلها بواسطة خرج دفع-سحب من وحدة تحكم ناقل التيار أثناء نقل البيانات. ( تمديد الساعة ، [ 24 ] وهي ميزة نادرة الاستخدام [ 25 ] في بروتوكول I²C، غير مدعومة). في المعاملات التي تتضمن أجهزة مستهدفة عبر بروتوكول I²C، يكون لدورة تشغيل إشارة الساعة هذه حوالي 50%، ولكن عند التواصل مع أجهزة مستهدفة معروفة عبر بروتوكول I²C، قد تقوم وحدة تحكم الناقل بالتبديل إلى تردد أعلى و/أو تغيير دورة التشغيل بحيث تقتصر فترة الإشارة العالية لإشارة SCL على 40 نانوثانية كحد أقصى  .
  • يحمل خط SDA تدفق البيانات التسلسلي، والذي قد يتم تشغيله بواسطة وحدة التحكم أو الجهاز المستهدف، ولكن يتم تشغيله بمعدل تحدده إشارة SCL الخاصة بوحدة التحكم. ولضمان التوافق مع بروتوكول I²C، تبدأ كل عملية نقل بيانات بـ SDA كمخرج مفتوح التصريف، مما يحد من سرعة الإرسال. بالنسبة للرسائل الموجهة إلى جهاز مستهدف I²C، يتحول وضع تشغيل SDA إلى وضع الدفع والسحب بعد البتات القليلة الأولى من عملية النقل، مما يسمح بزيادة تردد الساعة حتى 12.5  ميجاهرتز. تُسمى هذه الميزة متوسطة السرعة بوضع معدل البيانات الفردي (SDR).

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

تأطير

تتطلب جميع الاتصالات في بروتوكولي I²C وI³C تأطيرًا للمزامنة. ضمن الإطار الواحد، يجب أن تحدث التغييرات على خط SDA دائمًا بينما يكون خط SCL في حالة منخفضة، بحيث يمكن اعتبار SDA مستقرًا عند الانتقال من الحالة المنخفضة إلى الحالة المرتفعة لخط SCL. تُستخدم حالات مخالفة هذه القاعدة العامة للتأطير (على الأقل في أوضاع معدل البيانات القديمة والقياسية).

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

يمكن استخدام أمر البدء بدون أمر التوقف المسبق، والذي يسمى "البدء المتكرر"، لإنهاء رسالة واحدة وبدء أخرى ضمن معاملة ناقل واحدة.

في بروتوكول I²C، يُولّد رمز البدء عادةً بواسطة وحدة تحكم الناقل، أما في بروتوكول I3C، فقد تقوم الأجهزة المستهدفة بخفض مستوى إشارة SDA للإشارة إلى رغبتها في بدء إطار بيانات. يُستخدم هذا لتنفيذ بعض ميزات I3C المتقدمة، مثل المقاطعات داخل النطاق، ودعم وحدات تحكم متعددة، والربط السريع. بعد بدء التشغيل، تُعيد وحدة تحكم الناقل تشغيل الساعة عن طريق التحكم في خط SCL، وتبدأ عملية إدارة الناقل.

التحكيم في الحافلات

في بداية كل إطار بيانات، قد تتنافس عدة أجهزة على استخدام ناقل البيانات، وتُستخدم عملية التحكيم لاختيار الجهاز الذي يتحكم بخط SDA. في كل من بروتوكولي I²C وI³C، يتم التحكيم مع وجود خط SDA في وضع التصريف المفتوح، مما يسمح للأجهزة التي تُرسل القيمة الثنائية 0 (منخفضة) بتجاوز الأجهزة التي تُرسل القيمة الثنائية 1. تراقب الأجهزة المتنافسة خط SDA أثناء تشغيله في وضع التصريف المفتوح. عندما يكتشف جهاز ما حالة منخفضة (  بت 0) على خط SDA أثناء إرساله قيمة عالية (  بت 1)، فإنه يفقد حقه في التحكيم ويجب عليه التوقف عن التنافس حتى تبدأ المعاملة التالية.

تبدأ كل عملية من عنوان الوجهة، ويُعطي التنفيذ الأولوية لعناوين الوجهة ذات الأرقام الأقل. والفرق هو أن بروتوكول I²C لا يفرض حدًا زمنيًا على مدة التحكيم (في الحالة النادرة، ولكن القانونية، التي تتنافس فيها عدة أجهزة لإرسال رسالة إلى نفس الجهاز، لن يُكتشف التنافس إلا بعد بايت العنوان). أما بروتوكول I²C، فيضمن اكتمال التحكيم في موعد أقصاه نهاية البايت الأول. وهذا يسمح باستخدام برامج تشغيل الدفع والسحب وسرعات ساعة أعلى في معظم الأوقات.

يتم ذلك بعدة طرق:

  • يدعم بروتوكول I3C وحدات تحكم متعددة، لكنها غير متناظرة؛ إحداها هي وحدة التحكم الحالية المسؤولة عن توليد إشارة الساعة. يجب على الأجهزة الأخرى التي ترسل رسالة عبر الناقل (المقاطعات داخل النطاق أو وحدات التحكم الثانوية التي ترغب في استخدام الناقل) استخدام عنوانها الخاص قبل إرسال أي بيانات أخرى. وبالتالي، لا تشترك رسالتان صحيحتان على الناقل في نفس البايت الأول إلا إذا كانت وحدة التحكم وجهاز آخر يتواصلان في الوقت نفسه.
  • يسمح بروتوكول I3C، مثل بروتوكول I²C، بإرسال عدة رسائل في المعاملة الواحدة، مفصولة برموز "START" المتكررة. ويتم التحكيم على مستوى كل معاملة، لذا فإن هذه الرسائل اللاحقة لا تخضع للتحكيم مطلقًا.
  • تبدأ معظم معاملات وحدة تحكم I3C بالعنوان المحجوز 0x7E(1111110 2 ). ولأن هذا العنوان له أولوية أقل من أي جهاز I3C آخر، فبمجرد اجتيازه عملية التحكيم، تعلم وحدة التحكم أنه لا يوجد جهاز آخر ينافس على استخدام ناقل البيانات.
  • في حالة خاصة، إذا تم تخصيص عناوين منخفضة لأجهزة I3C (يدعم I3C تخصيص العناوين الديناميكي الذي يتحكم فيه المتحكم)، فبمجرد أن 0x7Eيحصل العنوان على عدد كافٍ من البتات الرائدة لتمييزه عن أي عنوان مُخصص، يعلم المتحكم أن عملية التخصيص قد اكتملت، ويمكنه حينها الانتقال إلى عملية الدفع والسحب على SDA. إذا كانت جميع العناوين المُخصصة أقل من قيمة معينة 0x40، يحدث هذا بعد البت الأول. وإذا كانت جميع العناوين أقل من قيمة أخرى 0x60، يحدث هذا بعد البت الثاني، وهكذا.
  • في الحالة المذكورة أعلاه، حيث يبدأ المتحكم الحالي عملية نقل بيانات باستخدام عنوان جهاز يتنافس بدوره على استخدام ناقل البيانات، سيرسل كلا الجهازين بايتات عنوانهما بنجاح. مع ذلك، يتوقع كل منهما من الآخر تأكيد استلام العنوان (عن طريق خفض مستوى إشارة SDA) لبت التأكيد التالي. ونتيجة لذلك، لن يفعل أي منهما ذلك، وسيلاحظ كلاهما عدم وجود تأكيد. في هذه الحالة، لا تُرسل الرسالة، لكن المتحكم يفوز في عملية التحكيم: إذ يمكنه إرسال طلب بدء متكرر، متبوعًا بمحاولة إعادة إرسال ناجحة.

رموز الأوامر الشائعة

تُستخدم عملية الكتابة الموجهة إلى العنوان المحجوز 0x7Eلتنفيذ عدد من العمليات الخاصة في بروتوكول I3C. يجب على جميع أجهزة I3C استقبال وتفسير عمليات الكتابة الموجهة إلى هذا العنوان بالإضافة إلى عناوينها الفردية.

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

إذا تبعت عملية الكتابة بايت بيانات، فإن هذا البايت يرمز إلى "رمز أمر مشترك"، وهو عملية معيارية في بروتوكول I3C. رموز الأوامر هي أوامر بث موجهة إلى جميع أهداف I3C، وقد تتبعها معلمات إضافية خاصة بكل أمر. أما رموز الأوامر فهي أوامر مباشرة موجهة إلى أهداف فردية، وتتبعها سلسلة من عمليات بدء التشغيل المتكررة وعمليات الكتابة أو القراءة إلى أهداف محددة.00x7F0x800xFE

أثناء تنفيذ أمر مباشر، تنقل عمليات الكتابة أو القراءة لكل هدف معلمات خاصة بالأمر. تحل هذه العملية محل استجابة الهدف العادية لرسالة I3C. قد يتبع الأمر المباشر الواحد عدة رسائل لكل هدف، تسبق كل منها إشارة بدء متكررة. ينتهي هذا الوضع الخاص بنهاية المعاملة (رمز الإيقاف) أو الرسالة التالية الموجهة إلى الهدف 0x7E.

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

فئات الأجهزة

في ناقل I3C في وضعه الافتراضي (SDR)، يمكن دعم أربع فئات مختلفة من الأجهزة:

  • وحدة التحكم الرئيسية I3C
  • وحدة تحكم ثانوية I3C
  • هدف I3C
  • هدف I²C (الأجهزة القديمة)

خيارات معدل البيانات العالي (HDR)

تبدأ كل عملية نقل بيانات على ناقل I3C في وضع SDR، ولكن يمكن لوحدة تحكم I3C إصدار أمر بث CCC "Enter HDR" لإبلاغ جميع أجهزة I3C المستهدفة بأن العملية ستستمر في وضع HDR محدد. يمكن لأجهزة I3C المستهدفة التي لا تدعم HDR تجاهل حركة البيانات على الناقل حتى ترى تسلسل "HDR exit" الذي يُعلمها بضرورة إعادة الاستماع إلى الناقل. (يسمح أحد رموز أوامر I2C الشائعة لوحدة التحكم بسؤال الجهاز المستهدف عن أوضاع HDR التي يدعمها. هذا قناع 8 بت، مما يسمح بإضافة أوضاع HDR أخرى في المستقبل).

بعض أنماط HDR متوافقة أيضًا مع أجهزة I²C إذا كانت هذه الأجهزة  مزودة بمرشح نبضات مدته 50 نانوثانية على خط SCL؛ أي أنها تتجاهل أي مستوى عالٍ على خط SCL يستمر لأقل من 50  نانوثانية. هذا شرطٌ في مواصفات I²C، ولكنه غير مُطبق عالميًا، ولا تتجاهل جميع التطبيقات النبضات المتكررة [ 26 ] ، لذا يجب التحقق من توافق I²C مع HDR. تستخدم أنماط HDR المتوافقة نبضات عالية على خط SCL لا تتجاوز 45  نانوثانية، ما يسمح لأجهزة I²C بتجاهلها.

يتم تفعيل وضع النطاق الديناميكي العالي (HDR) قبل توجيه الرسالة إلى أي هدف محدد؛ ويتم إرسال عنوان الهدف والأمر نفسه بمعدل بيانات عالٍ. تنتهي رسالة النطاق الديناميكي العالي (HDR) بإحدى سلسلتين، لا تستخدمهما أي من أوضاع النطاق الديناميكي العالي (HDR):

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

على الرغم من أن إعادة تشغيل HDR لا تحتاج إلا إلى أن يتم التعرف عليها من قبل الأهداف التي تدعم وضع HDR هذا، وبالتالي يمكن إعادة تصميمها في وضع HDR مستقبلي، إلا أنه يجب التعرف على خروج HDR من قبل جميع أهداف I3C، حتى تلك التي تدعم SDR فقط، حتى تتمكن من تجاهل رسائل HDR بشكل صحيح.

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

بمجرد الدخول في وضع HDR، يقوم جهاز التحكم بإرسال سلسلة من الرسائل، تبدأ كل منها بأمر وكلمة عنوان، مفصولة بإعادة تشغيل HDR، وتنتهي بخروج HDR.

تتكون كلمة أمر وعنوان HDR من 16 بت:

  • بت اتجاه القراءة/الكتابة. كما هو الحال في بروتوكول I²C، تشير القيمة 1 (عالية) إلى عملية قراءة.
  • رمز أمر مكون من 7 بتات. هذا غير موجود في بروتوكول I²C. يوجد 128 أمر كتابة و128 أمر قراءة، مع العلم أن رموز الأوامر من 32 إلى 127 محجوزة لتعريفات الشركات المصنعة ولن يتم توحيدها.
  • عنوان هدف مكون من 7 بتات.
  • بت إضافي واحد يُستخدم فقط في أوامر قراءة HDR-DDR.

وضع HDR-DDR (معدل البيانات المزدوج)

يستخدم وضع HDR-DDR إشارات معدل نقل البيانات المزدوج على خط SDA بتردد  ساعة 12.5 ميجاهرتز لتحقيق معدل بيانات خام يبلغ 25 ميجابت/ثانية ( 20 ميجابت/ثانية فعليًا). يتطلب ذلك تغيير خط SDA أثناء ارتفاع إشارة SCK، وهو ما يُعدّ انتهاكًا لبروتوكول I²C، ولكن نظرًا لأن نبضة الارتفاع لا تتجاوز 40  نانوثانية، فإن أجهزة I²C ستتجاهلها وبالتالي لن تلاحظ هذا الانتهاك.

تُرفق تقنية HDR-DDR كل كلمة بيانات ذات 16 بت بمقدمة من 2 بت وخاتمة من 2 بت للتكافؤ الفردي ، ليصبح المجموع 20 بت. تبدأ كل كلمة بحافة صاعدة على إشارة SCK. للمقدمة ثلاث حالات محتملة:

  • 01: كلمة الأمر (قبل البيانات) أو كلمة CRC (بعد البيانات) تلي ذلك.
  • 10: الكلمة الأولى من البيانات تلي ذلك. يتم إيقاف العملية بواسطة وحدة التحكم إذا تم رصدها لاحقاً.
  • 11: الكلمة التالية هي كلمة البيانات. يتم رفضها من قبل الهدف إذا تم رؤيتها في البداية.

إذا رصد جهاز التحكم ديباجة "11" مباشرةً بعد الأمر، فهذا يشير إلى عدم استجابة أي هدف، ويُعامل الأمر معاملة إشارة رفض (NACK) في وضع SDR. ولضمان أن يكون خط SDA في حالة عالية إذا لم يستجب أي هدف، يتم ضبط البت الإضافي في كلمة الأمر والعنوان بحيث يكون بت التكافؤ الأخير المُرسل من جهاز التحكم هو 1.

بالنسبة للكلمات اللاحقة أثناء عمليات القراءة (من الجهاز المستهدف إلى وحدة التحكم)، يقوم الجهاز المستهدف برفع مستوى بت التمهيد الأول، ولكنه يحرر ناقل البيانات (مما يسمح لمقاومات السحب بالحفاظ على مستوى SDA مرتفعًا) للبت الثاني. قد تقوم وحدة التحكم بخفض مستوى SDA خلال فترة البت الثاني (الحافة الهابطة لـ SCL) لطلب إيقاف عملية القراءة.

إذا لم يتم إيقاف الرسالة، تُنهى بكلمة CRC مكونة من 13 بت. تحتوي هذه الكلمة على ديباجة قيمتها 01، ونمط ثابت قيمته 1100 (تُحفظ أنماط أخرى للاستخدام المستقبلي)، ثم فحص تكرار دوري مكون من 5 بتات على الرسالة كاملةً (بما في ذلك كلمة الأمر/العنوان، ولكن ليس الديباجة أو بتات التكافؤ، أو أي جزء من كلمة CRC)، وبتين قيمتهما "1" (الأول مُفعّل، والثاني يبقى مرتفعًا بشكل سلبي حتى يتمكن المتحكم من تولي المهمة). هذا يجعل ناقل البيانات مع كل من SCK وSDA في حالة عالية، وبعد ذلك يجب على المتحكم توليد إشارة إعادة تشغيل HDR أو الخروج.

أوضاع الرموز الثلاثية HDR

يستخدم وضعا HDR-TSP و HDR-TSL أحد الرموز الثلاثة كأرقام ثلاثية (trits):

  1. انتقال كل من SDA و SCL (تم استقبالهما في غضون 12.8  نانوثانية من بعضهما البعض)،
  2. انتقال SCL فقط، أو
  3. انتقال خاص بـ SDA فقط.

يتم تقسيم بايتين بالإضافة إلى بتّي التكافؤ الزوجي (18 بت إجمالاً) إلى ست مجموعات ثلاثية من 3 بتات، ويتم ترميز كل مجموعة ثلاثية على شكل مجموعتين ثلاثيتين (trit). (يتم أخذ البتات الثلاثة بدءًا من البت الأكثر أهمية (msbit) لإنتاج قيمة من 0 إلى 7، ثم يتم تحويلها إلى مجموعتين ثلاثيتين (trit) باستخدام القيم العددية في القائمة أعلاه، ويتم إرسال المجموعة الثلاثية الأكثر أهمية أولاً). عند الإرسال بمعدل 25 ميجا مجموعة ثلاثية (mtrit) في الثانية ، يتم تحقيق معدل بيانات فعلي يبلغ 33.3 ميجابت في الثانية .

لا يُستخدم زوج الترايت 22، المكون من انتقالين لـ SDA فقط، لترميز البيانات، وإنما يُستخدم لترميز تسلسلات إعادة تشغيل HDR وخروج HDR التي تُنهي الرسالة. مع أن هذا يحد من الحد الأقصى للوقت بين انتقالات SCL إلى ثلاثة أوقات ترايت، إلا أن ذلك يتجاوز  حد 50 نانوثانية لأجهزة I²C القديمة، لذا لا يُمكن استخدام وضع HDR-TSP (الرمز الثلاثي، النقي) إلا على ناقل لا يحتوي على أجهزة I²C قديمة.

للسماح باستخدام ناقلات تتضمن أجهزة I²C (مع مرشح نبضات)، يجب استخدام وضع HDR-TSL (الرمز الثلاثي، الوضع القديم). يحافظ هذا الوضع على توافق I²C من خلال إضافة ثلاث إشارات (trit stuffing ): بعد أي حافة صاعدة على خط SCL، إذا لم تكن الإشارة التالية تساوي صفرًا، يقوم المرسل بإضافة إشارة 1  (انتقال على خط SCL فقط)، ويتجاهلها المستقبل. يضمن هذا ألا يكون خط SCL مرتفعًا لأكثر من مدة إشارة واحدة، ولكن على حساب إرسال 2.67  إشارة لكل 3  بتات من البيانات، أي بمعدل بيانات فعلي يبلغ 25 ميجابت/ثانية (بافتراض بيانات عشوائية).

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

  • يُفعّل الهدف إشارة SDA عالية وإشارة SCL منخفضة. إذا لم يكن الناقل في هذه الحالة بالفعل، فسيفسر المتحكم هذا الانتقال على أنه إشارة ثلاثية، لكنه سيتجاهله لأنه ليس جزءًا من مجموعة إشارات ثلاثية مكونة من 12 إشارة.
  • يقوم الهدف بتبديل SDA ثلاث مرات (الثلاثية 2)، مما يجعل كل من SDA و SCL منخفضين، ثم يحرر (يتوقف عن قيادة) الناقل في غضون دورة ثلاثية واحدة (نصف دورة ساعة).
  • بمجرد أن يرصد المتحكم الحافة الثالثة لإشارة SDA فقط، يتولى خفض مستوى إشارتي SDA وSCL. بعد مرور دورة كاملة (نصف دورة ساعة)، يرفع مستوى إشارة SDA، ويستمر في إكمال إما إعادة تشغيل HDR (عن طريق رفع مستوى إشارة SCL) أو إنهاء HDR (عن طريق تبديل مستوى إشارة SDA ثلاث مرات أخرى، ثم رفع مستوى إشارة SCL)، حسب الحاجة.

لاحظ أن وضع البيانات الثلاثي لا يتضمن CRC.

ميزات I²C غير مدعومة في I3C

  • يتم توفير مقاومات السحب بواسطة وحدة التحكم I3C. لم تعد هناك حاجة لمقاومات السحب الخارجية.
  • تمديد تردد الساعة – من المتوقع أن تكون الأجهزة سريعة بما يكفي للعمل بسرعة ناقل البيانات. وحدة التحكم I3C هي مصدر الساعة الوحيد.
  • عناوين I²C الموسعة (10 بت). يتم عنونة جميع الأجهزة على ناقل I²C بواسطة عنوان 7 بت. أما أجهزة I²C الأصلية فلها عنوان فريد 48 بت يُستخدم فقط أثناء تعيين العناوين الديناميكي.

في حال الحاجة إلى تمديد توقيت الساعة، يمكن استخدام "موزع I3C" للربط بين شبكة I3C وجهاز I²C المستهدف. [ 17 ] تُحدد شركة إنتل المواصفات الحالية لموزع I3C. يتصل الموزع بناقل I²C/SMBus أو I3C، ويُظهر نفسه كجهازين مستهدفين. يمكن توصيل الموزع بما يصل إلى 8 أجهزة مستهدفة، سواءً كانت I²C/SMBus أو I3C. عند الحاجة، يقوم الموزع بالترجمة بين البروتوكولين عن طريق تخزين البيانات مؤقتًا. [ 27 ]

مراجع

  1. كول، برنارد (5 نوفمبر 2014). "معهد MIPI يقترب من التصديق على تحسين SenseWire/I3C لبروتوكول I2C/SPI" . أخبار. embedded.com . مؤرشف من الأصل بتاريخ 22 مارس 2024. تم الاطلاع عليه بتاريخ 22 مارس 2024 .
  2. جونسون، ر. كولين (11 ديسمبر 2014). "واجهة MEMS/المستشعر I3C رائعة" . تصميم التحكم الصناعي. مجلة EE Times . مؤرشف من الأصل في 22 مارس 2024. تم الاسترجاع في 22 مارس 2024 .
  3. "MIPI I3C و I3C Basic" . mipi.org . 2017-01-06.
  4. "I3C والأسئلة الشائعة حول I3C الأساسية" . www.mipi.org . تاريخ الاسترجاع: 29-08-2022 .
  5. "تحالف MIPI يفتح الوصول إلى مواصفات واجهة مستشعر MIPI I3C الخاصة به" . 2017-12-14.
  6. " أصدر تحالف MIPI مواصفات واجهة مستشعر MIPI I3C" . www.evaluationengineering.com
  7. 1 2 "MIPI تدفع السوق نحو واجهة مستشعر I3C" . 2017-12-14.
  8. "واجهة MEMS/Sensor I3C رائعة" . 2014-11-12.
  9. "IP | Cadence" . تم الاسترجاع بتاريخ 11-08-2023 .
  10. "التحقق من صحة الملكية الفكرية لـ MIPI I3C" . www.synopsys.com .
  11. "عائلة MIPI I3C لتطبيقات الاستشعار وإنترنت الأشياء" (ملف PDF) . silvaco.com . مؤرشف من الأصل (ملف PDF) بتاريخ 30 أغسطس 2019. تم الاطلاع عليه بتاريخ 30 أغسطس 2019 .
  12. "تمنح تقنية Lattice معالج iCE40 مزيدًا من القوة، ووحدات الإدخال/الإخراج، والذاكرة" . 2016-12-12.
  13. "معالج Qualcomm SDM845 SoC | معالج تطبيقات LTE متكامل قائم على Snapdragon 845 | Qualcomm" . www.qualcomm.com . تاريخ الوصول: 11 أغسطس 2023 .
  14. "MIPI I3C" . mipi.org . 2017-01-06.
  15. "LKML: بوريس بريزيلون: [ PATCH v2 0/7 ] إضافة النظام الفرعي I3C" . lkml.org .
  16. "رينيساس تكشف النقاب عن أول عائلة مفاتيح ذكية بتقنية I3C في الصناعة لأنظمة الخوادم والتخزين والاتصالات من الجيل التالي | رينيساس" . www.renesas.com . تاريخ الاطلاع: 11 أغسطس 2023 .
  17. 1 2 جورسكي، يانوش؛ لوفن، مايرون؛ قسطنطين، أنتوني؛ أوروزكو، خوان؛ كيلي، برايان؛ لوكوينسكي، زبيغنيو. "التغلب على قيود SMBus باستخدام I3C" (ملف PDF) .فيديو
  18. "التغييرات في مراجعة NVM Express 2.1 - NVM Express" . 2024-08-23.
  19. "جلسات مستشعرات MIPI I3C في مؤتمر MIPI DevCon2016" . resources.mipi.org . تحالف MIPI.
  20. http://mipi.org/sites/default/files/MIPI%20+%20MIG%20Member%20Sensor%20Interface%20Survey%20Results%20final.pdf
  21. "مؤتمر مطوري MIPI 2016: دليل المطورين لتطبيق MIPI I3C" . يوتيوب . تحالف MIPI . 23-09-2016.
  22. "مؤتمر تطوير MIPI 2016: أوضاع معدل البيانات العالي لبروتوكول MIPI I3C" . تحالف MIPI . 23-09-2016.
  23. فوست، كين. "تحالف MIPI يُصدر مواصفات I3C الأساسية الجديدة" . resources.mipi.org . تم الاطلاع عليه بتاريخ 2020-04-06 .
  24. نيلسون، كارتر (2024-04-01). "العمل مع أجهزة I2C: تمديد الساعة" . شركة Adafruit Industries .
  25. "3.1.9 تمديد تردد الساعة". مواصفات ناقل I²C ( ملف PDF) (دليل المستخدم). الإصدار 7.0. شركة NXP لأشباه الموصلات . 1 أكتوبر 2021. صفحة 12. مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 6 أكتوبر 2022. تمديد تردد الساعة اختياري، وفي الواقع، لا تتضمن معظم الأجهزة المستهدفة برنامج تشغيل SCL، لذا فهي غير قادرة على تمديد تردد الساعة. 
  26. ↑ " ورقة بيانات ذاكرة EEPROM التسلسلية I²C بسعة 8 كيلوبت " (ملف PDF) . شركة STMicroelectronics. يوليو 2022. ص 23، 24. معرف المستند 023924، الإصدار 7. مؤرشف (PDF) من النسخة الأصلية بتاريخ 3 أغسطس 2024. تاريخ الاسترجاع 1 أكتوبر 2024. تم تجاهل عرض النبضة (مرشح الإدخال على SCL وSDA) - خلل واحد: 100 نانوثانية كحد أقصى.  
  27. "مواصفات جهاز I3C* Hub" . إنتل .

للمزيد من القراءة