এসপিআই বা আই 2 সি: যা দীর্ঘতর বাসের জন্য ব্যবহার করতে হবে


36

আমি এমন একটি প্রকল্প বিবেচনা করছি যা একটি বাসে একে অপরের সাথে কথা বলার জন্য বেশ কয়েকটি এভিআর দরকার হবে। তারা 6 ফুট হিসাবে পৃথক করা চাই।

দেখে মনে হচ্ছে আই 2 সি এবং এসপিআই উভয়ই একটি বাসের মাধ্যমে কয়েকটি সিরিজ মাইক্রোকে যোগাযোগ করতে পারে, তবে কত দিন হবে সে সম্পর্কে আমি কোনও কথা দেখিনি। কেউ কি কয়েক ফুট দূরত্বে এই প্রোটোকলগুলি সংযুক্ত করার চেষ্টা করেছে?


আমি একবারে কেবলের মাধ্যমে আই 2 সি বাস চালিয়েছি। অন্ধকারে, আমার পরিবর্তে CAN বা আরএস -445 ব্যবহার করা উচিত ছিল (উভয় প্রান্তে মাইক্রোকন্ট্রোলার ছিল)।
নিক আলেক্সেভ

উত্তর:


19

অন্যরা যেমন বলেছে, এসপিআই এবং আই 2 সি দীর্ঘ দূরত্ব ধরে ব্যবহার করা যেতে পারে যতক্ষণ না পুল-আপ প্রতিরোধক, ঘড়ির ফ্রিকোয়েন্সি ইত্যাদি।

প্রধান বিকল্পগুলি (যা আরও ভাল শব্দ প্রতিরোধ ক্ষমতা দেবে) হ'ল আরএস ৪85৫ এবং ক্যান । এই উভয়ই শব্দ সংক্রান্ত সমস্যাগুলি হ্রাস করতে ডিফারেন্সিয়াল লাইন ব্যবহার করে এবং আই 2 সি বা এসপিআইয়ের চেয়ে ডেটা ট্রান্সমিশনের এই দৈর্ঘ্যের পক্ষে আরও উপযুক্ত। তবে আমি ভাবি না যে অনেকগুলি (কোনও?) এভিআরগুলি অন্তর্নির্মিত ক্যান পেরিফেরিয়ালগুলি নিয়ে আসে, যা CAN ব্যবহারকে আরও সহজ করে তোলে।

আমি বলব যে বাস বাছাই করার সময় সবচেয়ে গুরুত্বপূর্ণ বিষয়টি বিবেচনা করা হ'ল ডিভাইসগুলির মধ্যে যোগাযোগের জন্য আপনি যে প্রোটোকলটি ব্যবহার করছেন সেটিতে একটি সিআরসি বা সমতুল্য অন্তর্ভুক্ত রয়েছে যাতে আপনি কোনও বার্তা সঠিকভাবে প্রাপ্ত হয়েছে কিনা তা নির্ধারণ করতে পারেন (অংশ হিসাবে এটি থাকতে পারে) প্যাকেট)। এটি বিবেচনা করে, প্রোটোকলের অংশ হিসাবে একটি ACK / NACK ধরণের প্রতিক্রিয়া থাকাও দরকারী যাতে কোনও দূষিত বার্তা আবার সংক্রমণ করা যায়।


মনে হয় দু'জনেই কাজ করবে। আমি মূলত এই দুটি নির্দিষ্ট প্রোটোকলের কথা ভাবছি কারণ বেশিরভাগ এভিআর তাদের অতিরিক্ত উপাদান যুক্ত না করে দেশীয়ভাবে সমর্থন করে। অন্যথায়, আরএস ৪৮৫ বা ক্যান ভাল পছন্দ হতে পারে।
এডবিল

যদি আপনি থ্রো-হোল প্যাকেজগুলির মধ্যে সীমাবদ্ধ না হন, তবে এসটিগুলির তাদের কার্যকর-কার্যকর এবং শক্তিশালী এসটিএম 32 এবং এসটিএম 8 মাইক্রোকন্ট্রোলারগুলি ক্যান সহ থাকতে পারে, এনএক্সপিতে অনেকগুলি এলপিসিএক্সএক্সএক্সএক্সএক্সএক্সএক্স মাইক্রোকন্ট্রোলার রয়েছে এবং সেখানে আরও কয়েকজন রয়েছে। প্রচুর মাইক্রোকন্ট্রোলারের কাছে ক্রমশ সাধারণ (এবং সাশ্রয়ী মূল্যের) হয়ে উঠছে।
ডারএল

1
প্রকৃতপক্ষে কিছু এভিআর রয়েছে যা ক্যান রিসিভারগুলি অন্তর্নির্মিত রয়েছে, তবে অন্যান্য বিক্রেতাদের মতো এটি কেবলমাত্র তাদের চিপগুলির একটি সীমিত উপসেটে।
ডেভর

1
মাইক্রোচিপের CAN সহ কয়েকটি PIC রয়েছে। মাইক্রোচিপ . com/wwwproducts/Devices.aspx ? dDocName=en010302 । যদিও আমি স্বীকার করব, তারা প্রোগ্রামটিতে কিছুটা "ফানকি", বিশেষত মাইক্রোচিপের সি 18 / সি 30 লাইব্রেরিতে। কোড পর্যালোচনাতে, আমরা এমন কিছু লাইব্রেরি কোড পর্যবেক্ষণ করেছি যা বাস্তবায়নের বিশদগুলির কারণে পড়তে খুব কঠিন ছিল - একটি ট্রান্সমিট বাফার যা রিসিভ বাফার হিসাবে ব্যবহৃত হয়, পতাকা নামগুলি যা তারা প্রতিনিধিত্ব করে তার বিপরীতে। অবশ্যই মাইক্রোকন্ট্রোলার বিকাশে নতুন কারও জন্য সুপারিশ করব না।
জে। পোল্ফার

2
CAN এবং RS-485 সত্যিই আপেল এবং কমলা। ক্যান বিট লেভেল প্রোটোকলের পাশাপাশি শারীরিক বৈদ্যুতিক স্তর (PHY) সংজ্ঞায়িত করতে পারে। আরএস -485 কেবল একটি শারীরিক স্তর স্পেসিফিকেশন, এটি প্রোটোকল সম্পর্কে কিছুই নির্দিষ্ট করে না। আরএস -435 পিএইচইওয়ালের শীর্ষে একটি প্রকৃত প্রোটোকল সন্ধান করা বা বাস্তবায়ন করা সম্পূর্ণ আপনার উপর নির্ভর করবে। CAN উচ্চ শব্দ পরিবেশের জন্য ডিজাইন করা হয়েছিল, এটি বেশিরভাগ স্বয়ংচালিত এবং উত্পাদন শিল্পে ব্যবহৃত হয়। এর প্রোটোকলটি একটি বরং জটিল বার্তা পাসিং সিস্টেম এবং এতে খুব বেশি ওভারহেড রয়েছে (কম প্রকৃত ডেটা হার) তবে উচ্চ ডেটা অখণ্ডতা রয়েছে।
চিহ্নিত করুন

10

বেশ কয়েকটি ফুট সমস্যাযুক্ত হওয়া উচিত নয়, আপনি যদি পারেন তবে কেবল বাঁকা তারগুলি ব্যবহার করুন। এসপিআই I2C এর চেয়ে বেশি পরিমাণে বাফার করা সহজ (যদি আপনার প্রয়োজন হয়) যেহেতু এসপিআই সিগন্যালগুলি সমস্ত একমুখী হয়, তবে আই 2 সি এর সংকেতগুলি ভাগ করা লাইনে রয়েছে।

এভিআর মাইক্রোকন্ট্রোলাররা কি আই 2 সি এবং এসপিআই স্লেভ মোডের পাশাপাশি মাস্টার মোডগুলি পরিচালনা করতে পারে? (আপনার উভয়ের প্রয়োজন হবে)


2
পাকানো তারে ?? আই 2 সি ডেটা এবং ঘড়ির লাইনে কখনও মোচড় নেই! এসপিআইয়ের সাথে এটি সম্ভবত কোনও সমস্যার কম, তবে আমি কখনই সিগন্যাল লাইনগুলিকে মোচড় করব না যদি না এটি ভারসাম্যযুক্ত জুটি হয়, তবে ক্ষেত্রে মোচড় দেওয়া খুব ভাল ধারণা।
ওয়াউটার ভ্যান ওইজেন

কখনও না বল না; আমি ডেটা + ঘড়ির মধ্যে যে কোনও দিন ক্ষুদ্র শক্তি ইলেকট্রনিক্সগুলিতে (মোচড়ানোর কারণে নয়) পরিবর্তে ছোট ঘন ক্যাপাসিটিভ কাপলিং (মুচড়ানোর কারণে) নিতে পারি
জেসন এস

4
দুঃখিত, আমি অবশ্যই স্পষ্টভাবে একমত। 1 রাজ্যে লাইনগুলির পরিবর্তে উচ্চ প্রতিবন্ধকতা রয়েছে। এটি সম্পন্ন হয়েছে দেখেছি, এটি ব্যর্থ হয়েছে। সেরা বিকল্প হ'ল আই 2 সি লাইনের উভয় পক্ষের মধ্যে নিম্ন-বর্তমান গ্রাউন্ড লাইনগুলি বা আরও ভাল।
ওয়াউটার ভ্যান ওইজেন

10

I2C এর জন্য দীর্ঘ দূরত্বের জন্য আপনি কিছু "I2C বাস পুনরাবৃত্তিকারী" সমাধান খুঁজতে চাইতে পারেন। মনে রাখবেন যে আই 2 সি বা এসপিআই যোগাযোগের জন্য আপনি যে কোনও সর্বাধিক দূরত্ব খুঁজে পেতে পারেন সেটি বেশিরভাগ বাসের দূরত্বকে বোঝায় এবং একটি বাসের দুটি নোডের মধ্যে দূরত্ব নয়।

এই ধরণের সমস্যার জন্য আপনি আরএস ৪৮৫ খতিয়ে দেখতে চাইতে পারেন। এটি একটি সিরিয়াল বাস প্রোটোকল যা ডিফারেনশিয়াল লাইনের মাধ্যমে যোগাযোগ করে, সুতরাং বাঁকা তারগুলি ব্যবহার করার সময়, শব্দ করার সম্ভাবনা হ্রাস পায়। খুব দীর্ঘ দূরত্বে এই পথে পৌঁছানো যায়। খারাপ দিকটি হ'ল আপনার সার্কিটে আপনাকে অতিরিক্ত আরএস ৪85৫ এনকোডার আইসি (কোনও ম্যাক্স ৪4৫ এর মতো, খুব ব্যয়বহুল নয়) লাগবে।


আরএস ৪৮৫ অবশ্যই এই জাতীয় জিনিসটির জন্য যাওয়ার ভাল উপায়।
স্কট মারফি

মনে রাখবেন যে আরএস 4485 এর আরএস 232 এর চেয়ে পৃথক দুটি দিক রয়েছে যা কিছুটা স্বতন্ত্র: শারীরিক ডিফারেনশিয়াল লজিক স্তর এবং মাল্টমাস্টার দিক। আপনি এইগুলি বেছে নিতে পারেন + চয়ন করতে পারেন, আমরা ইউআরটি (আরএস 232) এর সাথে এলভিডিএস এবং আরএস ৪4৫ অনুবাদক উভয়ই পয়েন্ট-টু-পয়েন্ট ডাব্লু / ও আরএস ৪85৫ এর মাল্ট্রড্রপ অংশে পেতে ব্যবহার করেছি।
জেসন এস

2
বিটিডাব্লু আরএস ৪৮৫ কোনও প্রোটোকল নয়! এটি কেবল দৈহিক স্তরকে সংজ্ঞায়িত করে। এটি বলার পরে, আপনি স্পষ্টতই আরএস ৪৮৫ এর অধীনে এসপিআই ব্যবহার করতে পারেন !!! প্রয়োজনে যোগাযোগগুলি এসপিআই মোডে রাখার একটি ঝরঝরে সমাধান হবে (আমি এটি ধরে নিচ্ছি, এটি কোনও দূরবর্তী এডিসি বা অনুরূপ সংযুক্ত থাকতে পারে)। আরএস
৪85৫ এর

8

আই 2 সি এর চেয়ে বেশি এসপিআইয়ের উল্লেখ না করার একটি সুবিধা হ'ল সমস্ত এসপিআই তারগুলি একমুখী এবং সর্বদা উচ্চ বা নিম্নচালিত হয়। এটি আই 2 সি এর চেয়ে যত দ্রুত সম্ভব যোগাযোগের সুযোগ দেয়, শব্দের প্রতি সংবেদনশীলতা হ্রাস করে এবং সরল গেটগুলি পুনরাবৃত্তকারী হিসাবে ব্যবহার করার অনুমতি দেয়। আর একটি দরকারী বিকল্প হ'ল সহজ অ্যাসিঙ্ক যোগাযোগ (প্রতিটি দিকের একটি তারের)। অ্যাসিঙ্ক যোগাযোগের জন্য আমি যে একমাত্র ক্ষতি দেখতে পাচ্ছি তা হ'ল এটির উভয় পক্ষকে সাধারণত "জাগ্রত" হওয়া দরকার, স্থিতিশীল ঘড়ি সহ, ডেটা আদান-প্রদানের জন্য।

নিজস্ব প্রকল্পের জন্য, আমি 3-তারের সামান্য-সংশোধিত এসপিআই প্রোটোকল ব্যবহার করেছি এবং ফলাফল সন্তোষজনক পেয়েছি। আমি 10 মিম্বিপিএস এবং 2.5 মিম্পে অন্য ডেটাতে অসুবিধা ছাড়াই ডিসপ্লে বিটম্যাপ ডেটা (যেখানে মাঝেমধ্যে ডেটা দুর্নীতি কোনও বড় বিষয় হবে না) প্রেরণ করি।


এটি খুব পুরানো উত্তর, তবে আপনি কী পরিবর্তন করবেন যে আপনি আপনার পরিবর্তিত এসপিআই প্রোটোকলটি পাঠাচ্ছেন? (এটিই প্রশ্নের মূল বিষয় ...)
ড্যানিয়েল গ্রিসকম

@ ড্যানিয়েলগ্রিসকোম: প্রায় 3 ফুট সাধারণত-না-ভয়ঙ্কর-চিত্তাকর্ষক ক্যাবলিংয়ের ওপরে, তবে কখনও কখনও দীর্ঘ হয়।
সুপারক্যাট

6

আই 2 সি এবং এসপিআই উভয়ই স্বল্প-দূরত্বের হালগুলির জন্য (কয়েক ইঞ্চি) জন্য ডিজাইন করা হয়েছে, উভয়ই লম্বা দুলগুলিতে যথাযথ কেবল এবং সামগ্রিকভাবে বাসের ক্যাপাসিটির দিকে মনোযোগ দিয়ে ব্যবহার করা যেতে পারে।

যদিও এসপিআইয়ের সাথে আমার সামান্য অভিজ্ঞতা রয়েছে, আপনার পল-আপ প্রতিরোধকের জন্য সর্বদা আপনার যথাযথ আকারটি গণনা করা দরকার বলে I2C মারাত্মকভাবে কঠিন নয়। অতিরিক্তভাবে, উত্সর্গীকৃত, এবং সস্তা আই 2 সি বাফারগুলি ব্যবহার করা বেশ সহজ। তবে, আপনার নেটওয়ার্কের জন্য আপনাকে এখনও সঠিকভাবে আকারের পুল-আপ রেজিস্টার ব্যবহার করতে হবে।

আমি 8 ফুট দূরত্বে দুটি এভিআর এর মধ্যে নেটওয়ার্কে I2C ব্যবহার করেছি, কেবল পুল-আপ প্রতিরোধক এবং উচ্চমানের, ভাল-.ালিত, বাঁকানো কেবল ব্যবহার করে।


মাল্টিকন্ডাক্টর তারগুলি সহ আপনাকে ডাব্লু / আই 2 সি দেখতে হবে, ক্যাপাসিটেন্সটি বাসটিকে উল্লেখযোগ্যভাবে ধীর করে দিতে পারে।
জেসন এস

6

যেমনটি অনেকে পরামর্শ দিয়েছেন, স্বল্প দূরত্বের জন্য আই 2 সি এবং এসপিআই সবচেয়ে ভাল ব্যবহৃত হয়। যদিও এই ইন্টারফেসগুলির সাহায্যে কোনও সমাধান কার্যকর করা সম্ভব হতে পারে, আমি আপনাকে চিত্তে সুপারিশ করব যে আপনি আলাদা, "আরও বেশি স্ট্যান্ডার্ড" সমাধানের সন্ধান করুন (যেমন ইথারনেট, আরএস ৪S৫, ক্যান, ইত্যাদি)। - বিশেষত যদি আপনি মাইক্রোকন্ট্রোলারগুলির মধ্যে 6 ফুটের দূরত্বে পৌঁছানোর জন্য কেবলগুলি ব্যবহার করার পরিকল্পনা করছেন।


6

কেবলমাত্র একটি এফওয়াইআই, ওয়্যারলেস নিনটেন্ডো ওয়াই রিমোট এবং এর নানচাক সহচর মধ্যে ইন্টারফেসটি প্রায় 3 ফুট দীর্ঘ তারের উপর আই 2 সি ব্যবহার করে। এছাড়াও 3-ফুটের এক্সটেনশন কেবলগুলি রয়েছে যা মোট দৈর্ঘ্য প্রায় 6 ফুট পর্যন্ত প্রসারিত করে। আপনার সেটআপের মতো হুবহু নয় (কেবলমাত্র দুটি ডিভাইস একসাথে সংযুক্ত), তবে এটি বহুল ব্যবহৃত-ব্যবহৃত গ্রাহক পণ্যের একটি কেবল দ্বারা I2C এর উদাহরণ।


4

আমি I2C- তে যোগাযোগ করে একটি তারকা নেটওয়ার্কে প্রায় 80 টি এভিআর-ভিত্তিক নোড জড়িত একটি প্রকল্পে কাজ করেছি। এটি মোট জগাখিচুড়ি ছিল এবং শেষ পর্যন্ত কাজ করে না। সমস্ত নোডে আপডেট পেতে কয়েক সেকেন্ড সময় লেগেছিল এবং একটি ত্রুটিযুক্ত সংযোগ পুরো নেটওয়ার্কটি বন্ধ করে দেবে। সর্বশেষে আমি সেই লোকটির সাথে কথা বললাম যিনি নোডগুলি তৈরি করেছিলেন, তিনি বলেছিলেন যে তিনি এই জাতীয় প্রকল্পগুলির জন্য আই 2 সি ব্যবহার বন্ধ করেছেন। দুর্ভাগ্যক্রমে আমি জানি না কেন বিশেষত আই 2 সি এখানে অপর্যাপ্ত ছিল।


1
আই 2 সি এসপিআই এর চেয়ে অনেক ধীর গতিতে ... এটি সংঘর্ষের ক্ষেত্রে আপনার প্রকল্পটি সালিসি পরিচালনা করতে পারে এমন ক্ষেত্রেও হতে পারে ... বা ক্যাপাসিট্যান্সগুলি কেবলমাত্র একটি ধীর ঘড়ির হার ব্যবহার করতে হয়েছিল এমন সমস্ত নোডের সাথে যথেষ্ট পরিমাণে থাকতে পারে।
জেসন এস

2

এটি স্বল্প দূরত্বের সাথে সহজ হওয়া উচিত। আপনি যা করতে পারলেন তা ক্যাপাসিট্যান্স এবং লাইন প্রতিবন্ধকতার দিক থেকে সেই দূরত্বগুলি এবং আপনার ক্যাবলিংয়ের অর্থ কী তা বোঝা এবং সেগুলির মাধ্যমে আপনি কী ধরণের ফ্রিকোয়েন্সিগুলি (উত্থান / পতনের সময়) পেতে পারেন তা দেখুন। নির্দিষ্ট বিন্দুর বাইরে, এগুলি ট্রান্সমিশন লাইন হিসাবে বিবেচনা করা ভাল। যদি এটি খারাপ দেখাচ্ছে, আপনি সত্যিই EIA-232 বা 422 এর মতো অন্য কোনও সিরিয়াল লাইনে স্যুইচ করতে পারেন That এর অর্থ উভয় প্রান্তে অতিরিক্ত চিপ হতে পারে তবে প্রসারিত হবে। আপনার যদি সত্যিই দ্রুত এবং বেশিদূর যেতে হয় তবে আপনার আরও কিছু প্রয়োজন হবে (ইথারনেট, রেডিও বা লেজার গণনা করবেন না)।


2

আপনি যদি ঘড়ির গতি নিয়ন্ত্রণ করতে পারেন এবং আপনার উচ্চ-গতির ডেটা স্থানান্তরের প্রয়োজন না হয়, আপনার ঘড়ির গতি কমিয়ে দেওয়ার চেষ্টা করা উচিত। এটি গোলমাল করতে কম সংবেদনশীল করে তুলবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.