এমসিপি 2551 কি ইউআরটি-টু-ক্যান রূপান্তরকারী?


12

আমি আমার কম্পিউটার ব্যবহার করে 250 কেবিট / সেকেন্ডের জন্য একটি সিএন বাস স্নিফার বানাতে চাই। কিছু গবেষণার পরে আমি দেখতে পেয়েছি যে এমসিপি 2551 হ'ল এক ধরণের ভোল্টেজ স্তরের নিয়ন্ত্রক সিএএন এর শারীরিক স্তরের জন্য। এটি মাথায় রেখে আমি ভাবছি যে এই সেটআপটি কাজ করতে পারে। আমি কেবল কথোপকথনের অংশ না হয়ে স্বয়ংক্রিয় পরীক্ষার উদ্দেশ্যে বিনিময় বার্তাগুলি রেকর্ড করতে চাই:

পিসি <-> ইউএসবি-ইউআরটি (সম্ভবত সিপি 2102, কারণ আমার কাছে ইতিমধ্যে একটি রয়েছে) <-> এমসিপি 2551 <-> বাসে যেতে পারে

যদি তা না হয় তবে কী ধরণের সংকেতগুলি আমাকে বাসের অংশ হতে এমসিপি 2551 এ প্রবেশ করতে হবে?

উত্তর:


14

আপনি এটি করতে পারেন, তবে আপনি আপনার সিএন বাসে যা পাবেন তা ইউআরটি হতে পারে ক্যান ভোল্টেজের স্তর ব্যবহার করে। আপনি যদি নিজের বাসে CAN ডিভাইসগুলির সাথে যোগাযোগ করতে চান তবে আপনাকে MCP2551 কে CAN প্রোটোকল বার্তা সরবরাহ করতে হবে। শোনার জন্য একই: ক্যান ম্যাসেজগুলি ইউআরটি ফর্ম্যাট থেকে এতটাই আলাদা যে ইউআরটি তাদের সাথে কী করবে তা জানতে পারে না। আপনার সর্বদা কমপক্ষে ফ্রেম ত্রুটি থাকবে এবং আপনি বার্তার সামগ্রীটিতে পাবেন না।
এই চিত্রটি একটি ক্যান বার্তার কাঠামো দেখায়:

এখানে চিত্র বর্ণনা লিখুন

চারপাশে প্রচুর মাইক্রোকন্ট্রোলার রয়েছে যার একটি ইন্টারফেস থাকতে পারে, ট্রান্সসিভারটি স্যান করে। এটিগুলির জন্যই এমসিপি 2551 ডিজাইন করা হয়েছিল। অতীতে আমরা এনএক্সপি এলপিসি 2294 ব্যবহার করেছি, যার 4 টি ক্যান ইন্টারফেস রয়েছে। তাদের প্রত্যেকেরই সিএন বাসে কানেক্ট করার জন্য একটি এমসিপি 2551 দরকার। এনএক্সপি থেকে আসা সাম্প্রতিক কন্ট্রোলারগুলির মধ্যে এলপিসি 1800 পরিবার অন্তর্ভুক্ত রয়েছে , যার মধ্যে সমস্ত সদস্যই ক্যান সমর্থন করে।


আমি ইউআআআরটি শুরু / স্টপ বিট এবং সম্ভবত কিছু "স্টার্ট / টপ বিট" পরিস্থিতি সম্পর্কে ভুলে গিয়েছি। আমি সম্ভবত যে MCP2551 করার প্রেরণ শেষ হবে একটি সমাধান পিসি FTDI একটি GPIO হিসেবে ব্যবহার উপর একটি ক্যান স্ট্যাক ব্যবহার খুঁজতে চেষ্টা করব
rnunes

3
@ আরুনস - এটি কেবল শুরু / স্টপ বিট নয়। এগুলি ব্যতীত একটি ইউআরটি সংক্রমণ কেবল একটি 8-বিট বাইট। ঠিকানা, অগ্রাধিকার এবং ত্রুটি পরীক্ষা করার সাথে একটি ক্যান বার্তা আরও জটিল। আপনি দুটি তুলনা করতে পারবেন না।
স্টিভেনভ

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

স্ট্যাকটি সমস্ত কিছু পরিচালনা করার জন্য দায়ী (যেমন বিট স্টাফিং) এবং একে একে এমসিপি 2551-এ প্রসারিত করে প্রেরণ করুন। আমার এখনই একমাত্র সমস্যা হ'ল এটি এফটিডিআই লেটেন্সি, কারণ আমার এটি দ্রুত এবং নিয়মিত হওয়া দরকার তবে আমি এটি পরে পরিমাপ করব।
rnunes

1
@ আরনুনস - তবে সিপি 2102 (সিলাবগুলি, এফটিডিআই নয়) এর বাইরে যা আসে তা বাইট নয়, বিটস। আপনি এক বিট পরে এটি থামাতে পারবেন না। আপনার মাইক্রোকন্ট্রোলারটিকে ইউএসবি'র সাথে ইন্টারফেস করতে আপনার সিপি 2102 এবং একটি মাইক্রোকন্ট্রোলার যা আপনার এমপিসি 2551 সক্ষম করতে পারেন সমর্থন করতে পারে। বা এমন একটি মাইক্রোকন্ট্রোলার যা USB ডিভাইস হিসাবেও কাজ করতে পারে। তাহলে আপনার সিপি 2102 লাগবে না।
স্টিভেনভ

7

আমি এমপিএসএসই মোডে (ইউআরটি ভুলে), এমসিপি 2515 এবং এমসিপি 2551 এফটি 2232 এইচ ব্যবহার করে একটি ইউএসবি / ক্যান ইন্টারফেস তৈরি করেছি। এমসিপি 2515 হ'ল মূল অংশটি এখানে আপনি অনুপস্থিত। এটি কি করে ভাল অধ্যয়ন করুন। এটি প্রকৃত ক্যান কন্ট্রোলার যা ফ্রেমিং, ACKs, চেকসাম জেনারেশন এবং যাচাইকরণ, বার্তা ফিল্টারিং এবং অন্যান্য স্বল্প স্পষ্ট জিনিসগুলি যা স্ট্যান্ডার্ডের দ্বারা একটি ক্যান নোডের জন্য প্রয়োজনীয়। আপনি যদি একটি স্নিফার চান, এমসিপি 2515 এর একটি শ্রবণ মাত্র রয়েছে যা বাসে কোনও সংক্রমণের গ্যারান্টি দেয়। এমসিপি 2551 হ'ল মূক শারীরিক স্তর অ্যাডাপ্টার, আরএস -232 এর জন্য এমএএক্স 232 বা আরএস -445 এর জন্য ADM485 এর মতো।

এখন এই আর্কিটেকচারটি একেবারে নিখুঁত নয় কারণ এফটিডিআই এমপিএসএসই প্রযুক্তির মূলত বিঘ্নগুলির জন্য কোনও সমর্থন নেই (আমি বিশ্বাস করি এটি কেবল পর্দার পিছনে বাল্ক ইউএসবি স্থানান্তর ব্যবহার করে), তাই নতুন বার্তাগুলির জন্য আমাকে প্রায়শই নিয়ামকটি পোল করতে হয়। এটি ইউএসবি হোস্ট কন্ট্রোলারে প্রচুর পরিমাণে লোড রাখে তবে এখনও কোনও বার্তা নষ্ট হওয়ার গ্যারান্টি দেয় না (এমসিপি 2515 আপনি "ওভারফ্লো মোড" সক্ষম করলে অভ্যন্তরীণভাবে 2 টি প্রাপ্ত বার্তাগুলি সংরক্ষণ করতে পারে, আপনি যদি না করেন তবে কেবল একটি) one এর চেয়ে আরও ভাল সমাধানটি হ'ল এসটিএম 32 এফ 105 (103 একই সাথে ইউএসবি এবং ক্যান ব্যবহার করতে পারে না) এর মতো বিল্টিন সিএন এবং ইউএসবি পেরিফেরিয়ালগুলি সহ একটি উপযুক্ত মাইক্রোকন্ট্রোলার হবে। ঠিক এই ধারণার কার্যকরী বাস্তবায়নের জন্য এই প্রকল্পটি দেখুন । স্টিভেনের পরামর্শ অনুসারে এলপিসি 18 xxx খুব কার্যকর হবে তবে এলপিসি 17xx সম্ভবত সস্তার এবং সন্ধান করা সহজ।


এই ক্ষেত্রে, পোলিং এটি কোনও সমস্যা নয় তবে হ্যাঁ, আদর্শ সমাধানটি ক্যান কন্ট্রোলারের সাথে এমসিইউ ব্যবহার করতে পারে যা ম্যান বার্তা বাফার হিসাবে কাজ করতে পারে। এখন থেকে আমি আপনার লেখা প্রথম সেটআপটি ব্যবহার করার চেষ্টা করব। ধন্যবাদ
রনিউনস

+1 ইউসি ছাড়াই সরাসরি ক্যান কন্ট্রোলারের সাথে কথা বলার জন্য এফটিডিডিআই চিপ ব্যবহার করা ঝরঝরে। স্পষ্টতই FTDI FT221X বেরিয়ে এসেছিল, যা এসপিআই ব্রিজের জন্য উত্সর্গীকৃত ইউএসবি। (ইউএসবি থেকে আই 2 সি-তেও আলাদা মডেল রয়েছে))
নিক আলেক্সিভ

2

যেহেতু আপনি প্রশ্নটি বুঝতে পেরে আপনি কোনও বিদ্যমান সিএন বাসে শুনতে চান, আপনি সত্যিই কোনও ইউআরটি ব্যবহার করতে পারবেন না। ক্যান এবং ইউআআআরটি সিগানেলিং সম্পূর্ণ আলাদা।

আপনি তাত্ত্বিকভাবে এমসিপি 2551 থেকে বেরিয়ে আসতে পারে এবং ক্যান ট্র্যাফিকটি ডিকোড করতে পারে at এটি সহজ হবে না, তবে তাত্ত্বিকভাবে এটি সম্ভব। বিশেষায়িত ক্যান হার্ডওয়্যার ব্যতীত আপনাকে ক্যান বিট রেটের চেয়ে কয়েকগুণ দ্রুত নমুনা করতে হবে এবং পরে সফ্টওয়্যারটিতে সেই বিট স্ট্রিমটি ডিকোড করতে হবে। 250 কুইবিট / এস ক্যান ডিকোড করতে আপনার প্রায় 1 এমবিট / এস এ রেকর্ড করতে হবে।

একটি মাইক্রোকন্ট্রোলার ব্যবহার করা আরও সহজ হবে। পিআইসি 18F2580 এবং অন্যান্য অনুরূপ প্রসেসরের একটি ক্যান পেরিফেরাল অন্তর্নির্মিত রয়েছে hardware হার্ডওয়্যারটি সমস্ত বিট স্তরের ডিকোডিং করে এবং পুরো ক্যান ফ্রেমগুলি গ্রহণ করে। প্রসেসর তারপরে প্রাপ্ত প্যাকেজ প্রাপ্ত সিএন ফ্রেমগুলি তার ইউআরটির মাধ্যমে আপনার পিসিতে প্রেরণ করতে পারে।

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