यदि दो नोड आईडी सेगमेंट समान हैं तो क्या होगा?
कैन-बस नेटवर्क दो नोड्स को समान आईडी सेगमेंट को सिद्धांत रूप में रखने की अनुमति नहीं देते हैं, लेकिन क्या होता है यदि दो नोड आईडी सेगमेंट समान होते हैं?
प्रयोग से पहले, हमें कैन संदेशों की संरचना और मध्यस्थता के सिद्धांतों की स्पष्ट समझ होनी चाहिए।
सबसे पहले, CAN संदेश संरचना
सबसे व्यापक रूप से उपयोग किए जाने वाले कैन-बस नेटवर्क मानक V2.0 संस्करण है। इस मानक को आगे ए और बी भागों में विभाजित किया गया है। उनका मुख्य अंतर मध्यस्थता क्षेत्र में आईडी कोड लंबाई है। उनमें से CAN2.0A (मानक फ्रेम) 11 बिट आईडी है, CAN2.0B (फ्रेम विस्तृत करें) 29 बिट आईडी है नीचे दी गई तालिका 1 में CAN संदेश की संरचना दिखाती है:
तालिका 1 CAN संदेश संरचना
| चरण का नाम | चरण लंबाई / बिट | विवरण | |
| SOF | 1 | इसका मतलब है डेटा चरण शुरू, और एकल प्रमुख बिट द्वारा बना | |
| अवशेष चरण | मानक फ्रेम | 12 | फ्रेम की प्राथमिकता को इंगित करता है, 11 आईडी पतों और 1 आरटीआर के अनुसार |
| विस्तारित फ्रेम | 32 | फ्रेम की प्राथमिकता को दर्शाता है, 29 आईडी पतों, 1 बिट एसआरआर, आईडीई विस्तारित और आरटीआर | |
| नियंत्रण चरण | 6 | डेटा खंड का डेटा लम्बाई के समूह कोड और आरक्षित बिट्स का अर्थ है | |
| डाटा चरण | 0 ~ 8 | डेटा सामग्री, नियंत्रण चरण डेटा की लंबाई को नियंत्रित करता है | |
| सीआरसी | 16 | फ्रेम ट्रांसमिशन एर्रो की जांच करें, एसओएफ से डेटा चरण में, सभी सामग्री, बिट्स को भरने के अलावा | |
| एसीके | 2 | अन्य नोड को सही ढंग से प्राप्त करने के लिए इस फ्रेम की पुष्टि करें | |
| फ़्रेम एंड | 7 | फ्रेम के अंत का मतलब है | |
दूसरा, मध्यस्थता का सिद्धांत
बस मध्यस्थता "रेखा और सिद्धांत" पर आधारित है, जैसा कि चित्रा 1 में दिखाया गया है। जब एक ट्रांसीवर एक ही समय में विभिन्न स्तरों के संकेतों का उत्सर्जन करता है, तो पीछे हटने का स्तर हमेशा प्रमुख स्तर से आच्छादित होता है। संदेश भेजने के दौरान, कैन नियंत्रक यह देखेगा कि क्या बस की स्थिति एक ही है जो स्वयं द्वारा भेजी गई है यदि आईडी सेगमेंट में असंगतता होती है, तो मध्यस्थता हो जाएगी अगर यह अन्य क्षेत्रों में होता है, तो इसी त्रुटि को ट्रिगर किया जाएगा।
निम्नलिखित प्रमुख बिंदु है यदि दो नोड आईडी सेगमेंट समान हैं तो क्या होगा? हमने दो CAN कार्ड और एक CANScope के साथ प्रयोग शुरू किया। CAN कार्ड CAN मानक नोड को संदेश भेजने और प्राप्त करने के लिए सिमित करता है, और CANScope संचार निगरानी करता है, जैसा कि चित्रा 2 में दिखाया गया है।
Fig.2 प्रयोग मंच निर्माण
तीसरा, एक प्रयोग "आईडी खंड समान है लेकिन डेटा अलग है"
आईडी कार्ड के साथ 01020304050607 एच 0,2020304050607 एच और एक और कैन कार्ड भेजने के लिए एक CAN कार्ड का उपयोग किया जाता है ताकि 02020304050607 एच के लिए 000 एच डेटा के साथ एक कैन फ्रेम भेजा जा सके। आंकड़े जो CANScope पर सुनता है, चित्र 3 में दिखाया गया है। यह देखा जा सकता है कि बड़ी मात्रा में डेटा फ़ील्ड भरने की त्रुटियां हैं।

Fig.3 डेटा फ़ील्ड भरें एर्रो
ऐसा क्यों है? हम पहले दो CAN कार्ड ट्रांसमिशन संदेश के अनुरूप waveforms प्राप्त करते हैं, जैसा कि चित्रा 4 में दिखाया गया है। क्योंकि दो-पिन संदेश एक मानक डेटा फ्रेम है और प्रत्येक फ़्रेम में डेटा के 8 बाइट हैं, पैकेट के दो फ़्रेमों के अनुरूप waveforms आईडी सेगमेंट, आरटीआर, आईडीई, आर 0, और डीएलसी सेगमेंट में बिल्कुल वैसा ही है। इसलिए, मध्यस्थता की भूमिका अप्रभावी है और दोनों नोड्स खुद को प्राथमिकता मानते हैं और डेटा भेजना जारी रखते हैं।
अब हम डेटा सेगमेंट पर ध्यान केंद्रित करते हैं, पहला बाइट डेटा एक जैसा है, 00 एच है; दूसरा बाइट डेटा अलग है, क्रमशः 01 एच, 02 एच। चित्रा 5 में तीरों से संकेत मिलता है कि संबंधित बिट्स का तर्क क्रमशः 0 और 1 है। इससे पहले हमने उल्लेख किया है कि कैन नोड यह पता लगाएगा कि क्या संदेश भेजने के समय बस स्तर भेजा जाने वाला स्तर क्या है। यदि असहत्वता गैर-मध्यस्थता क्षेत्र में होती है, तो इसी त्रुटि को शुरू किया जाता है, इसलिए यदि दो फ्रेम एक ही समय में बस में भेजे जाते हैं तो बिट त्रुटियाँ होनी चाहिए। चूंकि बिट भेजने की त्रुटि नोड को 6 प्रभावी बिट्स भेजने के लिए कारण है जो भरने वाले नियम (सक्रिय त्रुटि को फ्रेम डेटा को नष्ट कर) का उल्लंघन करती है, डेटा फ़ील्ड भरने की त्रुटि तब होती है, जैसा कि एफआईजी में दिखाया गया है। 3

Fig.5 डेटा फील्ड संघर्ष
चौथा, प्रयोग दो "एक ही आईडी के साथ समान डेटा"
उसी समय, CAN फ़्रेमों का आईडी भेजने के लिए दो CAN कार्ड का उपयोग करें, जिसका आईडी 01020304050607 एच करने के लिए 000 एच डेटा है, और CANScope संचार निगरानी करता है सबसे पहले, हम "बस प्रतिक्रिया" विकल्प को केवल-सुनने के मोड में कंसस्कोप काम करने के लिए जांच नहीं करते। प्रायोगिक परिणामों को चित्र 6 में दिखाया गया है, और प्रतिक्रिया सीमांकक गलत स्वरूप में है।
Fig.6 प्रतिक्रिया सीमांक प्रारूप त्रुटि
ऐसा क्यों होता है? संदेश भेजने वाला नोड एसीके सेगमेंट में दो अप्रतिबंधित बिट्स भेजेगा I अगर पहले बिट के दौरान एक प्रमुख स्तर प्राप्त होता है, तो फ्रेम को सही तरीके से प्राप्त किया जाना माना जाता है। क्योंकि दो मध्यस्थों का मानना है कि उनके पास मध्यस्थता का अधिकार है, जब वे समान मध्यस्थता सेगमेंट प्राप्त करते हैं, तो वे एसीके सेगमेंट में प्रतिक्रिया की प्रतीक्षा करते हैं, लेकिन नेटवर्क में केवल दो नोड हैं। इसलिए, एसीके सेगमेंट में कोई प्रतिक्रिया प्राप्त नहीं की जा सकती है, और एक प्रतिक्रिया सीमांकक त्रुटि उत्पन्न होती है। बस बोलकर, यह स्थिति इस तथ्य के समान है कि बस में एक नोड डेटा भेजने में सक्षम नहीं होगी। एसीके सेगमेंट में कोई प्रतिक्रिया नहीं है, जब चित्रा 7 तरंग तुलना को दर्शाता है
Fig.7 एसीके उत्तर दें
हम बस प्रतिक्रिया की जांच करते हैं और फिर से प्रयोग शुरू करते हैं (इस समय बस में 3 नोड हैं)। इस समय, जैसा कि एफआईजी में दिखाया गया है। 8, बस डेटा संचारित होता है और सामान्य रूप से प्राप्त होता है।
Fig.8 प्रारंभ बस उत्तर दें
सारांश: जब दो नोड समान आईडी और डेटा के साथ एक ही समय में पैकेट भेजते हैं, तो डेटा फ़ील्ड गद्दी त्रुटि होती है। जब दो नोड्स समान आईडी और समान डेटा के साथ पैकेट भेजते हैं, तो कोई त्रुटि तब नहीं आती है जब अन्य नोड्स जवाब देते हैं अन्य नोड्स ने प्रतिक्रिया त्रुटि के साथ जवाब दिया इसलिए, कैन बस को डिजाइन करते समय हमें आईडी सेगमेंट में उसी स्थिति से बचना चाहिए।





