আমাদের হার্ডওয়্যার প্রোগ্রামারগুলির প্রয়োজন কেন?


22

আমি আমার এটিটিইনিকে প্রোগ্রাম করার জন্য একটি বোর্ডুইনো এবং একটি 30-সারি রুটির বোর্ড ব্যবহার করি। আমি আরডুইনোআইএসপি নামে একটি জটিল জটিল স্কেচ লোড করি ( আরডুইনো আইডিইতে এখন ডিফল্টরূপে অন্তর্ভুক্ত) এবং হঠাৎ আমার একটি ওয়ার্কিং প্রোগ্রামার রয়েছে। আতেল 30 থেকে 40 ডলারের মধ্যে একটি দুর্দান্ত প্রোগ্রামার বিক্রি করে এবং কম দামে তৈরি করার জন্য প্রচুর কিট রয়েছে।

আমি যখন আমার ওয়ার্কিং প্রোগ্রামার পেয়েছি তখন আমি খুব খুশি হয়েছিলাম এবং কিছুটা ঝলকানি তৈরি করেছি। যাইহোক, এখন আমার দরিদ্র বোর্ডুইনো প্রোগ্রামার ডিউটিতে আটকে আছে।

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

কেবল সিরিয়ালটি প্রেরণ করতে আমার কেন একটি হার্ডওয়্যার প্রোগ্রামার দরকার? আমার অর্থ, ধরুন আমি আইসি ব্যবহার না করে আমার আঙুল দিয়ে রিসেট বোতামটি ধরে রাখতে রাজি আছি। যা বাকি আছে তা হ'ল সিরিয়াল প্রেরণ এবং গ্রহণ করা, সুতরাং আমার কেবল তিনটি তারের জিএনডি, আরএক্সডি এবং টিএক্সডি দরকার need হেক, যদি আমার কাছে "ডিটিআর" লাইন থাকে বা যাই হোক না কেন, আপনি এমনকি সিরিয়াল কেবলটি দিয়ে রিসেট বোতামটি ধরে রাখতে পারেন।

কেন এই সব হার্ডওয়্যার সমাধান যে আছে এছাড়াও অভিনব সফ্টওয়্যার প্রয়োজন (AVRdude মত, বা AVR স্টুডিও, বা যাই হোক না কেন)?

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

আমি কেবলমাত্র একটি সফ্টওয়্যার সমাধান (ইউএসবি থেকে চিপ পর্যন্ত মডুলো হুকিং তারগুলি, এফটিডিডিআই চিপের মতো কিছু ব্যবহার করে তারগুলি নিচে যা যায় তা সরল করতে) বুঝতে পারি। অভিনব প্রোগ্রামিং সমস্ত প্রোটোকল কম্পিউটারে সফ্টওয়্যার দ্বারা পরিচালিত হবে, এবং হার্ডওয়্যার কিছু তারের হবে।

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

আমি নিশ্চিত যে এর কোনও যুক্তিসঙ্গত কারণ আছে (এটি আমি সফ্টওয়্যারটি লিখেছি বা ড্রাগ-এন-ড্রপ ইউএসবি প্রোগ্রামার উত্পাদন শুরু করেছি বলে পছন্দ করি না) তবে একজন আগন্তুক হিসাবে এটি কী তা আমার কোনও ধারণা নেই।


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

উত্তর:


18

আপনি ঠিক বলেছেন, এভিআর প্রোগ্রামিং করা বেশ সহজ। এটি কেবলমাত্র একটি কাস্টম প্রোটোকল এসপিআই এর উপরে প্রয়োগ করা হয়েছে, কম ভোল্টেজের সাথে চলছে running এসসিকে দরকার।

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

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


কোন ধারণা কেন এগুলি এত বেশি জটিল? এভিআর উপায় (নিম্ন ভোল্টেজ, মানক প্রোটোকল) এত একটি কাস্টম প্রোগ্রামার প্রয়োজন চেয়ে বেশি বিচক্ষণ বলে মনে হয় (একটি 8051/8052 প্রোগ্রামার প্রয়োজন সঙ্গে এই লোক মত - সাহায্যের চেয়েছিলেন, প্রতিনিধির উপলব্ধ! Electronics.stackexchange.com/questions/4104 )
কেভিন ভার্মির

2
পিআইসি প্রোগ্রামারদের সম্পর্কে সত্যিই বিশেষ বা ব্যয়বহুল কিছু নেই; অনেকগুলি ডিজাইন অনলাইনে উপলব্ধ এবং বেশিরভাগ নতুন পিআইসি কম ভোল্টেজ প্রোগ্রামযুক্ত হতে পারে।
akohlsmith

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

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

এসসিকে দাবি স্থির করা হয়েছে। আমি এই ধারণাটি পছন্দ করি যে কেবল এসপিআই প্রয়োজন, তবে যেহেতু কম্পিউটারগুলির একটি এসপিআই বন্দর নেই (এবং এফটিডিডিআই কেবলটি এর মধ্যে ইতিমধ্যে একটি 4 ডলার চিপ রয়েছে !!) আমরা পাশাপাশি একটি 2 মাইক্রোকন্ট্রোলারের উপর বিভক্ত হতে পারি। জেটিএগ আপলোড এবং ডিবাগ যুক্তিটি আমাকে সাধারণভাবে একটি উন্নয়ন বোর্ডের সুবিধাগুলিতে বিক্রি করে দিয়েছে এবং আমি মনে করি যে এন্ডোলিথের একটি ভাল বক্তব্য রয়েছে যে আমি আমার ২০ ডলার ব্যয় করি তা কেউই যত্ন করে না; প্রকৃত প্রকৌশলী (এবং তাদের নিয়োগকর্তারা) কীভাবে তাদের বাজেট ব্যয় করতে চলেছে তা নির্মাতারা যত্নশীল।
জ্যাক শ্মিড্ট

5

আমি প্রচুর গবেষণা করেছি এবং এভিআরগুলির সাথে খেলতে শুরু করার প্রস্তুতি নিচ্ছি, তবে আমি আসলে কখনই এটি ব্যবহার করি নি, তাই এটি ভুল হতে পারে তবে:

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


2
এভিআরআইএসপি এমকিআইআই [১] বা ইউএসবি টিনিআইএসপি [২] এর মতো লো-ভোল্টেজ প্রোগ্রামারগুলিকে আর্দুড বা অন্যান্য প্রোগ্রামারদের সাথে ফিউজ সেট করতে ব্যবহার করা যেতে পারে, তবে তারা এমন একটি এভিআর চিপ সংরক্ষণ করতে পারে না যা বুট-না-বানানো হয়েছে বা তার রিসেট লাইনে রূপান্তরিত হয়েছে একটি জিপিআইও এই ধরণের জিনিসটির জন্য আপনার একটি উচ্চ-ভোল্টেজ প্রোগ্রামার প্রয়োজন। [1] মাউসআর / অনুসন্ধান / / [2] লেডিডাটা.নেট
মেক /

@ ব্ললার এই তথ্যের আলোকে আমি আমার উত্তরটি সম্পাদনা করব।
AndrejaKo

আমি একটি উচ্চ ভোল্টেজ প্রোগ্রামার তৈরি করার জন্য কিছু নির্দেশাবলী দেখতে পেয়েছি (এবং চিপের জন্য ডেটাশিটে একটি নকশা তৈরির বিষয়ে বেশ কয়েকটি বিশদ নির্দেশনা রয়েছে) তবে আমি আমার চিপগুলির একটি ইট না করা পর্যন্ত অপেক্ষা করছি। আমার দোলকরা আগামীকাল এখানে আসবে, সুতরাং আমি খুব শীঘ্রই ইট পরীকে প্ররোচিত করব এবং ফিউজ জ্বালিয়ে দেব!
জ্যাক শ্মিড্ট

এটি উল্লেখযোগ্য যে এড়ডুড এই সমস্যাটি রোধ করতে আপনার ফিউজ বিটগুলি ডাবল-চেক করে। কিছুটা সাধারণ সমস্যা হ'ল চিপটি বাইরের ঘড়িতে সেট করা।
ইয়ান ভার্নিয়ার

4

বেশিরভাগ সস্তা এভিআর প্রোগ্রামাররা কেবল রিসেট লাইনের সাথে সিরিয়াল ইন্টারফেসগুলি সিঙ্ক করে। সিরিয়াল পেরিফেরিয়াল ইন্টারফেস (এসপিআই) বিটব্যাং করতে আপনি একটি FT232 করতে পারেন। FT232 async সিরিয়াল সিঙ্ক না করার জন্য ডিজাইন করা হয়েছে যাতে এটি সফ্টওয়্যারটিতে সম্পন্ন হয়।

আপনি কেবল আরডুইনোর মতো একটি বুটলোডার আপলোড করতে পারেন যা আপনাকে সাধারণ মোডে ft232 ব্যবহার করে অথবা প্রয়োজনীয় স্তরের রূপান্তরকারী হিসাবে কোনও অ্যাসিঙ্ক সিরিয়াল ইন্টারফেসের মাধ্যমে কোড আপলোড করার অনুমতি দেয় ar আপনার ঘড়ির গতির জন্য সঠিক বুটলোডারটি ব্যবহার করতে এবং ফিউজ বাইটগুলি সঠিকভাবে সেট করতে ভুলবেন না।


1

অনেক প্রোগ্রামেবল ডিভাইসগুলির historতিহাসিকভাবে প্রয়োজন হয় যে তারা সিগন্যালের তুলনামূলক-সুনির্দিষ্ট সময়সীমা অনুসরণ করে প্রোগ্রাম করা উচিত। অনেক ক্ষেত্রে, যদি কেউ কেবল একটি নির্দিষ্ট ধরণের ডিভাইস প্রোগ্রাম করতে চান তবে প্রয়োজনীয় হার্ডওয়্যারটি বেশ সহজ হত তবে বিভিন্ন ডিভাইসগুলির যেহেতু বিভিন্ন প্রয়োজনীয়তা ছিল তাই আরও সাধারণ-উদ্দেশ্যে প্রোগ্রামার তৈরি করা কিছুটা বেশি কঠিন ছিল।

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

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

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