সুচিপত্র:

বাস পাইরেট 3EEPROM এক্সপ্লোরার বোর্ড: 5 টি ধাপ
বাস পাইরেট 3EEPROM এক্সপ্লোরার বোর্ড: 5 টি ধাপ

ভিডিও: বাস পাইরেট 3EEPROM এক্সপ্লোরার বোর্ড: 5 টি ধাপ

ভিডিও: বাস পাইরেট 3EEPROM এক্সপ্লোরার বোর্ড: 5 টি ধাপ
ভিডিও: দেখুন কিভাবে বাসটা কে ওভারটেক করলো পাইরেট কার🇧🇩🇧🇩🇧🇩 2024, নভেম্বর
Anonim
বাস পাইরেট 3EEPROM এক্সপ্লোরার বোর্ড
বাস পাইরেট 3EEPROM এক্সপ্লোরার বোর্ড

আপনি যদি একটি দিনের বাস পাইরেটস হ্যাক পেয়ে থাকেন, তাহলে আপনি এটি দিয়ে কি করবেন? 3EEPROM এক্সপ্লোরার বোর্ডের সাথে 1-ওয়্যার, I2C, এবং SPI EEPROM সম্পর্কে জানুন (আমরা এটিকে THR-EE-PROM বলি) EEPROM হল একধরনের মেমরি চিপ যা একটানা বিদ্যুৎ সরবরাহ ছাড়াই ডেটা সঞ্চয় করে। এটি ছোট লগার সার্কিটে স্থায়ী ডেটা স্টোরেজ, অথবা একটি মিনি ওয়েব সার্ভারে কাস্টম পেজ রাখার জন্য উপযোগী। EEPROMs অনেক আকার এবং প্রোটোকলে আসে। তিনটিই পূর্বে হ্যাক এ ডে -তে প্রদর্শিত হয়েছিল, কিন্তু প্রতিটি ডেমো বাস পাইরেট হার্ডওয়্যার এবং ফার্মওয়্যারের একটি ভিন্ন সংস্করণ ব্যবহার করে, এটি একটি নতুন পাইরেট v2go ব্যবহার করে একজন শিক্ষকের জন্য অনুসরণ করা কঠিন। DS2431, 24AA-, এবং 25AA- EEPROMs বাস পাইরেট v2go এর সাথে। আমরা সম্পূর্ণ সেশন লগগুলি পাঠ্য ফাইল হিসাবে পেয়েছি যাতে আপনি একটি বিস্তারিত বিবরণ মিস করবেন না। PCBs প্রায় $ 10, কিট প্রায় $ 15, বিশ্বব্যাপী পাঠানো হয়। শুরু করার জন্য আমাদের 10 টি পিসিবি বা 20 কিটের একটি গ্রুপ ক্রয়ের আয়োজন করতে হবে। যদি আপনি একটি বাস পাইরেটে আগ্রহী হন, সংস্করণ 3 আসছে আমি একটি নির্দেশযোগ্য কিছু ফরম্যাটিং উপাদান এবং HTML টেবিল অন্তর্ভুক্ত করতে পারিনি, আপনি মূল পোস্টটি দেখতে পারেন বিপজ্জনক প্রোটোটাইপ ব্লগে।

ধাপ 1: 3EEPROM হার্ডওয়্যার ওভারভিউ

3EEPROM হার্ডওয়্যার ওভারভিউ
3EEPROM হার্ডওয়্যার ওভারভিউ
3EEPROM হার্ডওয়্যার ওভারভিউ
3EEPROM হার্ডওয়্যার ওভারভিউ
3EEPROM হার্ডওয়্যার ওভারভিউ
3EEPROM হার্ডওয়্যার ওভারভিউ

এই প্রোটোটাইপের লক্ষ্য হল EEPROM এবং তিনটি সাধারণ বাস প্রোটোকল সম্পর্কে জানা। প্রথমে, আমরা 3EEPROM PCB- এর দিকে তাকাই, তারপর আমরা একটি বাস পাইরেট সার্বজনীন সিরিয়াল ইন্টারফেস টুল ব্যবহার করে প্রতিটি EEPROM প্রদর্শন করি। যদি আপনার একটি বাস পাইরেট না থাকে, তাহলে আপনি এখনও অনুসরণ করতে পারেন কারণ ইন্টারফেস অপারেশনগুলির মৌলিক ক্রম একই থাকে যেমন আপনি সেগুলি বাস্তবায়ন করেন না কেন। আমরা ক্যাডসফট agগলের ফ্রিওয়্যার সংস্করণ ব্যবহার করে সার্কিট এবং পিসিবি তৈরি করেছি। আপনি বাস পাইরেট এসভিএন আর্কাইভ থেকে স্কিম্যাটিক এবং পিসিবি ডাউনলোড করতে পারেন। IC1) 1-ওয়্যার বাস থেকে পরজীবীভাবে বিদ্যুৎ টেনে নেয়, এটির বাহ্যিক পাওয়ার সাপ্লাই পিন থাকে না এবং ডিকপলিং ক্যাপাসিটরের প্রয়োজন হয় না। IC2 এবং IC3 হল অতিরিক্ত 1-ওয়্যার ডিভাইসের জন্য খালি স্পট, যেমন অন্য DS2431 বা DS1822 তাপমাত্রা সেন্সর। C1 (0.01uF) alচ্ছিক এবং শুধুমাত্র প্রয়োজন যদি IC2 বা IC3 একটি চালিত 1-ওয়্যার ডিভাইসের সাথে পপুলেটেড হয়। বাস পাইরেটের অন-বোর্ড পুল-আপ প্রতিরোধক 10K, লেখার সময় DS2431 কে সঠিকভাবে পাওয়ার জন্য খুব দুর্বল। 3EEPROM এক্সপ্লোরার বোর্ডে 1-ওয়্যার বাসে 1.8k ওহম, 1/8 ওয়াট পুল-আপ প্রতিরোধক (R1) অন্তর্ভুক্ত করা হয়েছে যাতে অতিরিক্ত পুল-আপ প্রতিরোধকের প্রয়োজন হয় না। 24AA- (IC4) এবং 25AA- (IC5) প্রতিটি পাওয়ার সাপ্লাই (C2, C3) থেকে তাদের ডিকপল করার জন্য 0.1uF ক্যাপাসিটর পায়। আপনার সম্ভবত এত সহজ সার্কিটে ক্যাপাসিটরের প্রয়োজন নেই, আমরা বিক্ষোভে তাদের প্রোটোটাইপ বোর্ড থেকে বাদ দিয়েছি। 24AA- এর দ্বারা ব্যবহৃত I2C বাসেও পুল-আপ প্রতিরোধক প্রয়োজন, কিন্তু বাস পাইরেটের অন-বোর্ড 10K ওহম পুল-আপ প্রতিরোধক যথেষ্ট। সমস্ত উপাদান 2.8 ভোল্ট থেকে 5 ভোল্ট ডিসি পর্যন্ত কাজ করবে। সার্কিটটি VCC এবং GND পিনের মাধ্যমে জাম্পার 3 দ্বারা চালিত হয়। দুটি VCC পিন আছে, একটি পাওয়ারের জন্য, অন্যটি বাস পাইরেটের পুল-আপ রেজিস্টার ভোল্টেজ ইনপুট পিন (Vpullup) এর জন্য। PCB আমরা সার্কিট এবং PCB ব্যবহার করে Cadsoft Eagle এর ফ্রিওয়্যার সংস্করণ। আপনি বাস পাইরেট এসভিএন আর্কাইভ থেকে পরিকল্পিত এবং পিসিবি ডাউনলোড করতে পারেন। আপনি যদি পেশাগতভাবে প্রস্তুত PCB বা 3EEPROM কিট চান, তাহলে 10 বা 20 জন আগ্রহী হলে আমরা একটি গ্রুপ ক্রয়ের ব্যবস্থা করতে পারব। যন্ত্রাংশ তালিকা R1 1800 ওহম প্রতিরোধক (1/8 ওয়াট) C2, 3 0.1uF ক্যাপাসিটর/10volts+JP1-4 0.1 পুরুষ পিন হেডার IC1 DS2431 1K 1-ওয়্যার EEPROM TO-92IC4 ** 24AA014-I/P I2C EEPROM DIP8IC5 ** 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 8 পিন DIP সকেট IC5, 6 ** IC4, IC5 কোন আকারের হতে পারে, আমরা ছোট চিপের সাথে সংযুক্ত ছিলাম, আমরা 128bytes এবং 128Kbytes ব্যবহার করেছি আমি কিছু ফরম্যাটিং এবং HTML টেবিল অন্তর্ভুক্ত করতে পারিনি একটি নির্দেশযোগ্য, আপনি মূল পোস্টটি দেখতে পারেন বিপজ্জনক প্রোটোটাইপ ব্লগে।

ধাপ 2: 25AA- / 25LC- SPI EEPROM

25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM

সমস্ত EEPROM ডেমো দেখতে অনেকটা একই রকম। আমরা চিপে কয়েকটি সংখ্যা লিখব, এবং তারপর সেগুলি পড়ব। প্রতিটি ডিভাইসে এমন শর্ত থাকে যা একবার প্রযোজ্য হয় যখন আপনি কয়েকটি মানের চেয়ে বেশি লিখতে চান, যেমন পৃষ্ঠার আকার এবং সীমানা সীমাবদ্ধতা। আপনার নির্দিষ্ট ডিভাইসের জন্য ডেটশীটে এগুলি সম্পর্কে আরও পড়ুন। যদি আপনি একটি প্রদর্শনী কাজ করতে না পারেন তবে সম্পূর্ণ টার্মিনাল লগটি ডাউনলোড করুন যাতে আপনি আমাদের করা একটি কাজও মিস না করেন। পুল-আপ প্রতিরোধক সবচেয়ে সাধারণ সমস্যা, বাস পাইরেট টার্মিনালে মেনু 'v' ব্যবহার করে পুল-আপ পিন ভোল্টেজ চেক করুন। চিপ: 25AA, SPI EEPROM (1Kbyte)। বাস: SPI পুল-আপ প্রতিরোধক শুধুমাত্র মিশ্র-ভোল্টেজ ইন্টারফেসিংয়ের জন্য প্রয়োজন। বিদ্যুতের প্রয়োজনীয়তা: 1.8 ভোল্ট থেকে 5.5 ভোল্ট (এএ), 2.5 ভোল্ট থেকে 5.5 ভোল্ট (এলসি) রেফারেন্স: ডেটশীট, হ্যাক এ ডে ডেমোরেন্স। এই বিক্ষোভের জন্য সম্পূর্ণ বাস পাইরেট সেশন লগ আমি কিছু নির্দেশনাতে কিছু ফরম্যাটিং এবং এইচটিএমএল টেবিল অন্তর্ভুক্ত করতে পারিনি, আপনি আসলটি দেখতে পারেন বিপজ্জনক প্রোটোটাইপ ব্লগে। AA যন্ত্রাংশ 1.8 ভোল্ট থেকে 5.5 ভোল্ট পর্যন্ত চলে, যখন 25LC- অংশগুলির 2.5 ভোল্টের ন্যূনতম প্রয়োজনীয়তা থাকে। লেখার সুরক্ষা (ডব্লিউপি) এবং হোল্ড পিনগুলি একটি মাইক্রোকন্ট্রোলার দ্বারা নিয়ন্ত্রণ করা যেতে পারে, তবে আমরা এই পিনগুলি উঁচু করে ধরে অক্ষম করেছি। SPI বাস পিন, CS, DO, CLK, এবং DI, JP4 হেডারে আনা হয়। সেটআপ যদি আপনি একটি বাস পাইরেট ব্যবহার করছেন, তাহলে নিচের চার্ট ছবিতে দেখানো 3EEPROM অথবা 25AA- IC এর সাথে এটি সংযুক্ত করুন। এসপিআই সাধারণত টান আপ প্রতিরোধক প্রয়োজন হয় না। ইন্টারফেসিং বাস পাইরেট টার্মিনালে মোড মেনুর জন্য 'm' টিপুন এবং SPI নির্বাচন করুন। স্বাভাবিক পিন আউটপুটের জন্য SPI লাইব্রেরি কনফিগার করুন, অন্যান্য সকল SPI মোড সেটিংসের জন্য ডিফল্ট ব্যবহার করুন। SPI মোড প্রম্পটে পাওয়ার সাপ্লাই (বড় 'W') সক্ষম করুন। অবশেষে, পাওয়ার সাপ্লাই কাজ করছে কিনা তা নিশ্চিত করার জন্য একটি ভোল্টেজ রিপোর্ট পান ('v')। আমরা সাধারণ পিন মোডে SPI লাইব্রেরি ব্যবহার করে EEPROM কে সরাসরি 3.3 ভোল্টে কিভাবে ইন্টারফেস করব তা প্রদর্শন করতে যাচ্ছি। এই ডেমোর জন্য পুল-আপ প্রতিরোধক প্রয়োজন হয় না। যদি আপনি 5 ভোল্ট দ্বারা চালিত একটি EEPROM ইন্টারফেস করতে চান, তাহলে SPI লাইব্রেরিটি ওপেন কালেক্টর (HiZ) পিন মোডে ব্যবহার করুন এবং EEPROM এর বিদ্যুৎ সরবরাহের সাথে সংযুক্ত Vpullup পিন (Vpu) দিয়ে পুল-আপ রেজিস্টরগুলি সক্ষম করুন। ধাপ 1, রাইট-প্রোটেক্ট বন্ধ করুন 'SPI> [0b110] CS সক্রিয় <<< চিপ নির্বাচন করুন সক্ষম করুন লিখুন: 0x06 <<< অক্ষম লিখুন সুরক্ষা কমান্ড সিএস অক্ষম <<25AA- লেখাটি পাওয়ার-অন এ সুরক্ষিত। লোয়ার চিপ সিলেক্ট (CS) ([), অক্ষম রাইট প্রোটেক্ট কমান্ড (0x06) পাঠান, এবং তারপর EEPROM- এ রাইটস সক্ষম করতে CS (]) বাড়ান। বাইনারিতে অক্ষম রাইট প্রোটেক্ট কমান্ড 0b00000110, কিন্তু আমরা এটিকে ছোট করতে পারি 0b110 এবং বাস পাইরেট এখনও বোঝে। ধাপ 2, কিছু মান লিখুন 'SPI> [0b10 0 3 2 1] CS সক্রিয় <<< চিপ নির্বাচন করুন সক্ষম করুন WRITE: 0x02 <<< কমান্ড লিখুন WRITE: 0x00 <<< শুরু ঠিকানা লিখুন WRITE: 0x03 <<< 3 মান লিখতে (3), 2, 1) লিখুন: 0x02 লেখা: 0x01CS অক্ষম <<এখন EEPROM লেখা যায়। প্রথমে, 25AA- ([) সক্রিয় করতে CS কম করুন। পরবর্তী, লিখুন কমান্ড (0x02) এবং লেখা শুরু করতে অবস্থান (0) পাঠান। তথ্য সংরক্ষণ করতে পাঠান (3 2 1), তারপর মানগুলি সংরক্ষণ করতে CS (]) বাড়ান। দ্রষ্টব্য: আমরা একটি ছোট 128byte EEPROM ব্যবহার করেছি, বড় চিপগুলি 16 বিট (2 বাইট) ঠিকানা ব্যবহার করবে। 256 বাইটের বড় EEPROM গুলির জন্য এই কমান্ডটি [0b10 0 '' '' 0 '' 3 2 1] হবে, দ্বিতীয়টি নোট করুন 0 নিশ্চিত হওয়ার জন্য আপনার EEPROM এর জন্য ডেটশীট পরীক্ষা করুন ধাপ 3, SPI> [0b11 0 r: 3] সিএস সক্ষম <<< চিপ নির্বাচন করুন সক্ষম করুন লিখুন: 0x03 <<< কমান্ড লিখুন: 0x00 <<< শুরু ঠিকানা পড়ুন নিষ্ক্রিয় <<অবশেষে, লেখাটি সফল হয়েছে কিনা তা যাচাই করতে ডেটাটি আবার পড়ুন। 25AA- ([) নির্বাচন করুন, read কমান্ড (0x03) পাঠান এবং ঠিকানা (0) শুরু করুন, এবং তারপর তিনটি মান পড়ুন (r: 3)। লেনদেন (]) সম্পন্ন করতে CS বাড়ান। মান মিলছে, লেখা সফল হয়েছে। দ্রষ্টব্য: আমরা একটি ছোট 128byte EEPROM ব্যবহার করেছি, বড় চিপগুলি 16 বিট (2 বাইট) ঠিকানা ব্যবহার করবে। 256 বাইটের চেয়ে বড় EEPROM গুলির জন্য এই কমান্ডটি [0b11 0 '' '0' 'r: 3] হবে, দ্বিতীয়টি 0 নোট করুন।

ধাপ 3: 24AA- / 24LC I2C EEPROM

24AA- / 24LC I2C EEPROM
24AA- / 24LC I2C EEPROM
24AA- / 24LC I2C EEPROM
24AA- / 24LC I2C EEPROM
24AA- / 24LC I2C EEPROM
24AA- / 24LC I2C EEPROM

চিপ: 24AA, I2C EEPROM (1 কেবাইট) এই বিক্ষোভের জন্য সম্পূর্ণ বাস জলদস্যু সেশন লগ। আমি একটি নির্দেশনায় কিছু ফরম্যাটিং এবং এইচটিএমএল টেবিল অন্তর্ভুক্ত করতে পারিনি, আপনি আসলটি দেখতে পারেন বিপজ্জনক প্রোটোটাইপ ব্লগে। মাপের টন। AA যন্ত্রাংশ 1.8 ভোল্ট থেকে 5.5 ভোল্ট পর্যন্ত কাজ করে, যখন 24LC- অংশগুলির 2.5 ভোল্টের ন্যূনতম প্রয়োজন থাকে। A 0.1uF ক্যাপাসিটর (C2) বিদ্যুৎ সরবরাহ থেকে IC4 কে decouples করে। লেখার সুরক্ষা পিন (WP) একটি মাইক্রোকন্ট্রোলার থেকে নিয়ন্ত্রিত হতে পারে, কিন্তু এই সাধারণ প্রদর্শনের জন্য আমরা এটিকে স্থল সংযোগের মাধ্যমে নিষ্ক্রিয় করি। I2C বাস পিন, এসডিএ এবং এসসিএল, শিরোনাম JP2 এ আনা হয়। অধিকাংশ 24AA EEPROM- এর ঠিকানা 1010AAAS, ঠিকানা পিন (A0, A1, A2) দ্বারা নির্ধারিত চূড়ান্ত চারটি বিট এবং রিড/রাইট মোড সিলেক্ট বিট (এস)। সমস্ত অ্যাড্রেস বিট এই উদাহরণে ভিত্তিক, তাই EEPROM এর লেখার ঠিকানা হল 10100000 (ডেটশীট পৃষ্ঠা 6)। সেটআপ যদি আপনি একটি বাস পাইরেট ব্যবহার করেন, তাহলে নিচের চার্ট ছবিতে দেখানো 3EEPROM অথবা 24AA- IC এর সাথে এটি সংযুক্ত করুন। I2C একটি দ্বিমুখী বাস যার জন্য উভয় পিনে পুল-আপ প্রতিরোধক প্রয়োজন। আপনি Vpullup (Vpu) পিনকে 3.3 ভোল্ট পাওয়ার সাপ্লাইতে সংযুক্ত করে এবং টার্মিনালে তাদের সক্ষম করে বাস পাইরেটের অন-বোর্ড পুল-আপ প্রতিরোধক ব্যবহার করতে পারেন। ইন্টারফেসিং নোট: সব I2C EEPROM একই কাজ করে না। উদাহরণস্বরূপ, ছোট 24AA01 এর সম্পূর্ণ ভিন্ন অ্যাড্রেসিং এবং কমান্ড সিস্টেম রয়েছে। আপনার চিপের জন্য ডেটশীট চেক করতে ভুলবেন না। বাস পাইরেট টার্মিনালে 'm' চাপুন এবং মোড মেনু থেকে I2C নির্বাচন করুন। I2C প্রম্পটে বিদ্যুৎ সরবরাহ (বড় 'W') এবং পুল-আপ প্রতিরোধক ('p', বিকল্প 2) সক্ষম করুন। পাওয়ার সাপ্লাই চালু আছে এবং Vpullup পিন একটি ভোল্টেজের সাথে সংযুক্ত আছে তা নিশ্চিত করতে একটি ভোল্টেজ রিপোর্ট ('v') পান। I2C> (0) <<(1) <<< ঠিকানা অনুসন্ধান ম্যাক্রো অনুসন্ধান 7 বিট I2C ঠিকানা স্থান ব্যবহার করুন। 0xA0 0xA1 এ ডিভাইসগুলি খুঁজুন: <<আমরা ইতিমধ্যেই জানি যে I2C ঠিকানা হল 10100000, কিন্তু আমরা 24AA- এর জন্য সার্চ করার জন্য বাস পাইরেটের I2C সার্চ ম্যাক্রো (1) ব্যবহার করতে পারি। অনুসন্ধান ম্যাক্রো প্রত্যাশিত লেখা (0xA0) এবং পড়ার (0xA1) ঠিকানাগুলিতে ডিভাইসটি খুঁজে পেয়েছে। ধাপ 1, কিছু মান লিখুন I2C> [0b10100000 0 0 3 2 1] I2C স্টার্ট কন্ডিশন <<< I2C শুরু করার শর্ত WRITE: 0xA0 পেয়েছি: হ্যাঁ <<< 24AA- ঠিকানা লিখুন লিখুন: 0x00 বুঝে নিন: হ্যাঁ <<< ঠিকানা বাইট লিখুন 1WRITE: 0x00 GOT ACK: YES <<< address byte লিখুন 2WRITE: 0x03 GOT ACK: YES <<< 3 টি লিখতে মান <একটি I2C প্রারম্ভিক শর্ত ([), তারপর 24AA- লেখার ঠিকানা (0xa0) দিয়ে লেখা শুরু করুন। পরবর্তী, (0 0) এ লিখতে 16 বিট ঠিকানা এবং লিখতে ডেটা পাঠান (3 2 1)। স্টপ কন্ডিশন (]) দিয়ে I2C লেনদেন শেষ করুন। ধাপ 2, পড়া পয়েন্টার I2C> [0b10100000 0 0] I2C স্টার্ট কন্ডিশন <<< I2C স্টার্ট কন্ডিশন লিখুন: 0xA0 পেয়েছি: হ্যাঁ <<< 24AA- লেখার ঠিকানা লিখুন: 0x00 বুঝেছি: হ্যাঁ <<< ঠিকানা লিখুন বাইট 1WRITE: 0x00 পেয়েছি: হ্যাঁ <<< ঠিকানা বাইট 2I2C স্টপ কন্ডিশন লিখুন <<24AA- থেকে পড়তে দুটি অপারেশন লাগে। একটি পঠন/লেখার পয়েন্টার অবস্থান করে, অন্যটি মান ফেরত দেয়। 16 বিট ঠিকানা পাঠাতে পাঠান (0 0), এবং তারপর স্টপ কন্ডিশন (])। আমরা এইবার লেখার জন্য কোন ডেটা পাঠাইনি, আমরা কেবল ধাপ 1 -এ লেখা ডেটার শুরুতে পঠন/লেখার পয়েন্টারটি রেখেছি। ধাপ 3, কিছু মান I2C> [0b10100001 r: 3] পড়ুন <<< I2C শুরুর শর্ত লেখা: 0xA1 পেয়েছি: হ্যাঁ <<< 24AA- পড়ার ঠিকানা বাল্ক পড়ুন 0x03 বাইট: <<< 3 টি মান পড়ুন 0x03 0x02 0x01I2C স্টপ কন্ডিশন <<ধাপ 2 আমরা যে ডেটা পড়তে চাই তার শুরুতে রিড/রাইট পয়েন্টার সেট করুন। এখন আমরা 24AA- পড়ার ঠিকানা ব্যবহার করে ডেটা পড়তে পারি। ধাপ 1 (r: 3) এ আমরা যে তিনটি মান লিখেছি তা পড়ুন এবং স্টপ কন্ডিশন (]) দিয়ে শেষ করুন। যদি মানগুলি মিলে যায়, তাহলে আপনার লেখা সফল হয়েছে।

ধাপ 4: DS2431 1-ওয়্যার EEPROM

DS2431 1-ওয়্যার EEPROM
DS2431 1-ওয়্যার EEPROM
DS2431 1-ওয়্যার EEPROM
DS2431 1-ওয়্যার EEPROM
DS2431 1-ওয়্যার EEPROM
DS2431 1-ওয়্যার EEPROM

চিপ: DS2431, 1-ওয়্যার EEPROM (1Kbyte) ।বাস: 1-ওয়্যার, <2.2Kohm পুল-আপ প্রতিরোধক প্রয়োজন। পাওয়ার প্রয়োজনীয়তা: 2.8 ভোল্ট থেকে 5.25 ভোল্ট। এই প্রদর্শনের জন্য। আমি একটি নির্দেশযোগ্য কিছু ফরম্যাটিং এবং এইচটিএমএল টেবিল অন্তর্ভুক্ত করতে পারিনি, আপনি আসলটি দেখতে পারেন বিপজ্জনক প্রোটোটাইপ ব্লগে। । 1-ওয়্যার একটি শক্তিশালী পুল-আপ প্রতিরোধক প্রয়োজন, সর্বোচ্চ 2.2Kohms। বাস পাইরেটের অন-বোর্ড পুল-আপ প্রতিরোধক 10K, লেখার সময় DS2431 কে সঠিকভাবে পাওয়ার জন্য খুব দুর্বল। পাওয়ার এবং 1-ওয়্যার বাস পিনের মধ্যে আপনাকে অবশ্যই একটি 2.2Kohm বা ছোট বাহ্যিক প্রতিরোধক ব্যবহার করতে হবে। আপনার যদি ডেটা লিখতে সমস্যা হয় তবে নিশ্চিত করুন যে আপনার পুল-আপ প্রতিরোধক যথেষ্ট বড়। 3EEPROM এক্সপ্লোরার বোর্ডে 1-ওয়্যার বাসে 1800 ওহম পুল-আপ রেজিস্টার (R1) অন্তর্ভুক্ত থাকে যাতে কোন বাহ্যিক প্রতিরোধকের প্রয়োজন হয় না। সেটআপ যদি আপনি একটি বাস পাইরেট ব্যবহার করছেন, তাহলে নিচের চার্ট ছবিতে দেখানো 3EEPROM বোর্ড অথবা DS2431 এর সাথে এটি সংযুক্ত করুন। DS2431 পাওয়ার সাপ্লাই পিনের প্রয়োজন হয় না, এটি 3EEPROM বোর্ডে 1-ওয়্যার বাসের জন্য বড় পুল-আপ প্রতিরোধককে পাওয়ার জন্য ব্যবহার করা হয়। ইন্টারফেসিং বাস পাইরেট টার্মিনালে 'm' চাপুন এবং 1-ওয়্যার মোড নির্বাচন করুন। অন-বোর্ড পাওয়ার সাপ্লাই সক্ষম করুন (বড় 'W') এবং ভোল্টেজ মনিটর (v) চেক করুন। ধাপ 1, ডিভাইসের ঠিকানা খুঁজুন 1-ওয়্যার> (0xf0) <<< 1-ওয়্যার সার্চ ম্যাক্রো 1 ওয়াইয়ার রম কমান্ড: সার্চ (0xF0) এখানে ডিভাইস পাওয়া গেছে: ম্যাক্রো 1 ওয়াইরে অ্যাড্রেস 1.0.02D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B << DS24 অনন্য আইডি*DS2431 1K EEPROM <<প্রতিটি 1-ওয়্যার ডিভাইসের একটি অনন্য 8 বাইট আইডি রয়েছে। 1-তারের একটি অনুসন্ধান পদ্ধতি রয়েছে যা সমস্ত সংযুক্ত ডিভাইসের আইডি সনাক্ত করে। বাস পাইরেট 1-ওয়্যার অনুসন্ধান ম্যাক্রো (240) হিসাবে প্রয়োগ করে। 1-ওয়্যার অনুসন্ধান শুরু করতে বাস পাইরেট টার্মিনালে '(240)' টাইপ করুন। প্রতিটি ডিভাইসের ঠিকানা মুদ্রিত হয়, পরিচিত ডিভাইসগুলি চিহ্নিত করা হয়। প্রথম দশ-ওয়্যার ডিভাইসের ঠিকানাগুলি ম্যাক্রো হিসাবে সংরক্ষণ করা হয়, এই উদাহরণে আমাদের DS2431 ঠিকানা টার্মিনালে '(1)' টাইপ করে পাওয়া যায়। ধাপ 2, স্ক্র্যাচ প্যাডে 8 বাইট লিখুন 1-ওয়্যার> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11 ওয়্যার বাস রিসেট ওকে <<< এছাড়াও 64 বিট অ্যাড্রেস 1 ওয়াইয়ার অ্যাড্রেস ম্যাক্রো 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B 'রাইট: 0x0F <<< DS2431 স্ক্র্যাচ প্যাড কমান্ড লিখুন WRITE: 0x00 <<< DS2431 ঠিকানা বাইট 1 লিখুন লিখুন: 0x08 <<পরবর্তীতে আমরা DS2431 এর একটি অস্থায়ী স্থানে 8 বাইট লিখব যাকে বলা হয় স্ক্র্যাচ প্যাড। উভয়ই ম্যাক্রো '(0x55)' হিসাবে উপলব্ধ। এটি '{0x55' টাইপ করে ম্যাক্রো ছাড়াও করা যায়, {1-ওয়্যার রিসেট পাঠায়, 0x55 হল 1-ওয়্যার ম্যাচ কমান্ড। ম্যাচ কমান্ডের পরে, ডিভাইসের 8 বাইট আইডি ঠিকানায় পাঠান। আমরা ম্যাক্রো (1) ব্যবহার করেছি যা DS2431 আইডিতে প্রথম ধাপে ছিল। আপনি 8 বাইট আইডি ম্যানুয়ালি প্রবেশ করতে পারেন। এই মুহুর্তে DS2431 এর ঠিকানা পাওয়া উচিত এবং কমান্ডের জন্য প্রস্তুত হওয়া উচিত। 0x0f হল লেখার স্ক্র্যাচ প্যাড কমান্ড, এটি DS2431 কে তথ্য আশা করতে বলে। পরের দুটি বাইট এটিকে তথ্য কোথায় রাখবে তা বলে, আমরা এটি শুরুতে সংরক্ষণ করব (0 0)। অবশেষে, আমরা 8 বাইটের মান সংরক্ষণ করতে পাঠাই, 8 থেকে 1 সংখ্যাগুলি আপনাকে DS2431 এ একটি সম্পূর্ণ 8 বাইট লিখতে হবে। উপরন্তু, লেখার ঠিকানা অবশ্যই 8 বাইটের সীমানায় থাকতে হবে। লেখার সীমাবদ্ধতার সম্পূর্ণ ওভারভিউয়ের জন্য ডেটশীট দেখুন। ধাপ 3, স্ক্র্যাচ প্যাড যাচাই করুন এবং অনুমোদন কোড পান 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WIRE BUS RESET OK <<< device address 1WIRE WRITE ROM COMMAND: MATCH (0x55) *64 বিট ঠিকানা 1 ওয়্যার অ্যাড্রেস ম্যাক্রো 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< স্ক্র্যাচ প্যাড কমান্ড পড়ুন BULK READ 0x03 BYTES পড়ুন 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK READ 0x02 BYTES: <<< CRC for data0xC8 0x86BULK READ 0x02 BYTES: <<যাচাই করুন যে ডেটা সঠিকভাবে পেয়েছে, এবং একটি লেখার অনুমোদন কোড পান। এইবার DS2431 রিড স্ক্র্যাচ প্যাড কমান্ড (0xAA) পাঠান, এবং তারপর মোট 15 বাইট পড়ুন। EEPROM এ স্ক্র্যাচ প্যাড। পরবর্তী 8 বাইট (r: 8) আমাদের ধাপ 2 -এ পাঠানো ডেটার সাথে মিলে যাওয়া উচিত। সিআরসি সব 1s ফেরত পরে পড়ে। ধাপ 4, স্ক্র্যাচ প্যাড লিখুন EEPROM 1-WIRE> (0x55) (1) 0x55 0x00 0x00 0x071WIRE BUS RESET OK <<< device address 1WIRE WRITE ROM COMMAND: MATCH (0x55) *64bit address1WARE ADDRESS ADDRESS 1 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< অনুলিপি স্ক্র্যাচ প্যাড কমান্ড লিখুন: 0x00 <<< 3 বাইট অনুমোদন কোড ধাপ 3 থেকে: 0x00WRITE: 0x071-WIRE EEPROM. ডিভাইসটি অ্যাড্রেস করুন, তারপর DS2431 কপি স্ক্র্যাচ প্যাড কমান্ড (0x55) পাঠান, তারপরে আমরা ধাপ 3 (0x00 0x00 0x07) এ উদ্ধার করা তিনটি বাইট অনুমোদন কোড পাঠাব। যদি অনুমোদন কোড সঠিক হয়, ডেটা EEPROM এ স্থানান্তরিত হয়। ধাপ 5, যাচাই করুন স্ক্র্যাচ প্যাড লিখুন 1-ওয়্যার> (0x55) (1) 0xaa r: 31 ওয়্যার বাস রিসেট ঠিক আছে <<< ডিভাইসটি ঠিকানা দিন 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< স্ক্র্যাচ প্যাড কমান্ড পড়ুন BULK READ 0x03 BYTES: 0x00 0x00 0x87 <<DS2431 একটি সফল কপি স্ক্র্যাচ প্যাড কমান্ডের পরে লেখার অনুমোদন কোডের উপরের অংশটি সেট করে। আপডেট করা অনুমোদন কোড পেতে আরেকটি রিড স্ক্র্যাচ প্যাড কমান্ড (0xAA) পাঠান, কিন্তু শুধু প্রথম তিনটি বাইট পড়ুন (r: 3)। পূর্ববর্তী মান 0x07 0x87 তে পরিবর্তিত হয়েছে, কপি কমান্ড সফলভাবে প্রাপ্ত হয়েছে।ধাপ 6, 1-ওয়্যার> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81WIRE BUS RESET ঠিক আছে <<< ডিভাইসটি ঠিকানা দিন 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 read commandWRITE: 0x00 <<< 2 byte read addressWrite: 0x00BULK READ 0x08 BYTES: <<< 8x0x0000000000000000x00000000000000x00x00x00x00x00x0x000x000x000x00x00x0x0x0x0x0x0x0x0x0x00x00x00x00x00x0000000000000000000000000000000000000000000000000000000000000000000000000000 0x08 BYTES: <<মানগুলি পুনরুদ্ধার করে সঠিকভাবে লেখাটি যাচাই করুন। DS2431 এ ঠিকানা দিন, তারপর রিড কমান্ড (0xf0) পাঠান এবং (0x00 0x00) থেকে পড়ার ঠিকানা পাঠান।একটি কমান্ড দিয়ে পুরো মেমরি পরিসর পড়া সম্ভব। আমরা আগে লেখা আটটি বাইট (r: 8) পড়েছি, যা প্রত্যাশিত মান ফিরিয়ে দিয়েছে। এই মানগুলির বাইরে আটটি বাইট লেখা হয়নি এবং 0 ফেরত দেওয়া হয়েছে।

ধাপ 5: উপসংহার

উপসংহার
উপসংহার

উপসংহার এই প্রোটোটাইপটি EEPROM মেমোরি সম্পর্কে শিক্ষা দেয় এবং তিনটি সাধারণ প্রোটোকল দিয়ে কিভাবে বাস পাইরেট ব্যবহার করতে হয় তা দেখায়: 1-ওয়্যার, I2C এবং SPI। প্যারাসিটিক্যালি চালিত যন্ত্রাংশ সহ আরো চাহিদাযুক্ত 1-ওয়্যার বাস। PCBs প্রায় $ 10, কিট প্রায় $ 15, বিশ্বব্যাপী পাঠানো হয়। আমাদের শুরু করতে 10 পিসিবি বা 20 কিটের একটি গ্রুপ ক্রয়ের আয়োজন করতে হবে।

প্রস্তাবিত: