1 مقدمة
تتضمن اتصالات المعدات الصناعية عادةً مجموعة واسعة من منتجات الأجهزة والبرامج، بالإضافة إلى البروتوكولات المستخدمة لتوصيل منصات الكمبيوتر القياسية (أجهزة الكمبيوتر الشخصية أو محطات العمل) بأجهزة الأتمتة الصناعية. وبالتالي، تم تصميم معظم أجهزة التشغيل الآلي لتنفيذ أوامر تسلسلية بسيطة متوافقة مع المنافذ التسلسلية القياسية الموجودة على أجهزة الكمبيوتر الشخصية أو المضافة-على بطاقات المنافذ التسلسلية. تعد RS-232 حاليًا الواجهة التسلسلية الأكثر استخدامًا على نطاق واسع في قطاعي الكمبيوتر والاتصالات الصناعية. يتم تعريف RS-232 على أنه معيار-مفرد مصمم لتوسيع مسافات الاتصال في الاتصالات التسلسلية منخفضة السرعة. ونظرًا لأن RS-232 يشترك في أرضية إشارة مشتركة بين جهاز الإرسال وجهاز الاستقبال، فإنه لا يمكنه استخدام الإشارات التفاضلية؛ وإلا فإن ضوضاء الوضع المشترك سوف تقترن بنظام الإشارة. يحدد معيار RS-232 مسافة قصوى تبلغ 15 مترًا فقط ومعدل نقل إشارة أقصى يبلغ 20 كيلوبت/ثانية.
تعد CAN، وهي اختصار لعبارة "Controller Area Network"، واحدة من أكثر الناقلات الميدانية استخدامًا على المستوى الدولي. إن الشبكة الواحدة المكونة من حافلات CAN محدودة بالخصائص الكهربائية لأجهزة الشبكة. باعتبارها ناقلة اتصالات تسلسلية رئيسية متعددة-، تتطلب مواصفات التصميم الأساسية لـ CAN معدلات بت عالية ومقاومة قوية للتداخل الكهرومغناطيسي، بالإضافة إلى القدرة على اكتشاف أي أخطاء تحدث في ناقل الاتصال. حتى عندما تصل مسافة إرسال الإشارة إلى 10 كم، لا يزال بإمكان CAN توفير معدلات نقل بيانات تصل إلى 50 كيلوبت/ثانية. يوضح الجدول 1 العلاقة بين أقصى مسافة إرسال بين أي عقدتين على ناقل CAN ومعدلات البت الخاصة بهما.
أقصى مسافة بين أي عقدتين في التكوين الثلاثي في نظام CAN Bus
معدل البت/كيلوبت في الثانية 1000 500 250 125 100
أقصى مسافة/م 40 130 270 530 620
معدل البت (كيلوبت في الثانية) 50 20 10 5
أقصى مسافة (م) 1300 3300 6700 10000
كما هو واضح، يعد ناقل CAN ناقلًا تسلسليًا متفوقًا على RS-232 من حيث الأداء في الوقت الفعلي، والقدرة على التكيف، والمرونة، والموثوقية. عندما يكون هناك جهازان تسلسليان متباعدان ولا يمكن توصيلهما مباشرة عبر RS-232، يمكن تحويل RS-232 إلى CAN لتحقيق الاتصال البيني بالشبكة للأجهزة التسلسلية عبر ناقل CAN.
ومع ذلك، فإن RS-232 وCAN يختلفان بشكل كبير من حيث مستويات الجهد وتنسيقات الإطار. خاصة:
يستخدم معيار RS-232 المنطق السلبي، حيث يحدد أي مستوى جهد بين +3V و+15V باعتباره المنطق "0" وأي مستوى جهد بين -3V و-15V باعتباره المنطق "1". من ناحية أخرى، يتم إرسال إشارات CAN باستخدام الجهد التفاضلي. يُطلق على خطي الإشارة اسم "CAN_H" و"CAN_L". في الحالة الثابتة، يكون كلاهما 2.5 فولت تقريبًا؛ يتم تمثيل هذه الحالة على أنها "1" منطقية ويشار إليها أيضًا باسم "المتنحية". عندما يكون CAN_H أعلى من CAN_L، فإنه يمثل "0" منطقيًا، يُعرف باسم "المهيمن". في الحالة السائدة، تكون قيم الجهد النموذجية هي: CAN_H=3.5V، CAN_L=1.5V؛
تنسيق الإطار للمنفذ التسلسلي RS-232 هو: بتة بداية واحدة، وثمانية بتات بيانات، وبتة تاسعة قابلة للبرمجة (والتي تعمل بمثابة بتة العنوان/البيانات لكل من الإرسال والاستقبال)، وبتة توقف واحدة. يتكون تنسيق إطار بيانات CAN من: رأس الإطار + المعرف + البيانات (والتي يمكن تقسيمها إلى تنسيقين: الإطارات القياسية والإطارات الموسعة).
لذلك، يتطلب التصميم متحكمًا دقيقًا لإجراء التحويلات مثل تحويلات تنسيق المستوى والإطار. تظهر عملية التحويل في الشكل 1.
2 تصميم الأجهزة لتحويل RS-232 إلى CAN
في تصميم جهاز التحويل RS-232-إلى-CAN، يتم استخدام وحدة التحكم الدقيقة AT89C52 كمعالج دقيق؛ يتم استخدام SJA1000 كوحدة تحكم دقيقة CAN. يدمج SJA1000 وظائف الطبقة المادية وطبقة ارتباط البيانات لبروتوكول CAN ويمكنه التعامل بشكل سلبي مع تأطير بيانات الاتصال؛ يعمل AT82C250 كواجهة بين وحدة التحكم CAN والناقل الفعلي، مما يوفر قدرة الإرسال التفاضلي للحافلة وقدرة الاستقبال التفاضلي لوحدة التحكم CAN. يمكن تحديد ثلاثة أوضاع تشغيل مختلفة (السرعة العالية، والتحكم في المنحدر، والاستعداد) عبر الدبوس 3 في AT82C250. عندما يتم تأريض الدبوس 3، يعمل الجهاز في وضع السرعة العالية؛ يتم تنفيذ العزل البصري عالي السرعة باستخدام 6N137، والذي يمنع التداخل مع الإشارات الخارجية؛ يتم استخدام MAX232 لتحويل إشارات مستوى 232 إلى مستويات TTL لشريحة واجهة وحدة التحكم الدقيقة. للحصول على تفاصيل دائرة واجهة الأجهزة المحددة، يرجى الرجوع إلى الموارد ذات الصلة بـ SJA1000؛ لم يتم تقديم مزيد من التوضيح هنا. ومع ذلك، ينبغي ملاحظة النقاط التالية.
(1) يتم توصيل مقاومة 120 أوم عند طرفي ناقل CAN لتتناسب مع مقاومة الناقل، وبالتالي تحسين الحصانة ضد التداخل وموثوقية اتصالات البيانات. ومع ذلك، من الناحية العملية، يكفي التأكد من أن مقاومة التحويل بين "CAN_H" و"CAN_L" في شبكة CAN هي 60Ω.
(2) يمكن تأريض الدبوس 20 (RX1) الخاص بـ SJA1000 عند عدم استخدامه (راجع تصميم البرنامج للسبب المحدد)؛ عند دمجه مع لقمة الإعداد CDR.6، يمكن أن يؤدي ذلك إلى زيادة طول الناقل بشكل ملحوظ.
(3) تحدد طريقة توصيل الأطراف TX0 وTX1 مستوى الإخراج التسلسلي. راجع الإعدادات الموجودة في سجل التحكم في الإخراج (OCR) للحصول على تفاصيل محددة.
(4) يتم توصيل المقاوم المنحدر بين دبوس RS الخاص بـ AT82C250 والأرض. يمكن تعديل قيمة المقاومة بشكل مناسب بناءً على سرعة اتصال الناقل، والتي تتراوح عادةً من 16 كيلو أوم إلى 140 كيلو أوم.
(5) يتطلب MAX232 أربعة مكثفات إلكتروليتية -C1 وC2 وC3 وC4 - والتي تستخدم أيضًا لتحويل الطاقة الداخلية. جميعها لها تصنيف 1 ميكروفاراد/25 فولت؛ يوصى باستخدام مكثفات التنتالوم، ويجب وضعها بالقرب من الشريحة قدر الإمكان. يجب توصيل مكثف فصل 0.1 ميكروفاراد بين مصدر طاقة VCC والأرضي.
3 تصميم برامج لتحويل RS-232 إلى CAN
في ظل التحكم في المعالجات الدقيقة، يمكن أن يؤدي استخدام استقبال المنفذ التسلسلي ومقاطعات CAN أثناء تبادل البيانات بين RS-232 وCAN إلى تحسين الكفاءة التشغيلية. يظهر المخطط الانسيابي للبرنامج الرئيسي في الشكل 2. لا يمكن تهيئة SJA1000 إلا في وضع إعادة الضبط؛ يتضمن هذا في المقام الأول ضبط وضع التشغيل، وتقسيم الساعة، وسجلات مرشح القبول، وتكوين معلمات معدل الباود، وتعيين سجل تمكين المقاطعة.
تعتمد إمكانية نقل البيانات بدقة أيضًا على معدل الباود والتحكم في التدفق، وهي جوانب لا يمكن إغفالها أثناء تصميم البرامج. لذلك، ستركز الأقسام التالية على تكوين معدل الباود CAN، والكشف التلقائي عن معدلات الباود للمنفذ التسلسلي، والتحكم في تدفق بيانات المنفذ التسلسلي.

3.1 تحديد معدل تصفية CAN
أحد العناصر الأساسية لبروتوكول CAN هو معدل الباود. يمكن للمستخدمين ضبط موضع نقاط أخذ عينات البتات خلال فترة البت وعدد العينات، مما يسمح لهم بتحسين أداء الشبكة لتطبيقاتهم بحرية. ومع ذلك، أثناء عملية التحسين هذه، يجب الانتباه إلى العلاقة بين تفاوت المذبذب المرجعي المستخدم لمعلمات توقيت البتات وتأخر الانتشار للإشارات المختلفة داخل النظام.
يمثل معدل بتات النظام، fBil، عدد بتات البيانات المرسلة لكل وحدة زمنية، أي معدل الباود fBit=1/tBit. يتكون توقيت البت الاسمي من ثلاث مقاطع غير -متداخلة: SYNC_SEG، وTSEG1، وTSEG2. تتم الإشارة إلى هذه المقاطع الزمنية الثلاثة باسم tSYNC_SEG، وtTSEG1، وtTSEG2، على التوالي. ولذلك، فإن فترة البت الاسمية tBit هي مجموع هذه المقاطع الزمنية الثلاثة.
تي بايت=tSYNC_SEG + tTSEG1 + tTSEG2
خلال فترة البت، يتم التعبير عن هذه المقاطع من حيث المضاعفات الصحيحة لوحدة زمنية أساسية. تسمى هذه الوحدة الزمنية بالحصة الزمنية (TQ)، ومدة الحصة الزمنية هي دورة واحدة من ساعة نظام CAN (tSCL)، وهي مشتقة من فترة ساعة المذبذب (tCLK). يمكن ضبط ساعة نظام CAN عن طريق برمجة عامل المقياس المسبق (القيمة المحددة مسبقًا لمعدل الباود، BRP). خاصة:
tSCL=BRP × 2tCLK=2BPR/fCLK
الفاصل الزمني الآخر المهم جدًا لحسابات توقيت CAN هو عرض قفزة المزامنة (SJW)، الذي تبلغ مدته tSJW. مقطع SJW ليس جزءًا من دورة البت؛ بل إنه يحدد الحد الأقصى لعدد TQs الذي يتم من خلاله تمديد دورة البت أو تقصيرها أثناء حدث إعادة المزامنة. بالإضافة إلى ذلك، يسمح بروتوكول CAN للمستخدمين بتحديد وضع أخذ عينات البت (SAM)، والذي يمكن أن يكون إما وضع عينة واحد- أو ثلاثة-وضع عينة (اختيار نتيجة واحدة من ثلاث عينات). في وضع العينة الفردية-، تكون نقطة أخذ العينات في نهاية مقطع TSEG1. في ثلاثة-وضع عينة، يتم أخذ نقطتي أخذ عينات إضافيتين مقارنة بوضع العينة-الفردي؛ وتقع هذه قبل نهاية مقطع TSEG1، مفصولة بـ TQ واحد.

يمكن للمستخدم تعريف كل من BPR وSJW وSAM وTESG1 وTESG2 المذكورة أعلاه من خلال السجلات الداخلية BTR0 وBTR1 لوحدة التحكم CAN. تظهر التفاصيل في الشكل 3. بعد تعيين BTR0 وBTR1، يكون نطاق معدل الباود الفعلي هو:
الحد الأقصى=1/(tBit - tSJW)، الحد الأدنى=1/(tBit + tSJW)
3.2 كشف معدل الباود للمنفذ التسلسلي
عندما يعمل جهاز تسلسلي كمضيف، إذا كنت بحاجة إلى اكتشاف معدل البث بالباود للمنفذ التسلسلي لجهاز التحويل في ذلك الوقت، فيمكنك أولاً تعيين معدل البث بالباود للمضيف (9600 باود، على سبيل المثال) وإرسال حرف محدد (سطر الإرجاع، على سبيل المثال) من المحطة. بهذه الطريقة، يمكن للمضيف تحديد معدل باود الاتصال لجهاز التحويل بناءً على معلومات الأحرف المستلمة. قيمة ASCII لحرف الإرجاع هي 0DH; يتم سرد القيم المستلمة بمعدلات باود مختلفة في الجدول 2.
البايتات المتلقاة بمعدلات باود مختلفة
معدل الباود (بت/ثانية) البايتات المستلمة (سداسي عشري) معدل الباود (بت/ثانية) البايتات المستلمة (سداسي عشري)
1200 80 4800 E6
1800 F0 9600 0D
2400 78 19200 F*
3.3 التحكم في تدفق المنفذ التسلسلي
يشير مصطلح "التدفق" المستخدم هنا إلى تدفق البيانات. غالبًا ما يحدث فقدان البيانات أثناء النقل بين منفذين تسلسليين. نظرًا لأن المخزن المؤقت لوحدة التحكم الدقيقة له سعة محدودة، إذا كان المخزن المؤقت ممتلئًا عند تلقي البيانات، فسيتم فقدان أي بيانات يستمر إرسالها في ذلك الوقت. التحكم في التدفق يحل هذه المشكلة بشكل فعال: عندما لا يتمكن الطرف المتلقي من معالجة البيانات في الوقت المناسب، يرسل نظام التحكم في التدفق إشارة "عدم الاستلام"، مما يتسبب في توقف الطرف المرسل عن الإرسال حتى يتلقى إشارة "استئناف الإرسال". ولذلك، فإن التحكم في التدفق يدير عملية نقل البيانات ويمنع فقدان البيانات. النوعان الشائعان من التحكم في التدفق هما التحكم في تدفق الأجهزة (بما في ذلك RTS/CTS وDTR/CTS وما إلى ذلك) والتحكم في تدفق البرامج (XON/XOFF-مواصلة/إيقاف). يركز الشرح التالي فقط على طريقة التحكم في تدفق الأجهزة باستخدام RTS/CTS.
عند استخدام أجهزة للتحكم في التدفق، يتم توصيل دبابيس RTS وCTS للمحطة التسلسلية بمنافذ الإدخال/الإخراج الخاصة بوحدة التحكم الدقيقة، ويتم استقبال إشارات البدء/الإيقاف وإرسالها عن طريق ضبط منافذ الإدخال/الإخراج على 1 أو 0. تستخدم معدات محطة البيانات (مثل الكمبيوتر) RTS لبدء دفق البيانات المرسلة بواسطة وحدة التحكم الدقيقة، بينما يستخدم وحدة التحكم الدقيقة CTS لبدء وإيقاف تدفق البيانات من الكمبيوتر. لتنفيذ طريقة مصافحة الأجهزة هذه، يتم تعيين علامة مستوى -عالي وعلامة مستوى -منخفض أثناء البرمجة بناءً على حجم المخزن المؤقت المتلقي. عندما تصل كمية البيانات في المخزن المؤقت إلى حد المستوى -العالي، يتم تعيين خط CTS عند الطرف المتلقي على مستوى منخفض (المنطق 0). عندما يكتشف البرنامج الموجود في طرف الإرسال أن مستوى CTS منخفض، فإنه يتوقف عن إرسال البيانات حتى تنخفض كمية البيانات في المخزن المؤقت المتلقي إلى أقل من مستوى -المستوى المنخفض ويتم تعيين CTS على مستوى مرتفع. يتم استخدام RTS للإشارة إلى ما إذا كان جهاز الاستقبال جاهزًا لتلقي البيانات.
3.4 يمكن تلقي روتين فرعي
يدعم تنسيق PeliCAN كلاً من الإطارات القياسية والممتدة. يمكن تكوين وضع CAN باستخدام CDR.7 في سجل مقسم الساعة (0 لـ BasicCAN، 1 لـ PeliCAN). عند تلقي بيانات CAN، يتم استخدام بت FF في معلومات الإطار لتحديد ما إذا كان إطارًا قياسيًا أو ممتدًا، ويتم استخدام بت RTR للتمييز بين الإطار البعيد وإطار البيانات. ما يلي هو CAN تلقي روتين فرعي:
;//////////////////////////////////////////////////////////////////
؛//يمكن استقبال البيانات/توحيدها في تنسيق إطار بمعرف 2 بايت//
;///////////////////////////////////////////////////////////////////////
ريكان:
موف آر0، #C_RE؛ عنوان البدء للمخزن المؤقت الداخلي للمتحكم الدقيق
موف دبتر، #RXBUF؛ قراءة وحفظ محتويات المخزن المؤقت للتلقي
موفكس أ، @DPTR؛ قراءة البايت الثاني من المخزن المؤقت CAN
موف @R0، أ؛ يحفظ
جي بي ACC.7، EFF_RE؛ بت FF: 0=SFF، 1=EFF
موف آر 2، #0
SJMP SFF_RE؛ اعتمادًا على رقم المعرف، يختلف موضع التقاط "بايت البيانات".
EFF_RE: MOV R2، #2
SFF_RE: MOV R2، #2
SFF_RE:
JB ACC.6، EXIT_RECAN؛ تحقق من بت RTR. إذا 1 (الإطار البعيد)، والقفز خارج
أنل أ، #0FH
موف آر 3، أ؛ عند هذه النقطة، تمثل البتات الأربع الوسطى طول البيانات
موف C_NUM، أ؛ قم بتخزين طول الإطار المستلم في R3 وR5
رداتا0:
إنك دي بي تي آر؛ معرف 2 بايت
إنك آر0
موفكس أ، @DPTR
موف @R0، أ
إنك دي بي تي آر
موفكس أ، @R0، أ
إنك دي بي تي آر
موفكس أ، @DPTR
موف @R0، أ
موف أ، آر 2؛ في حالة EFF، قم بتخطي معرف البايتتين-.
جي زي دراتا1
إنك دي بي تي آر
إنك دي بي تي آر
البيانات 1: ; بايت البيانات
إنك دي بي تي آر
إنك آر0
موفكس أ، @DPTR
موف @R0، أ
دجنز R3، RDATA1
EXIT_RECAN:
ريت
4 الاستنتاج
لقد وفر تصغير أجهزة الكمبيوتر الظروف اللازمة للتطوير الذكي لأدوات القياس والتحكم، مما مكن الأجهزة الطرفية المعتمدة على المعالجات الدقيقة- من امتلاك قدرات اتصال رقمية فائقة. مع ظهور عدد متزايد من المحطات الذكية، يتم وضع متطلبات أعلى على بنية الشبكة والبروتوكولات والأداء في الوقت الفعلي-، بالإضافة إلى قابلية التطبيق والمرونة والموثوقية وحتى التكلفة. وبالتالي، فإن تكنولوجيا Fieldbus تحمل وعدًا كبيرًا للتطوير المستقبلي. يتضمن هيكل إطار ناقل CAN معرفًا (ID)، مما يجعل من الممكن وجود مضيفين متعددين للشبكة داخل شبكة الجهاز؛ أي أنه من خلال مضيفي الشبكة، يمكن مراقبة الحالة التشغيلية لشبكة الجهاز بالكامل، ويمكن اتخاذ قرارات التحكم المقابلة. وقد تم الآن تطوير هذا الجهاز بالكامل وحقق نتائج ممتازة في التطبيقات العملية.




