এটি কোন হার্ডওয়্যার সংস্করণটি চলছে তা নির্ধারণ করার জন্য এমসিইউর পক্ষে একটি ভাল উপায় কী?


13

আমি একটি নতুন পণ্য নকশায় কাজ করছি এবং সম্ভবত পণ্যটির আয়ুতে ছোট বা বড় হার্ডওয়্যার পরিবর্তন / সংশোধন হবে। ফিল্ডে ভবিষ্যতে ফার্মওয়্যার আপডেটের জন্য আমার হার্ডওয়্যার রিভিশনটি নির্ধারণ করার জন্য একটি উপায় প্রয়োজন। একটি ভাল কৌশল কি?

আমি বর্তমানে বাহ্যিক প্রতিরোধকের সাথে দুটি স্পেশাল পিন উপরে / নীচে টানছি এবং প্যাটার্নটি যাচাই করছি। এটি কেবলমাত্র 4 টি হার্ডওয়ার সংশোধন করার অনুমতি দেয়, তবে এটি ব্যবহারিক উদ্দেশ্যে যথেষ্ট হতে পারে। ভবিষ্যতে হার্ডওয়্যার রিভিশনটিতে আমার যদি সেই দুটি বা দুটি পিনের দরকার হয় তবে এটি সমস্যা হয়ে উঠতে পারে।

আমার ধারণা, আরও একটি অর্থনৈতিক উপায়ে এডিসি পিনের সাথে একটি রেজিস্টার ডিভাইডার সংযুক্ত করা সম্ভব। প্রতিটি হার্ডওয়্যার পুনর্বিবেচনার বিভিন্ন মান প্রতিরোধক থাকতে পারে। দুর্ভাগ্যক্রমে আমার আমার বর্তমান ডিজাইনে কোনও অতিরিক্ত এডিসি নেই।

আমি অনুমান করি যে অন্য কোনও উপায় হ'ল কোনও EEPROM বা হার্ডওয়্যার সংস্করণ নম্বরটি এনকোড করা যাবে উত্পাদনের সময়? (এই মুহুর্তে আমাদের সেই সুবিধা নেই))

আমার ধারণা আমি নমনীয় এবং শক্তিশালী পদ্ধতির জন্য পরামর্শগুলি সন্ধান করছি।

[Edit]

করছেন। @ ট্রাভ 1 এস থেকে পরামর্শ: আমার কাছে প্রতি সিপি ঠিকানা নেই তবে আই 2 সি বাসে আমার একটি 24 এলসিএক্সএক্সএক্সোআম রয়েছে। স্লেভ ঠিকানার কম 3 বিট হার্ডওয়্যারড। আমার ধারণা আমি প্রারম্ভের সময় ঠিকানা বিটগুলি পরিবর্তন করতে এবং EEPROM সন্ধান করতে পারি।

উত্তর:


7

এটি এমন একটি বিষয় যা আমি চলমান ভিত্তিতে মোকাবিলা করি। আমাদের কাছে প্রায় 10 বছর ধরে বিভিন্ন সাবসিস্টেমের বিভিন্ন সংস্করণ সহ এমন জটিল হার্ডওয়্যার রয়েছে the কয়েকটি সাবসিস্টিমে একটি 2-বিট কোড রয়েছে তবে আপনি যেমনটি উল্লেখ করেছেন যে এটি সর্বদা পর্যাপ্ত নয়।

EEPROM পরামর্শটি একটি ভাল, তবে এটির জন্য EEPROM প্রোগ্রামিং করা এবং সঠিক সংস্করণ সহ বোর্ডকে পপুলেশন করা দরকার।

আমি যা প্রস্তাব করব তা হ'ল একটি 8 বিট সমান্তরাল ইন সিরিয়াল আউট শিফট রেজিস্টার যেমন 74HC166। সংস্করণ নম্বরটি পিসি বোর্ড নিজেই ইনপুটগুলি HIGH বা LOW বেঁধে ইনপুটটিতে সেট করতে পারে এবং তারপরে আপনার কেবলমাত্র একটি এমসিইউ থেকে শিফট রেজিস্টার লোড করতে এবং পড়তে আপনাকে কেবল 3 পিন প্রয়োজন।


আমি পছন্দ করি যে এইচডাব্লু ভার্সনটি বোর্ডে হার্ডওয়্যারড, সেভাবে আমার কেবল একটি ফার্মওয়্যার সংস্করণ প্রয়োজন এবং আমার প্রিপগ্রোমেড EEPROM পরিচালনা করতে হবে না। দেখে মনে হচ্ছে শিফট রেজিস্টার প্রায় 0.1 মার্কিন ডলারে পাওয়া যাবে এবং এটি ঠিক আছে।
শে

2
একই লাইনের পাশাপাশি, আপনি আপনার আই 2 সি বাস থেকে ঝুলন্ত আই 2 সি পোর্ট এক্সপেন্ডারও ব্যবহার করতে পারেন। যদিও এটি কিছুটা বেশি ব্যয়বহুল হতে পারে।
অ্যালেক্স.ফরঞ্চিচ

8

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

EEPROM কোডটি একটি ভাল ধারণা, কারণ এটি প্রচুর বিভিন্ন বোর্ড কোডের জন্য মঞ্জুরি দেয় , তবে এটি একটি পৃথক ডিভাইসে মাইক্রোকন্ট্রোলারের বাইরে নিয়ে যায়। EEPROM বড় ক্ষমতার জন্য ব্যয়বহুল (ফ্ল্যাশের তুলনায় বিট প্রতি অনেক বেশি ব্যয়বহুল), তবে কয়েকটি বাইটের জন্য আপনি এগুলি সস্তা খুঁজে পেতে পারেন। এই একটি 100 এর দশকে কেবল 16 সেন্ট এবং কেবলমাত্র 1 আই / ও লাইন দরকার।

ত্রুটির সম্ভাবনা হ্রাস করার একটি উপায় হ'ল প্রতিটি বোর্ড সংস্করণের জন্য আলাদা প্যাকেজ থাকা। সুতরাং এসইটি -23-তে একটি সংস্করণ নম্বর 1, এমএসওপি-র পরবর্তী সংস্করণ 2 সহ প্রোগ্রাম করা একটি ইপ্রোম রয়েছে b


ধন্যবাদ. এটি একটি মূর্খ প্রশ্ন হতে পারে, তবে বোর্ডে রাখার আগে আমি কীভাবে ইইপিআরএম প্রোগ্রামের একটি ব্যাচ পেতে পারি? EEPROMS টেপটি সরিয়ে ফেলার, প্রোগ্রাম করার, সেগুলি টেপের পিছনে রাখার এবং টেপটি পিসিবি এসেম্বলবারের কাছে প্রেরণ করার মতো সুবিধা আমার নেই।
20:58

@ মর্টেন - আপনার সরবরাহকারী আপনার পক্ষে এটি করতে পারেন। আপনি তাদের আপনার ফাইলটি প্রেরণ করুন (যেটি একটি বাইট :-)) এবং আপনি সেই অংশগুলি প্রোগ্রাম করে ফিরে পেয়েছেন, যা আপনার পছন্দের চিহ্ন হিসাবে চিহ্নিত করা হয়েছে। ব্যচ ব্যাচের আকারের উপর নির্ভর করবে; আপনার প্রতি অংশের জন্য একটি নির্দিষ্ট খরচ হবে। আমরা একবার গণনা করেছিলাম যে প্রোগ্রামিংটি নিজেরাই করা সস্তা হবে না তবে হাজার হাজারের জন্য এটির পক্ষে মূল্য ছিল না।
স্টিভেনভ

4

একটি মাত্র বিকল্প যা কেবলমাত্র দুটি ডিজিটাল পিন ব্যবহার করবে তা হ'ল:

বর্তনী চিত্র

আর 1 এবং সি 1 মানগুলি পরিবর্তন করে আপনার ক্যাপাসিটারের জন্য আলাদা আলাদা চার্জ সময় থাকতে পারে যা আপনি হার্ডওয়্যার সংস্করণ নির্ধারণ করতে মাপতে পারেন।


আহা, বেশ চতুর সমাধান :-)
12:48 এ morten

2

যদি অ্যাড্রেস বাসে কোনও অব্যবহৃত জায়গা থাকে তবে আপনি বাসে একটি রম রেজিস্ট্রার রাখতে পারেন যা এমসিইউ দ্বারা পড়তে পারে। রেজিস্টারটিতে হার্ডওয়্যারটির সংস্করণ নম্বর থাকবে। এমসিইউ সেই ঠিকানা থেকে পড়লে রেজিস্টারটি ডাটা বাসে তার মান লিখত। বোর্ডটিতে রেজিস্টারটি হার্ডওয়্যারড হতে পারে বা আপনি যদি নিজের খালি হাতে সংস্করণ নম্বরটি পরিবর্তন করতে সক্ষম হতে চান তবে আপনি এখন যেমন করছেন তেমন পিনগুলি বাঁধতে / ডাউন করতে পারেন।


সম্ভবত আমি নিজেই ইপ্রোমের ঠিকানা ব্যবহার করতে পারি ... প্রশ্নের সম্পাদনা দেখুন।
শোক করুন

ঠিক আছে. I2C বাস আছে তা জানতাম না। হয়তো আপনি কেবল একটি ক্ষুদ্র আই 2 সি ক্রীতদাস তৈরি করতে পারেন যা এমসিইউ এটি থেকে পড়ে যখন সংস্করণ নম্বরটি পড়ে।
travisbartley
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.