সুচিপত্র:

VUSBTiny AVR SPI প্রোগ্রামার: 3 ধাপ
VUSBTiny AVR SPI প্রোগ্রামার: 3 ধাপ

ভিডিও: VUSBTiny AVR SPI প্রোগ্রামার: 3 ধাপ

ভিডিও: VUSBTiny AVR SPI প্রোগ্রামার: 3 ধাপ
ভিডিও: VUSBTINY AVR Programmer 2024, নভেম্বর
Anonim
VUSBTiny AVR SPI প্রোগ্রামার
VUSBTiny AVR SPI প্রোগ্রামার

একটি ইউএসবিটিনি আইএসপি প্রোগ্রামার বানানোর পরে এবং এটি 6 মাস ধরে ব্যবহার করার পরে, আমি চারপাশে বহন করার জন্য অন্য একটি তৈরির দিকে তাকিয়ে ছিলাম। আমি ইউএসবিটিনি আইএসপি ডিজাইনের সরলতা পছন্দ করি তবে এটিকে আরও ছোট করতে এবং কম অংশ নিতে চাই। মূল ডিজাইনের একটি জিনিস যা আমি পরিবর্তন করতে চাই তা হল ঘড়ি স্ফটিকের ব্যবহার বাদ দেওয়া। আমি যে সমাধানটি পেয়েছি তা হল ভি-ইউএসবি ড্রাইভারগুলি অ্যাটিনি 25/45/85 ডিভাইসে 16.5 মেগাহার্টজ অভ্যন্তরীণ অসিলেটর সমর্থন করে। তাই আমি ইউএসবিটিনি আইএসপি ইউএসবি যোগাযোগের জন্য ভি-ইউএসবি নিয়োগ করার জন্য এই প্রকল্পটি শুরু করি। তাৎক্ষণিক উপকারিতা হল যে এটি স্থান বাঁচায় এবং কম উপাদান গণনা করে (আর স্ফটিক নেই)। Atmel ATtiny মাইক্রোকন্ট্রোলারের জন্য প্রোটোকল। অবশ্যই, এটি এটিমেগা সিরিজেও কাজ করবে। সফটওয়্যারটি 12 মেগাহার্টজে ক্লক করা একটি AVR এর জন্য লেখা। এই ফ্রিকোয়েন্সি এ, ইউএসবি বাসের প্রতিটি বিট 8 টি ঘড়ি চক্র নেয়, এবং অনেক চালাকি দিয়ে, সফটওয়্যার দ্বারা ইউএসবি ওয়েভফর্মগুলি ডিকোড এবং এনকোড করা সম্ভব। ইউএসবি চালকের কনফিগারেশন এবং কম্পাইলার সংস্করণের উপর নির্ভর করে ফ্ল্যাশ স্পেস (alচ্ছিক শনাক্তকরণ স্ট্রিং বাদে) এবং 46 বাইট র RAM্যাম (স্ট্যাক স্পেস বাদে) এর উপর নির্ভর করে আনুমানিক 1250 থেকে 1350 বাইটের প্রয়োজন। সি ইন্টারফেসটি 3 থেকে 5 টি ফাংশন নিয়ে গঠিত, যা কনফিগারেশনের উপর নির্ভর করে। AVR মাইক্রোকন্ট্রোলার, এটি প্রায় যেকোনো AVR মাইক্রোকন্ট্রোলার দিয়ে USB হার্ডওয়্যার তৈরি করা সম্ভব করে তোলে, নির্মাণ এবং ব্যবহারের জন্য কোন অতিরিক্ত চিপের প্রয়োজন হয় না।

ধাপ 1: বৈশিষ্ট্য এবং অংশ

বৈশিষ্ট্য এবং যন্ত্রাংশ
বৈশিষ্ট্য এবং যন্ত্রাংশ

* ইউএসবিটিনি আইএসপি থেকে প্রোগ্রামিং লজিক, পরিপক্ক এভিআর-ডুড সাপোর্ট * ছোট ফুট-প্রিন্ট * ন্যূনতম উপাদান * ক্ষমতা লক্ষ্য ডিভাইস লক্ষ্য করুন যে লক্ষ্য ম্যাকাসের আইও লাইনগুলি সুরক্ষিত নয়। আপনি SCK এবং MOSI তে 1k-2k প্রতিরোধক যোগ করতে পারেন এবং v-usb এ পাওয়া কাজের উপর ভিত্তি করে সম্ভাব্য ভুল সংযোগের রেফারেন্স থেকে রক্ষা করতে পারেন https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all। nl/~ dicks/avr/usbtiny/যন্ত্রাংশ তালিকা * attiny45/85 (85 দ্বারা আসা আরো সহজ) * 3.6v জেনার ডায়োড (1n747, BZX79,.. 1W ধরনের এভয়েড) * 68ohm প্রতিরোধক x 2 * 1.5K প্রতিরোধক * মিনি ব্রেডবোর্ড 170 টাইপয়েন্ট * ইউএসবি কেবল (ডলার শপ ইউএসবি প্রিন্টার কেবল ঠিক আছে) * আইও লাইন সুরক্ষার জন্য 1k/2k রোধক ()চ্ছিক) সরঞ্জাম প্রয়োজন * একটি কর্মরত এভিআর প্রোগ্রামার (হ্যাঁ, এটি একটি ক্যাচ 22, আমাদের একটি তৈরি করতে হবে) * কর্মরত এভিআর প্রোগ্রামিং পরিবেশ

ধাপ 2: ব্রেডবোর্ড লেআউট, পরিকল্পিত এবং নির্মাণ

ব্রেডবোর্ড লেআউট, পরিকল্পিত এবং নির্মাণ
ব্রেডবোর্ড লেআউট, পরিকল্পিত এবং নির্মাণ
ব্রেডবোর্ড লেআউট, পরিকল্পিত এবং নির্মাণ
ব্রেডবোর্ড লেআউট, পরিকল্পিত এবং নির্মাণ

নির্মাণ

* রুটিবোর্ড লেআউট অনুসরণ করুন, সেখানে উপাদান, 3 প্রতিরোধক, 2 ডায়োড, 1 ক্যাপ, প্লাস একটি 8 পিন এমসিইউ নেই। * একটি ডলারের দোকানে ইউএসবি প্রিন্টার কেবলটি প্রিন্টারের শেষ অংশটি কেটে নিন, সেখানে 4 টি উন্মুক্ত তার থাকবে, সুরক্ষিত থাকবে এবং সেগুলিকে 4 টি পিন পুরুষ হেডারে পরিণত করবে, আমরা এটিকে রুটিবোর্ডের সাথে সংযুক্ত করতে ব্যবহার করব। লেআউট এবং পিন অ্যাসাইনমেন্টের জন্য পরিকল্পিত পরামর্শ করুন (J1)। * ডায়োড মেরুতা জন্য সতর্ক

প্রকল্প নির্মাণ এবং ঝলকানি

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

সোর্স কোডটি ভি-ইউএসবি দ্বারা প্রস্তাবিত একটি কনভেনশন অনুসরণ করে, আপনি সোর্স প্যাকেজ vusbtiny.tgz ডাউনলোড করতে পারেন এবং একটি প্রকল্প ডিরেক্টরিতে অযৌক্তিক। আপনার সোর্স ডিরেক্টরিতে, একটি main.c আছে, যা আমার পরিবর্তিত ইউএসবিটিনি প্রোগ্রামারের সংস্করণ। এবং একটি usbdrv উপ-ডিরেক্টরি, যা v-usb স্তর ধারণ করে। এটি নির্মাণের সময় অনুগ্রহ করে উপরের দুটি প্রকল্প থেকে লাইসেন্সের মেয়াদ পালন করুন। প্রোগ্রামার লজিকের উপর আমার উৎস ডিক স্ট্রিফল্যান্ড সংস্করণের উপর ভিত্তি করে এবং লেডিডা সংস্করণ নয় (যদিও তারা প্রায় একই)।

যাদের বিল্ড খুব চেইন নেই তাদের জন্য, আপনি নিম্নলিখিত বাইনারি ব্যবহার করতে পারেন

vusbtiny.hex ডাউনলোড করতে ক্লিক করুন

এবং ফার্মওয়্যার ফ্ল্যাশ করতে avrdude ব্যবহার করুন

avrdude -c usbtiny -p t45 -e -V -U ফ্ল্যাশ: w: usbtiny.hex

(যদি আপনার ডিভাইসটি একটি ক্ষুদ্র 85 হয়, -p t45 w/ -p t85 প্রতিস্থাপন করুন)

vusbtiny.tgz ডাউনলোড করতে এখানে ক্লিক করে সোর্স ডাউনলোড করা যাবে

আপনার ওয়ার্কিং ডিরেক্টরিতে সোর্স প্যাকেজ আনটার করুন

tar -zxvf vusbtiny.tgz

* সিডি vsubtiny করুন, vusbtiny ওয়ার্কিং ডিরেক্টরিতে পরিবর্তন করতে * আপনি যে চিপ ব্যবহার করবেন সেই অনুযায়ী টার্গেট ডিভাইসের জন্য ঠিক মেকফিল। যেমন PROGRAMMER_MCU = t45 বা t85 * একটি মেক করুন * আপনার প্রিয় আইএসপি প্রোগ্রামারকে সংযুক্ত করুন * মেকফাইলে পরিবর্তন করুন এবং প্রয়োজনে আপনার অ্যাভারডুড প্যারামিটার পরিবর্তন করুন। স্টকটি ইউএসবিটিনি প্রোগ্রামারকে ধরে নেয়। যেমন AVRDUDE_PROGRAMMERID = usbtiny * ফ্ল্যাশ ফার্মওয়্যার মেক ইন্সটলের মাধ্যমে

ফার্মওয়্যার ফ্ল্যাশ করার পরে, আমাদের সঠিকভাবে ফিউজ সেট করতে হবে, আমরা এই প্রকল্পে io হিসাবে পিন 1 রিসেট ব্যবহার করছি

* পিপিএল ঘড়ি ইউএসবি টাইমিং এর জন্য ভি-ইউএসবি লেয়ারের প্রয়োজন অনুসারে ব্যবহৃত হয়

avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m

এই সেটিং 5V SPI এর মাধ্যমে আরও প্রোগ্রামিং অক্ষম করে কারণ আমাদের io এর জন্য RESET পিন (pin1) প্রয়োজন। ফিউজ পুনরুদ্ধার করতে আপনার একটি HVSP প্রোগ্রামারের অ্যাক্সেস প্রয়োজন হবে।

ধাপ 3: ব্যবহার এবং প্রয়োগ

ব্যবহার এবং প্রয়োগ
ব্যবহার এবং প্রয়োগ
ব্যবহার এবং প্রয়োগ
ব্যবহার এবং প্রয়োগ
ব্যবহার এবং প্রয়োগ
ব্যবহার এবং প্রয়োগ

রুটিবোর্ডে সরাসরি ঝলকানি

যদি আপনি 8 পিন AVR ডিভাইস ফ্ল্যাশ করার জন্য vusbtiny ব্যবহার করেন, তাহলে আপনি আপনার টার্গেট ডিভাইসটি প্রোগ্রামার ডিভাইসের উপরে চাপতে পারেন। প্রোগ্রামার ডিজাইন করা হয়েছিল যাতে প্রোগ্রামিং পিনগুলি w/ লক্ষ্যগুলির সাথে মেলে। যদিও একটি কৌশল আছে, আপনাকে প্রোগ্রামার এমসিইউতে পিন 2 এবং 3 বিচ্ছিন্ন করতে হবে, কারণ এগুলি পিসি-র সাথে সংযুক্ত ইউএসবি ডি+ এবং ডি-পিন। আমি এটি অর্জনের জন্য স্কচ টেপের একটি কাটা ব্যবহার করি, আপনি এটি ফটোতে দেখতে পারেন। নিচে দেখান tiny45 তে একটি ছোট 13v "রাইডিং", ফার্মওয়্যার পাওয়ার জন্য প্রস্তুত।

আইএসপি জাম্পারের মাধ্যমে ঝলকানি

আইএসপি (ইন-সিস্টেম প্রোগ্রামিং) এর মাধ্যমে একটি টার্গেট সার্কিট প্রোগ্রাম করার জন্য, আপনার একটি আইএসপি কেবল প্রয়োজন। এখানে আমি স্ট্যান্ডার্ড 2x3 বা 2x5 পিন হেডার ব্যবহার করছি না। পরিবর্তে আমি একটি 1x6 জাম্পার ব্যবহার করছি যা আরো রুটিবোর্ড বান্ধব, আপনি 2x3 বা 2x5 পিন হেডার ব্রেডবোর্ড লেআউট এবং স্কিম্যাটিক্সে দেখানো হিসাবে তাদের J2 এ ম্যাপ করে তৈরি করতে পারেন। নিচের ছবিটি দেখায় একটি ছোট 2313 ISP এর মাধ্যমে ফ্ল্যাশ করার জন্য প্রস্তুত।

সমস্যা সমাধান

* ফার্মওয়্যার ফ্ল্যাশ করতে পারে না? আপনার আসল প্রোগ্রামার চেক করুন, এভারডুডে -B পতাকার মাধ্যমে সময় সামঞ্জস্য করতে হতে পারে। চিপ 1 ম পড়ার চেষ্টা করুন, একটি খারাপ ফিউজ হতে পারে, আপনার চিপের একটি বহিরাগত ঘড়ি সংকেত প্রয়োজন হতে পারে। আপনাকে আপনার চিপটি ডিফল্ট ১ ম স্থানে ঠিক করতে হতে পারে। * কানেকশন চেক করুন * যদি বিভিন্ন আইও পিন ব্যবহার করেন, কোড এবং কানেকশন চেক করুন * আপনি জেনার ডায়োড w/ 500mw, 400mw টাইপ প্রতিস্থাপন করতে পারেন * আপনি R3 এর মান 1.2K বা তার কম করার চেষ্টা করতে পারেন * -Avrdude এর বি পতাকা, একটি সংক্ষিপ্ত USB তারের সব সাহায্য করে

প্রস্তাবিত: