পিসিবিতে এনকোডিং সংস্করণ বা কনফিগারেশন


10

আমাকে বোর্ড / বৈদ্যুতিন ভিত্তিতে সংস্করণ বা কনফিগারেশন সম্পর্কিত তথ্য এনকোড করা দরকার, যাতে ফার্মওয়্যার সনাক্ত করতে পারে যে বোর্ডের বিন্যাসটি ব্যবহৃত হয়।

কোন বিকল্পগুলি সম্ভব এবং তাদের প্রো / কনস কি?


1
কিছুক্ষণ আগে এই প্রশ্নটিও রয়েছে, উত্তরগুলি ইতিমধ্যে প্রদত্ত (যা ভাল!) এর
মতই রয়েছে

উত্তর:


14

আমার মাথার উপরের দিক থেকে দুটি সহজ সমাধান মাথায় আসে।

  1. আছে এন লাইন আপনার মাইক্রোকন্ট্রোলার এর GPIO সংযুক্ত। আপনার বোর্ড সংস্করণের উপর নির্ভর করে এগুলি উচ্চ বা নিম্নটি ​​বেঁধে রাখুন। এটি আপনাকে বোর্ড কনফিগারেশন বিকল্প দেবে। এটি আপনার মাইক্রোকন্ট্রোলারে এন পিন ব্যবহার করবে । স্থিতিশীল বর্তমান অঙ্ক তুচ্ছ হবে।2এন
  2. মাইক্রোকন্ট্রোলারের এডিসিতে একটি ইনপুট রাখুন এবং বোর্ড কনফিগারেশনের উপর নির্ভর করে বিভিন্ন মান সহ একটি ভোল্টেজ ডিভাইডার ব্যবহার করুন। এটি কেবলমাত্র একটি একক মাইক্রোকন্ট্রোলার পিন ব্যবহার করবে। এটির অসুবিধা রয়েছে যে বিভাজকের মাধ্যমে স্থির বর্তমান ড্র হবে। এটি বিওএম ত্রুটিগুলির ঝুঁকিতে পড়বে, তবে প্রথম পরামর্শটি বোর্ডকে শক্ত ওয়্যার করা হয়।

এই উভয় পরামর্শেরই দুর্বলতা রয়েছে যে শেষ ব্যবহারকারী সহজেই এগুলি পরিবর্তন করতে পারে, "লকড" বৈশিষ্ট্যগুলি খুলতে বলুন। এটি আপনার পক্ষে উদ্বেগের বিষয় না হলেও কিছু মনে রাখবেন।


1
[1] এবং [2] এর সংমিশ্রণও রয়েছে। আপনি এডিসির জন্য এক পিনের মাইক্রোকন্ট্রোলার ব্যবহার করতে পারেন তবে ভোল্টেজ বিভাজক গঠনে সমান্তরালে সংযুক্ত একই মানের উপাদান ব্যবহার করতে পারেন। সুতরাং উদাহরণস্বরূপ আপনার কাছে 10 কে / ফ্লোট (ভিসি তে টান), ভাসমান / 10 কে (জিএনডি টান), 10 কে / 10 কে (ভিসি / 2), 5 কে / 10 কে (ভিসিসির 2/3), 10 কে / গঠন করে চারটি 10 ​​কে প্রতিরোধক থাকতে পারে 5 কে (ভিসিসির 1/3)। সুতরাং সংক্ষেপে: বিওমের একটি লাইন, কেবল আলাদা পরিমাণ এবং একটি এডিসি ইনপুট প্রয়োজন। এটি দৃষ্টিশক্তি সাহায্য করে।
সক্রেটিস

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

1
জিপিআইও সংস্করণটিও বিওএম ত্রুটির ঝুঁকিতে রয়েছে, কারণ সাধারণত এটি শূন্য ওহম লিঙ্কগুলির সাথে কনফিগার করা থাকে। আপনি এটি স্কিম্যাটিক এবং লেআউটে করতে পারতেন তবে এটি আরও ব্যয়বহুল (লেআউটের সময় ব্যয় )।
গ্রাহাম

1
পুনরায় এডিসি, আমি বর্তমানে যে পণ্যগুলিতে কাজ করি সেগুলিতে আমরা এটি ব্যবহার করেছি। যদিও আপনাকে রেজিস্টার সহনশীলতার বিষয়ে সতর্ক থাকতে হবে। যদি আপনার দুটি প্রতিরোধক 1% সহনশীলতা হয় তবে ভোল্টেজ 2% পর্যন্ত বাড়তে পারে, তাই আপনি সমাধান করতে পারেন 50 টি পদক্ষেপ steps বাস্তবে এটি অর্ধেক করা নিরাপদ। সুতরাং আপনার যদি আপনার এডিসিতে 1% প্রতিরোধক এবং 5V রেঞ্জ থাকে তবে আপনি চান 0.2 সংস্করণে সংস্করণগুলি প্রতিবেদন করা উচিত।
গ্রাহাম

9

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

আপনার যদি রান চলাকালীন সময়ে আইডি পরিবর্তন করতে সক্ষম হতে হয় তবে ট্রেসগুলির সাথে ইনপুটগুলি বেঁধে রাখার পরিবর্তে জাম্পার ব্যবহার করা ভাল ধারণা হবে।


আমি অ-স্বতন্ত্র সিলিকন সিরিয়াল নম্বর ভেরিয়েন্ট আইসির জন্য গুগল করছি, তবে এটি একটি স্মার্ট বিকল্প। বিশেষত যদি আপনি এটি একটি একক তারের IO প্রসারকের সাথে একত্রিত করেন।
জেরোইন 3

7

আমি ভাবতে পারি এমন কয়েকটি বিকল্প: -

এসএমডি প্যাডস / হে ওএইচএম প্রতিরোধকের লিঙ্কগুলি। আপনার প্রসেসরের পিন গণনা হ্রাস করতে হার্ডওয়্যার কনফিগারেশনের জন্য একটি বাইনারি সিস্টেম ব্যবহার করুন।

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

আপনার যদি বোর্ডে EEPROM থাকে তবে আপনার পক্ষে মেমরিতে কনফিগারেশন এম্বেড করা সম্ভব।

আপনি কি নিজেকে # ডিফাইন বা অনুরূপ ব্যবহার করে ফার্মওয়্যারটি পরিবর্তন করতে পারবেন? তারপরে সংস্করণ সনাক্তকরণের জন্য আপনার বোর্ড স্পেস এবং অতিরিক্ত পিনের দরকার নেই।


1

একটি তারের EEPROM একটি দুর্দান্ত সমাধান কারণ তাদের কেবল একটি GPIO প্রয়োজন তবে তারা প্রচুর পরিমাণে কনফিগারেশন তথ্য সংরক্ষণ করতে পারে। তারা বোর্ড পরীক্ষার সময় মাইক্রোকন্ট্রোলারকে সেই তথ্যটি লেখার মঞ্জুরি দেয় (যেমন ক্যালিব্রেশন ডেটা)। আরও পরিবর্তন রোধ করার জন্য অনেকেরই একটি রাইটিং-সুরক্ষার পিন বা এক-সময়ের প্রোগ্রামযোগ্য বিট থাকে।

অন্যান্য সুবিধার মধ্যে দরকারী বৈশিষ্ট্য যেমন গ্যারান্টিযুক্ত অনন্য সিরিয়াল নম্বর অন্তর্ভুক্ত।

এই বিকল্পটি অনেকগুলি সিস্টেমে যেমন অ্যাসিলোস্কোপ প্রোব এবং ব্যাটারিগুলিতে ব্যবহৃত হয় কেবলমাত্র একটি একক ডেটা লাইনের প্রয়োজনের কারণে। EEPROM এমনকি ডেটা লাইন থেকে চালিত করা যেতে পারে।

মূল অসুবিধা হ'ল ব্যয়। ব্যয় বেশি নয়, তবে ভর উত্পাদিত পণ্যগুলিতে কয়েক সেন্ট বিষয়টি বিবেচনা করতে পারে।

এই জাতীয় EEPROM এর উদাহরণ হ'ল DS2431, যা 1 কেবি সঞ্চয় করে।

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