सॉफ्टवेयर में एक कर सकते हैं प्रोटोकॉल परत को लागू करने


12

पृष्ठभूमि

मैं एक ऐसी परियोजना विकसित कर रहा हूं जिसके लिए मामूली माइक्रोकंट्रोलर स्पेक्स की आवश्यकता होगी:

  • 8 12-बिट, 10kHz ADCs
  • 1kB की रैम
  • 48-QFN या छोटे पदचिह्न
  • 20kbps डेज़ी-चेनेबल शोर-प्रतिरोधी और त्रुटि-सुधार संचार प्रोटोकॉल

सिग्नल प्रोसेसिंग आवश्यकताएं काफी कम हैं, और अधिकांश को सिस्टम में मास्टर प्रोसेसर में निर्यात किया जा सकता है। पहले तीन चश्मा मिलना आसान है, और मात्रा में $ 2 से कम के लिए किया जा सकता है। हालाँकि, संचार बहुत ही शोरगुल वाले वातावरण में हो रहा होगा, इसलिए लिन और I2C जैसे शोर-कमजोर नेटवर्क बाहर हैं। लिन के खिलाफ एक अतिरिक्त तर्क यह है कि मैं पूरी चीज को 5V या 3.3V पर चलाना चाहता हूं, और लिन ट्रांसीवर्स को 12V की आवश्यकता होती है, और इसलिए प्रति सेंसर बोर्ड को अतिरिक्त नियामक या तार की आवश्यकता होगी। मैंने शुरू में इस कार्य के लिए CAN चुना। हालाँकि, CAN नियंत्रक काफी लागत जोड़ सकते हैं, और मुझे उत्सुकता है अगर यह सॉफ्टवेयर में किया जा सकता है।

कैन फिजिकल लेयर

CAN विनिर्देश OSI नेटवर्क संदर्भ मॉडल के डेटा लिंक और भौतिक परतों को परिभाषित करता है। कई सस्ती 8-पिन ICs, जैसे NXP TJA1040 / 50 , मैक्सिम MAX3058 / 59 , माइक्रोचिप MCP2551 , और TI SN65HVD1050 भौतिक परत को लागू करने के लिए मौजूद हैं। डी / ए कन्वर्टर्स या ऑप-एम्प्स के साथ भौतिक परत को लागू करना मुश्किल होगा, यदि असंभव नहीं है, तो ये आईसी $ 1 के लायक हैं या इसलिए कि उनकी लागत है।

डेटा लिंक / प्रोटोकॉल लेयर कर सकते हैं

डेटा लिंक लेयर के लिए, कुछ माइक्रोकंट्रोलर मूल UART, I2C और SPI संचार परतों पर CAN प्रोटोकॉल मॉड्यूल जोड़ सकते हैं। हालांकि, ये मूल चिप्स की तुलना में काफी अधिक महंगे हैं।

कैन प्रोटोकॉल मॉड्यूल की लागत की जांच

इस दावे को प्रमाणित करने के लिए, कैन और नॉन-कैन संस्करणों में कुछ लोकप्रिय माइक्रोसे हैं:

  • ATmega16 - ATMEGA16M1 (CAN के साथ): $ 3.87, ATMEGA168A (कोई CAN): $ 3.23
  • dsPIC - DSPIC33FJ64MC802 (CAN के साथ): $ 6.14, DSPIC33FJ64GP202 (कोई CAN नहीं): $ 5.48
  • PIC18 - PIC18F2480 (CAN के साथ): $ 6.80, PIC18F24J10 (कोई CAN नहीं): $ 2.10
  • Cortex-M3 - STM32F103C4T6A (CAN के साथ): $ 6.50, STM32F100C4T6B (कोई CAN नहीं): $ 2.73

निष्पक्ष होने के लिए, मैंने केवल माइक्रोकंट्रोलर्स की तुलना समतुल्य मेमोरी आकारों के साथ की है, हालांकि, गैर-कैन संस्करण के कई छोटे मेमोरी साइज़ कम के साथ उपलब्ध हैं। माइक्रो कैन MCP2515 की तरह बाहरी कैन नियंत्रक लगभग $ 2 हैं, इसलिए यदि आपके पास विकल्प है तो यह कैन को माइक्रोकंट्रोलर में एकीकृत करने के लिए अधिक लागत प्रभावी है।

दिलचस्प बात यह है कि ATmega का हिस्सा Digikey की इनवेंटरी में सबसे सस्ता CAN से लैस हिस्सा है।

CAN प्रोटोकॉल लेयर का कार्य

DsPIC माइक्रोकंट्रोलर्स में पाया जाने वाला CAN मॉड्यूल निम्नलिखित कार्य करता है:

कैन बस मॉड्यूल में एक प्रोटोकॉल इंजन और संदेश बफ़रिंग / नियंत्रण होता है। CAN बस में संदेश प्राप्त करने और प्रसारित करने के लिए CAN प्रोटोकॉल इंजन सभी कार्यों को संभालता है। संदेश पहले उपयुक्त डेटा रजिस्टर लोड करके प्रेषित किए जाते हैं। उपयुक्त रजिस्टरों को पढ़कर स्थिति और त्रुटियों की जाँच की जा सकती है। CAN बस में पाए गए किसी भी संदेश को त्रुटियों के लिए जांचा जाता है और फिर फ़िल्टर के विरुद्ध यह देखने के लिए मिलान किया जाता है कि क्या यह प्राप्त किया जाना चाहिए और प्राप्त रजिस्टरों में से एक में संग्रहीत किया जाना चाहिए।

सॉफ्टवेयर में यह काफी उल्लेखनीय है।

प्रश्न

क्या एक सॉफ्टवेयर प्रोटोकॉल लेयर का उपयोग केवल एक सस्ता UART से लैस माइक्रोकंट्रोलर और CAN ट्रांसीवर के साथ कर सकते हैं? यदि हां, तो क्या कोई ओपन-सोर्स कार्यान्वयन मौजूद है?

वैकल्पिक रूप से, क्या कस्टम प्रोटोकॉल को लागू करने के लिए UARTs के साथ ट्रांसीवर का उपयोग किया जा सकता है? मैं सिंगल-मास्टर टोपोलॉजी के साथ ठीक हूं; मैं समझता हूं कि कस्टम प्रोटोकॉल में सही होने के लिए मध्यस्थता कठिन हो सकती है।


कैन 12 वी भी है, क्योंकि इसे ऑटोमोटिव उपयोग के लिए विकसित किया गया था।
केनी

@ केनी - उपरोक्त ट्रांसवर्स पर इस्तेमाल किया जाने वाला वोल्टेज स्तर 5 वी है।
केविन वर्मर

यदि आप STM32F श्रृंखला पर विचार करने जा रहे हैं, तो क्या मैं इस NXP भाग को भी सुझा सकता हूं? यह एक Cortex-M0 कोर है। search.digikey.com/scripts/DkSearch/…
जॉन एल

@ जों - वे आवश्यक रूप से विचाराधीन नहीं थे, और एक M0 इस उपयोग के मामले के लिए आदर्श होगा - हालांकि, भागों पर विचार करें Nuvoton M052LAN भी Cortex-M0 हैं, और लगभग आधी कीमत मात्रा में ($ 1.50 बनाम $ 2.35), लेकिन कैन मॉड्यूल नहीं है। इस तरह की कीमत में अंतर मेरी प्रेरणा है।
केविन वर्मर

आप ऑपरेशनल रेटिंग पर भी विचार कर सकते हैं। गैर समर्थन वेरिएंट के लिए कैन या सपोर्ट वाले अधिकांश भाग औद्योगिक या ऑटोमोटिव बनाम वाणिज्यिक होंगे।
मार्क

जवाबों:


11

मुझे लगता है कि फर्मवेयर में CAN प्रोटोकॉल को लागू करना मुश्किल होगा और सही होने में थोड़ा समय लगेगा। यह एक अच्छा विचार नहीं है।

हालांकि, आपकी कीमतें अधिक हैं। मैंने अभी जाँच की है, और QFN पैकेज में एक dsPIC 33FJ64GP802 1000 टुकड़ों के लिए माइक्रोचिप पर 3.68 USD में बेचता है। वास्तविक उत्पादन मात्रा के लिए कीमत कम होगी।

हार्डवेयर CAN परिधीय आपके लिए कुछ वास्तविक चीजें करता है, और इसके लिए मूल्य वृद्धि कहीं नहीं है जो आप दावा कर रहे हैं।

जोड़ा गया:

चूंकि आप फर्मवेयर मार्ग की कोशिश करने के लिए निर्धारित प्रतीत होते हैं, यहां कुछ स्पष्ट समस्याएं हैं जो दिमाग में पॉप करती हैं। वहाँ सबसे अधिक संभावना है कि अन्य समस्याएं हैं जो मुझे अभी तक नहीं हुई हैं।

आप 20 kbit / s पर CAN करना चाहते हैं। यह CAN के लिए बहुत धीमी दर है, जो कम से कम 10 मीटर के लिए 1Mbit / s तक जाती है। आपको एक डेटापॉइंट देने के लिए, NMEA 2000 शिपबोर्ड सिग्नलिंग मानक CAN पर 200 kbit / s पर लेयर है, और इसका मतलब है कि एक बड़े जहाज के एक छोर से दूसरे तक जाना।

आप सोच सकते हैं कि आपको जो कुछ भी चाहिए वह प्रति बिटकॉइन में से एक है और आप उस बाधा में अपनी जरूरत का हर काम कर सकते हैं। यह काम नहीं करेगा क्योंकि प्रत्येक CAN बिट समय में कई चीजें चल रही हैं। विशेष रूप से उप-बिट स्तर पर दो चीजें करने की आवश्यकता है। पहला एक टक्कर का पता लगा रहा है, और दूसरा मक्खी पर बिट दर को समायोजित कर रहा है।

एक CAN बस में दो सिग्नलिंग स्टेट्स होते हैं, रिकेसिव और प्रमुख। रेससिव वह होता है जब बस कुछ भी नहीं चला रहा हो। दोनों लाइनों को कुल मिलाकर 60 by तक खींचा जाता है। MCP2551 जैसे सामान्य चिप्स द्वारा कार्यान्वित एक सामान्य CAN बस में दोनों छोर पर 120 at टर्मिनेटर होने चाहिए, इसलिए कुल 60 total दो अंतर रेखाओं को एक साथ निष्क्रिय रूप से खींचते हैं। प्रभावी स्थिति तब होती है जब दोनों रेखाओं को सक्रिय रूप से अलग किया जाता है, कहीं-कहीं लगभग 900mV आवर्ती अवस्था से अगर मुझे सही याद है। असल में, यह एक खुली कलेक्टर बस की तरह है, सिवाय इसके कि इसे एक अंतर जोड़ी के साथ लागू किया जाता है। यदि बस CANH-CANL <900mV और CANH-CANL> 900mV हो तो प्रमुख स्थिति में बस आवर्ती स्थिति में है। प्रमुख राज्य 0 पर संकेत करता है, और आवर्ती 1।

जब भी एक नोड बस के लिए "1" लिखता है (इसे जाने देता है), यह देखने के लिए जांचता है कि क्या कोई अन्य नोड 0. लिख रहा है। जब आप बस को प्रभावशाली स्थिति में पाते हैं (0) जब आपको लगता है कि आप भेज रहे हैं और वर्तमान बिट आप भेज रहे हैं एक 1 है, तो इसका मतलब है कि कोई और भी भेज रहा है। टकराव केवल तब ही होता है जब दो प्रेषक असहमत होते हैं, और नियम यह है कि एक भेजने वाला राज्य को वापस भेज देता है और अपने संदेश को निरस्त कर देता है। प्रमुख राज्य भेजने वाले नोड को भी नहीं पता है कि यह हुआ। यह कैसे एक CAN बस पर मध्यस्थता काम करता है।

CAN बस मध्यस्थता नियमों का मतलब है कि आपको बस एक बिट के माध्यम से भेज रहे हैं, जो आपको 1 के रूप में भेज रहा है, यह सुनिश्चित करने के लिए कि कोई और नहीं भेज रहा है 0. यह चेक आमतौर पर बिट में रास्ते का लगभग 2/3 होता है , और CAN बस की लंबाई पर मौलिक सीमा है। बिट्स दर धीमी होती है, बस के एक छोर से दूसरे छोर तक सबसे खराब स्थिति के प्रसार के लिए अधिक समय होता है, और इसलिए अब बस हो सकती है। यह जांच हर उस जगह पर की जानी चाहिए जहां आपको लगता है कि आप बस के मालिक हैं और 1 बिट भेज रहे हैं।

एक अन्य समस्या बिट दर समायोजन है। एक बस में सभी नोड्स को बिट दर पर सहमत होना चाहिए, RS-232 की तुलना में अधिक बारीकी से। छोटी घड़ी के अंतर को महत्वपूर्ण त्रुटियों में जमा होने से रोकने के लिए, प्रत्येक नोड को थोड़ा ऐसा करने में सक्षम होना चाहिए जो उसके नाममात्र से थोड़ा लंबा या छोटा हो। हार्डवेयर में, यह बिट दर की तुलना में 9x से 20x के आसपास कहीं एक घड़ी चलाकर कार्यान्वित किया जाता है। इस तेज घड़ी के चक्र को समय क्वांटा कहा जाता है। यह पता लगाने के तरीके हैं कि नए बिट्स की शुरुआत सम्मान के साथ भटक रही है जहां आपको लगता है कि उन्हें होना चाहिए। हार्डवेयर कार्यान्वयन फिर से एक बार में एक बार का क्वांटा जोड़ने या छोड़ने के लिए। ऐसे अन्य तरीके हैं जिन्हें आप इसे लागू कर सकते हैं जब तक कि आप अपने अपेक्षित बिट समय और वास्तविक मापा बिट समय के बीच चरण में छोटे अंतर को समायोजित कर सकते हैं।

किसी भी तरह से, इन तंत्रों को विभिन्न चीजों को एक बिट के भीतर कई बार किया जाना चाहिए। इस तरह की टाइमिंग फर्मवेयर में बहुत मुश्किल हो जाएगी, या बस को बहुत धीमी गति से चलाने की आवश्यकता होगी। मान लीजिए कि आप फर्मवेयर में 20 kbit / s पर एक समय क्वांटा प्रणाली लागू करते हैं। कम से कम 9 बार क्वांटा प्रति बिट, कि 180 kHz रुकावट की आवश्यकता होगी। यह dsPIC 33F जैसी किसी चीज़ के साथ निश्चित रूप से संभव है, लेकिन प्रोसेसर के एक महत्वपूर्ण अंश को खा जाएगा। 40 मेगाहर्ट्ज की अधिकतम अनुदेश दर पर, आपको प्रति बाधा 222 निर्देश चक्र मिलते हैं। सभी जाँच करने के लिए यह लंबा समय नहीं लेना चाहिए, लेकिन शायद 50-100 चक्र, जिसका अर्थ है कि 25-50% प्रोसेसर का उपयोग CAN के लिए किया जाएगा और इसे चलने वाले अन्य सभी चीज़ों को पहले से तैयार करना होगा। इन प्रोसेसर को चलाने वाले कई अनुप्रयोगों को रोकता है, स्विचिंग पॉवर सप्लाई या मोटर ड्राइवर के पल्स कंट्रोल द्वारा पल्स की तरह। हर दूसरे व्यवधान पर 50-100 चक्र विलंबता इस तरह से चिप्स के साथ किए गए कई चीजों के लिए एक पूर्ण शो स्टॉपर होगा।

तो आप किसी तरह कर सकते हैं करने के लिए पैसे खर्च करने जा रहे हैं। यदि उस उद्देश्य के लिए समर्पित हार्डवेयर परिधीय में नहीं है, तो महत्वपूर्ण फर्मवेयर ओवरहेड को संभालने के लिए एक बड़ा प्रोसेसर प्राप्त करना और फिर बाकी सब के लिए अप्रत्याशित और संभव बड़े बाधा विलंब से निपटना।

फिर अप फ्रंट इंजीनियरिंग है। परिधीय बस काम कर सकता है। आपकी टिप्पणी से, ऐसा लगता है कि इस परिधीय की वृद्धिशील लागत $ .56 है। जो मेरे लिए फायदे का सौदा लगता है। जब तक आपको बहुत अधिक मात्रा में उत्पाद नहीं मिला है, तब तक कोई रास्ता नहीं है जिससे आप काफी समय और खर्च प्राप्त कर सकते हैं और यह केवल फर्मवेयर में कैन को लागू करने में लगेगा। यदि आपके वॉल्यूम इतने ऊंचे हैं, तो जिन कीमतों का हम उल्लेख कर रहे हैं, वे वैसे भी वास्तविक नहीं हैं, और CAN हार्डवेयर जोड़ने के लिए अंतर कम होगा।

मैं वास्तव में इस समझ में नहीं आता।


मैं आपकी राय को महत्व देता हूं, लेकिन मैं इस बात के लिए उत्सुक हूं कि किसी ने भी कठिनाइयों के आसपास काम करने की कोशिश क्यों नहीं की - हर परियोजना में वे समस्याएं होंगी! मैं आपको बताऊंगा कि अगर मैं इसे समाप्त करने का प्रयास करता हूं तो यह कैसे पता चलता है।
केविन वर्मेयर

1000 की मात्रा में, मुझे microchipdirect से dsPIC33FJ64GP202 के लिए $ 3.12 की कीमत लगती है - $ 560 का कुल मूल्य अंतर! यह कम से कम प्रयास करने लायक है। मैं प्रत्येक के अनुसार कीमतों को उद्धृत कर रहा था, क्योंकि व्यक्तिगत टुकड़ों के लिए संख्याओं को प्राप्त करना आसान था, बिना रीलिंग, मानक पैकेज की मात्रा आदि के बारे में चिंता किए बिना
केविन वर्मेयर

2
@ केविन, कम मात्रा की कीमतें हमेशा उच्च मात्रा की कीमतों के लिए आनुपातिक नहीं होती हैं। मैं नहीं जानता कि इनमें से कितनी चीजें आप बनाने की योजना बना रहे हैं, लेकिन फर्मवेयर में CAN करने के लिए इंजीनियरिंग के लिए $ 560 का भुगतान शुरू नहीं होगा। मैं आपके द्वारा बताई गई कुछ कठिनाइयों का जवाब देने के लिए जोड़ूंगा।
ओलिन लेथ्रोप

WTF !? मैंने अपने उत्तर में कुछ सामान जोड़ा, और अधिकांश पैराग्राफ टूट गया। मेरे द्वारा लिखी गई संपादन विंडो में निश्चित रूप से रिक्त लाइनें थीं।
ओलिन लेथ्रोप

1
इसका जवाब है हाँ आप कर सकते हैं लेकिन मैं पूरी तरह से ओलिन के साथ यहाँ सहमत हूँ। मैं वास्तव में इस क्षेत्र में पूरा समय काम करता हूं। मैं dsPIC33FJ256 चिप का उपयोग करता हूं। समय बिताने वाली चीजें बिट-बैंग एप्रोच को लिखने में बिताती हैं, यह आपके लिए हार्डवेयर करने का लागत लाभ निकालता है और आप पहिया को फिर से मजबूत करते हैं। यह उल्लेख करने के लिए नहीं कि आप जो कुछ भी हार्डवेयर में कर रहे हैं, उसे बहुत सावधानी से करने की आवश्यकता है। इसके अलावा, मुझे आश्चर्य है कि यदि आप अन्य उच्च स्तर के प्रोटोकॉल जैसे कि ISO14229 या OSEK / Autosar NetworkManagement की आवश्यकता देख रहे हैं?
एरिक एम

2

हम PIC18F25K80 का उपयोग करते हैं । जबकि इसमें DSP नहीं है, यह मात्रा में ~ $ 2 है। यह लगभग PIC18F2480 आप उल्लेख के लिए एक सीधा विकल्प है। हम कैन के लिए सीसीएस कंपाइलर और उनके सॉफ्टवेयर स्टैक का उपयोग करते हैं जो संभवत: माइक्रोचिप से पोर्ट किया गया है। यह मेरी जरूरत की हर चीज के लिए अच्छा काम करता है और आजमाया हुआ है।


ECAN की खोज नहीं की। सिली माइक्रोचिप नाम, लेकिन मुझे अगली बार अधिक बारीकी से पढ़ना होगा! जैसा मैंने कहा, मेरी सिग्नल प्रोसेसिंग की जरूरत कम है, इसलिए मुझे नहीं लगता कि मुझे एक वास्तविक डीएसपी की जरूरत है।
केविन वर्मर

2

अगर मैं यह सही पढ़ रहा हूं, तो ऐसा लगता है कि आप केवल UART और कुछ चतुर फर्मवेयर का उपयोग करके कैन-बैस कार्यक्षमता को बिट-बैश करना चाहते हैं। मेरा विश्वास करो, यह कभी काम नहीं करेगा - मैं सुझाव देता हूं कि कैन या कैनोपेन की पेचीदगियों पर एक अच्छा पाठ पढ़ा जाए। आपने इस मार्ग से नीचे जाने के लिए किसी भी लागत बचत को मिटा दिया है।

मैं या तो एक CAN मॉड्यूल के साथ एक माइक्रोकंट्रोलर का उपयोग करूंगा और अतिरिक्त $ 2 को पास करूंगा, या क्या आपने एक अलग प्रोटोकॉल के बारे में सोचा है जो UART के साथ संगत है, जैसे RS-485 पर मोडबस ?


आप इसे सही पढ़ रहे हैं। मैंने CAN पर वेक्टर प्रशिक्षण पुस्तिका को अच्छी तरह से पढ़ा है। ऐसा लगता है कि हर संदेश को सीआरसी के लिए कुछ प्रीप्रोसेसिंग की आवश्यकता होगी, लेकिन बाकी पैकेट समान होना चाहिए और मुझे केवल एक संघर्ष के लिए प्राप्त लाइन की जांच करते रहना होगा। यह वास्तव में उतना मुश्किल नहीं लगता जितना लोग इसे करने के लिए करते हैं, लेकिन मैं आपकी सलाह को ध्यान में रखूंगा।
केविन वर्मियर

मैं rs485 विचार पर modbus पसंद है, यद्यपि। ऐसा प्रतीत होता है कि अधिकांश ट्रांसवर्स 5 वी आपूर्ति भी हैं; मैं इस धारणा के तहत था कि इसे RS232 जैसे +/- इनपुट वोल्टेज की आवश्यकता थी। उस पर गौर करना होगा।
केविन वर्मियर

बिट पीटना सबसे निश्चित रूप से काम करेगा! यह ओलिन के रूप में तुच्छ नहीं है, ऊपर, उल्लेख है लेकिन किया जा सकता है। मैंने व्यक्तिगत रूप से इसे PIC18F श्रृंखला और dsPIC33 श्रृंखला माइक्रो दोनों पर खींच लिया है। मैं PIC18F स्रोत अपलोड कर सकता हूं यदि आप वास्तव में इसे देखना चाहते हैं। हालाँकि, मैं dsPIC स्रोत को नहीं दे सकता क्योंकि यह एक वाणिज्यिक परियोजना का हिस्सा है जिस पर मैं काम करता हूँ। दोनों ही मामलों में हम MCP2551 का उपयोग करते हैं और मेरे पास लिन कोड भी है। लिन प्रोटोकॉल लेयर में थोड़ा सरल है लेकिन लिन शेड्यूल को लागू करना थोड़ा कठिन है ...
एरिक एम

1
@ EricM - बिट दर क्या थी, और क्या आप सॉफ्टवेयर में पूर्ण CAN कल्पना लागू कर सकते थे? मुझे इसके लिए PIC18F कोड देखना अच्छा लगेगा ।
राकेटमग्नेट 12

हाँ, अभी तक पूर्ण CAN युक्ति को कार्यान्वित किया जा सकता है ताकि dsPIC पर ECAN मॉड्यूल की नकल न हो जो कई पहलुओं का ध्यान रखता है। PIC18 के कार्यान्वयन पर मैंने बस को पूरी कल्पना और बाद में टक्कर दी और यह कोड GPIO लाइनों के उपयोग के dsPIC पर काम करेगा। मैं कोड के लिंक के साथ कुछ दिनों में अपडेट करूंगा।
एरिक एम

0

मैं एक PIC soC पर बिट-बैंगिंग कैन-प्रोटोकॉल के बारे में भी सोच रहा हूं, इसलिए कृपया एरिकएम, यदि आपने वास्तव में ऐसा किया है, तो कृपया उत्तर दें और कम से कम बताएं, कि आपको PIC18F या DSPic की कोर-फ्रीक्वेंसी क्या है। धन्यवाद!

सामान्य तौर पर: RS 485 प्राथमिक पूछे जाने वाले समस्या का समाधान होगा, लेकिन यह भी संभव है कि सभी प्रोटोकॉल के रूप में गैर-पूर्ण-द्वैध UART संचार (बिंदु 2 बिंदु) के साथ CAN (या यहां तक ​​कि FlexRay) का उपयोग किया जा सके। NRZ- कोडिंग का उपयोग करें।

लेकिन UART / V24 / RS232 पूर्ण द्वैध में ज्यादातर विस्तार के बारे में सोचने के बिना उपयोग किया जाता है, इसलिए शायद आपको अपने आवेदन के सुपरलूप या राज्यमंच पर कुछ मस्तिष्क लगाने की आवश्यकता होगी ...

लेकिन कैन-बिटबैंगिंग में वापस: मैं कैन के साथ कई वर्षों से काम कर रहा हूं और कभी भी बिटबैंगिंग कार्यान्वयन नहीं देखा है, लेकिन जहां तक ​​मैं सोच सकता हूं, कि डीएसपी या एआरएम आदि के साथ आधुनिक likeC के साथ टीपी 100kBit तक बिट-टाइमिंग के लिए काम करना चाहिए। (80 मेगाहर्ट्ज या उससे ऊपर के करोड़ वाले ...)

कम से कम अगर केवल रीड-बैक माना जाता है ... भेजने का मतलब बिट-स्ट्रक्चर तैयार करने में कुछ ओवरहेड होगा ताकि 100% बस लोड न हो सके, लेकिन कैन में 65% से अधिक दुर्लभ है ...


2
इलेक्ट्रिकल इंजीनियरिंग StackExchange में आपका स्वागत है। आपके उत्तर का पहला भाग वास्तव में एक उत्तर नहीं है, इसलिए आप एक नया प्रश्न पूछते हैं कि क्या आप चाहते हैं। ओपी ने विशेष रूप से कैन प्रोटोकॉल के सॉफ्टवेयर कार्यान्वयन के बारे में पूछा और आपका जवाब उस प्रश्न को संबोधित किए बिना इधर-उधर भटकने लगता है; कृपया प्रश्न के विषय पर बने रहने का प्रयास करें।
जो हस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.