আপনি যদি নির্মাতা হন এবং আপনি কিছু ডিআইওয়াই প্রকল্প করছেন যেখানে আপনাকে মেমরির সাথে কাজ করতে হবে, অবশ্যই আপনি ইতিমধ্যে জানেন যে কীভাবে বিভিন্ন স্মৃতিগুলি আরডুইনো কাজকে সংহত করে, যেমন ফ্ল্যাশ (স্কেচ এবং বুটলোডার যেখানে স্টোর করা হয় সেখানে অ-উদ্বায়ী), এসআরএএম (একটি দ্রুত এবং অস্থির মেমরি যেখানে প্রোগ্রামের চলাকালগুলি প্রক্রিয়া চলাকালীন থাকে), এবং EEPROM চিপের (অস্থিতিশীল এবং রিবুট তথ্য সঞ্চয় করতে ব্যবহার করা যেতে পারে)।
আচ্ছা, আরডুইনোর অন্তর্ভুক্ত EEPROM ছাড়াও, আপনি এর বাহ্যিক চিপগুলিও ব্যবহার করতে পারেন এই ধরণের স্মৃতি, হিসাবে হিসাবে আরও একটি উপাদান। এগুলি বোঝার জন্য জটিল নয় বা অ্যাক্সেসগুলি (লিখন এবং পড়া) বা সঞ্চিত তথ্যের আপডেটগুলি তৈরি করতে তাদের সাথে আলাপচারিতা করাও নয়। এই ধরণের স্মৃতি নিয়ে কাজ শুরু করার জন্য আপনার যা জানা দরকার তা এখানে পাবেন ...
ইপ্রোম কী?
এসটি মাইক্রোইলেকট্রনিক্স ইপ্রোম
La ইপ্রোম (বৈদ্যুতিন ক্ষয়যোগ্য প্রোগ্রামেবল কেবলমাত্র-কেবল মেমরি) এটি এক ধরণের রম মেমরি, যা হ'ল নন-ভোল্টাইল মেমরি যেখানে ডেটা স্থায়ীভাবে সংরক্ষণ করা হবে, এমনকি বিদ্যুৎ সরবরাহ সরিয়ে দেওয়া হলেও। এটি তাদের র্যামের অন্যদিকে রাখে (র্যান্ডম অ্যাকসেস মেমোরি), যা শক্তি চালিত না হওয়ার পরে তাদের সমস্ত ডেটা হারাবে।
EEPROM এর ক্ষেত্রে এটি রমের মতো স্মৃতি নয়, যাতে ডেটা রেকর্ড করা হয় এবং আর পরিবর্তন করা যায় না। EEPROM, ফ্ল্যাশের মতো, পরিবর্তিত হচ্ছে স্বীকার যেমন দরকার. অন্য কথায়, কিছু ডেটা সংরক্ষণ করা যায় এবং বিভিন্ন মুছে ফেলা যায়।
প্রকৃতপক্ষে, এর সংক্ষিপ্ত শব্দগুলি ইঙ্গিত হিসাবে, এটি একটি বৈদ্যুতিক ক্ষয়যোগ্য মেমরি (বৈদ্যুতিকভাবে ক্ষয়যোগ্য) পুনঃপ্রক্রামকরণের জন্য। এটি অন্য প্রকারের রম থেকে পৃথক, যা ইপিআরওমের মতো ক্ষয়যোগ্য, তবে এক্ষেত্রে বিদ্যুৎ মেমরির কোষগুলি মুছতে ব্যবহার করা হয় না, পরিবর্তে তাদের একটি ইউভি আলো প্রজেক্ট করতে সক্ষম হতে চিপের উপর একটি কোয়ার্টজ "উইন্ডো" ছিল। যা এটি মুছে ফেলা হয়েছিল।
যে বৈশিষ্ট্য ইপিআরওএম এটি তাদের কিছুটা অস্বস্তিকর করে তুলেছিল, মুছে ফেলার জন্য এই রশ্মির প্রজেক্ট করে। এবং সর্বোপরি, এই ধরণের রেডিয়েশনের সংস্পর্শে এলে তারা দুর্ঘটনাক্রমে মুছে যেতে পারে। EEPROM- এ, ভোল্টেজের মাধ্যমে আরও আরামদায়ক এবং নিরাপদ উপায়ে এটি করার অনুমতি দেওয়া হয়েছে।
অভ্যন্তরীণ গঠন
সূত্র: রিসার্চগেট.নাট
EEPROM কাজ করার জন্য, খুব নির্দিষ্ট মেমরি কোষের প্রয়োজন। এগুলি এমওএস প্রকারের ট্রানজিস্টর ব্যবহার করে নির্মিত, তবে traditionalতিহ্যবাহী এমওএসএফইটিগুলির তুলনায় একটি ভাসমান গেট রয়েছে। এই নতুন ট্রানজিস্টর একটি কাঠামো অনুসরণ করে যা হিসাবে পরিচিত Samos, এবং এর স্বাভাবিক অবস্থা কেটে যায় এবং আউটপুট সর্বদা একটি যৌক্তিক 1 সরবরাহ করে।
এই EEPROM কোষগুলি সীমাহীন সংখ্যক বার পড়তে পারে তবে এটি সীমাবদ্ধ এগুলি মুছে ফেলা এবং পুনঃব্যবস্থাপনের পরিমাণযেমনটি অন্য অনেকের ক্ষেত্রে ঘটে। এটি ফ্ল্যাশ হওয়ার ক্ষেত্রেও ঘটেছিল, এজন্য এসএসডি হার্ড ড্রাইভ, পেন ড্রাইভ ইত্যাদির স্থায়িত্ব সম্পর্কে এত বেশি আলোচনা হয়েছে talk
সামোসের ক্ষেত্রে, এই সীমাটি এর মধ্যে 100.000 এবং 1.000.000 বার XNUMX। তার পরে, তারা ব্যর্থ হবে। যাইহোক, কিছু কাঠামো যা পুরানো পরিচিত দ্বারা তৈরি করা হয়েছিল, সেগুলির মধ্যে অন্যতম মহাত্মা: তোশিবা (১৯৮৪) থেকে ডাঃ ফুজিও মাসুওকা, যিনি অন্যান্য গুরুত্বপূর্ণ স্মৃতি এবং অর্ধপরিবাহী কাঠামোও তৈরি করেছেন ... তবে, প্রথম চিপটি চালু হয়েছিল 1984 সাল থেকে বাজারটি ইন্টেলের ছিল, এটি একটি এনওআর টাইপ ইপ্রোম।
তদাতিরিক্ত, আপনাকে জানতে হবে যে এই ধরণের মেমরিটি সাধারণত সিপিইউ বা কন্ট্রোলারের মাধ্যমে যুক্ত থাকে বাস এসপিআই এর মতো প্রোটোকল সহ, I2Cইত্যাদি এমসিইউগুলির (মাইক্রোকন্ট্রোলার) ক্ষেত্রে সাধারণত কিছু ডিএসপির মতো বৃহত্তর গতি অর্জনের জন্য এটি অভ্যন্তরে একীভূত হয়।
উপরের ছবিতে দেখা যাবে, সামোস ট্রানজিস্টর যা মেমরি কোষ গঠন করে, সেই ক্ষেত্রে জোড়ায় জোড়ায় গ্রুপ করা হয়। কিছু ট্রানজিস্টরের গেটগুলির সাথে সংযুক্ত একটি লাইন পছন্দ লাইন হিসাবে অ্যাক্সেসের (পড়ার এবং লেখার জন্য) লাইন চিহ্নিত বা সংকেত দেওয়ার জন্য কাজ করে এবং অন্যটি সেই তথ্য বিট (0 বা 1) সংরক্ষণ করে।
ট্রানজিস্টরগুলি প্রয়োজনীয় শব্দের দৈর্ঘ্য (4-বিট, 8-বিট, 16-বিট, ...) এবং যতগুলি শব্দের সাথে সংযুক্ত থাকে ধারণক্ষমতা আপনি EEPROM রাখতে চান (যেমন: এখানে there৪-বিট শব্দের দৈর্ঘ্য হতে পারে এবং ১ lines টি লাইন = 64 বিট, অর্থাৎ 16 কেবি) হতে পারে।
EERPOM কীভাবে কাজ করে?
আপনি পার্শ্বে দেখতে পারেন, সঞ্চালন বিভিন্ন কাজ, আপনার গেট, উত্স এবং ড্রেনের ভোল্টেজ অবশ্যই একটি কংক্রিট হতে হবে:
- 20v এ দরজা এবং 20v এ ড্রেন কাঙ্ক্ষিত বিট সঞ্চয় করতে মেমরি সেলটির প্রোগ্রামিং (লেখার)।
- 0v এ দরজা এবং 20v এ ড্রেন = সঞ্চিত বিটটি সাফ করুন যাতে এটি অন্য কোনও মান দিয়ে পুনরায় প্রোগ্রাম করা যায়।
- গেটটি 5 ভি এবং ড্রেন 5v = এ সঞ্চিত বিট পড়ুন। লেখার চেয়ে গেটের ভোল্টেজ কম থাকায় সঞ্চিত মানটি পরিবর্তন হবে না। ড্রেন ভোল্টেজের সাথে একই ঘটনা ঘটে, কম থাকায় সঞ্চিত বিটটি মুছে ফেলা হবে না।
উপসংহার, EEPROM গুলি কয়েকটি ব্যবহার করে ভোল্টেজ মুছে ফেলতে এবং লেখার জন্য "উচ্চ", পড়ার জন্য নিম্ন ভোল্টেজ ব্যবহার করার সময় ...
EEPROM কিনুন এবং এটির সাথে কাজ করুন
STMicroelectronics, মাইক্রো ইলেক্ট্রনিক্স প্রস্তুতকারী ফরাসী প্রস্তুতকারক, এই ধরণের EEPROM চিপগুলির মধ্যে প্রথম স্থানে রয়েছেন, যদিও মাইক্রোচিপের মতো আরও অনেক নির্মাতা রয়েছে। এই চিপগুলি সাধারণত বেশ সস্তা হয়।
আপনি যদি সিদ্ধান্ত নেন এই চিপগুলির একটি ব্যবহার করুন, আপনার প্রস্তুতকারক এবং মডেলটি দেখতে হবে এবং এর সন্ধান করা উচিত উপাত্তপত্র সমস্ত প্রস্তুতকারকের প্রস্তাবনাগুলি দেখতে যেমন সেগুলি একে অপর থেকে আলাদা হতে পারে। উদাহরণস্বরূপ, তারা ভোল্টেজ নির্দিষ্ট করে যা এটি কাজ করে, পিনআউটইত্যাদি সুতরাং আপনি আপনার প্রকল্পটি সঠিকভাবে কনফিগার করতে পারেন।
আকার এবং মডেলের উপর নির্ভর করে এর কম-বেশি থাকতে পারে পাইন। তবে আপনাকে ধারণা দেওয়ার জন্য একটি সাধারণ 24LC512 ইপ্রোম আইসি চিপটি তৈরি করা যেতে পারে:
- কনফিগারেশনে ব্যবহৃত পিন 1 (এ 0), 2 (এ 1), এবং 3 (এ 3) সিলেকশন পিনগুলি।
- পিন 4 (ভিসি / জিএনডি) মাটির সাথে সংযুক্ত।
- আই 5 সি যোগাযোগের জন্য সিরিয়াল ডেটার জন্য পিন 2 (এসডিএ)।
- আই 6 সি এর জন্য ঘড়ির জন্য পিন 2 (এসসিএল) করুন।
- পিন 7 (ডাব্লুপি), লিখন-সুরক্ষা বা সুরক্ষা লিখুন। এটি জিএনডি-র সাথে সংযুক্ত থাকলে লিখন সক্ষম হবে। যদি এটি ভিসিসির সাথে সংযোগ করে তবে এটি অক্ষম।
- পিন 8 (ভিসিসি), পাওয়ারের সাথে সংযুক্ত।
জন্য হিসাবে প্রযুক্তিগত বিবরণ এই চিপ এর:
- 512 কে (64 × 8)
- লেখার জন্য 128-বাইট বাফার
- অপারেশনাল ভোল্টেজ: 1.8v থেকে 5.5v
- বর্তমান পড়া: 40uA
- যোগাযোগ বাস: আই 2 সি
- চক্র লিখুন: 5 মিমি
- ঘড়ির সামঞ্জস্য: 100-400Khz
- স্থায়িত্ব: 10.000.000 চক্র
- 8 টি ডিভাইস পর্যন্ত ক্যাসকেড করা যায়
- প্যাকেজিং: 8-পিন ডিআইপি, এসওআইজে, এসওআইসি এবং টিএসএসওপি।
কোথায় কিনতে হবে
পাড়া ইপ্রোম চিপস কিনুন, আপনি এই সুপারিশগুলি একবার দেখে নিতে পারেন:
- 95040Kb এসটি 4 সিরিয়াল এসপিআই
- কোন পণ্য পাওয়া যায় নি।
- কোন পণ্য পাওয়া যায় নি।
- কোন পণ্য পাওয়া যায় নি।
- এসটি 24 এলসি 256 সিরিয়াল আই 2 সি 256 কেবি
- কোন পণ্য পাওয়া যায় নি।
আরডুইনো ইপ্রোম ব্যবহার করা
আপনি যদি ইপ্রোমের সাথে কাজ শুরু করতে চান তবে আপনি নিজের বোর্ডের সাথেও চেষ্টা করতে পারেন যাও Arduino। এটি কীভাবে কাজ করতে পারে তা যৌক্তিক এবং প্রোগ্রামিং স্তরে বোঝার জন্য একটি সহজ উপায়ে প্রোগ্রাম করা যেতে পারে।
একটি ভেরিয়েবল সংরক্ষণ করার উদাহরণ
//Almacenar un valor en la EEPROM #include <EEPROM.h> float sensorValue; int eepromaddress = 0; //Función para simular lectura de un sensor o pin float ReadSensor() { return 10.0f; } void setup() { } void loop() { sensorValue = ReadSensor(); //Lectura simulada del valor EEPROM.put( eepromaddress, sensorValue ); //Escritura del valor en la EEPROM eepromaddress += sizeof(float); //Apuntar a la siguiente posición a escribir if(eepromaddress >= EEPROM.length()) eepromaddress = 0; //Comprueba que no existe desbordamiento delay(30000); //Espera 30s }
EEPROM থেকে ডেটা পড়ার উদাহরণ
//Leer una variable de coma flotante #include <EEPROM.h> struct MyStruct{ float field1; byte field2; char name[10]; }; void setup(){ float f; int eepromaddress = 0; //La lectura comienza desde la dirección 0 de la EEPROM EEPROM.get( eepromaddress, f ); Serial.print( "Dato leído: " ); Serial.println( f, 3 ); eepromaddress += sizeof(float); } void loop() { }
মানগুলি পুনঃনির্ধারণ করার উদাহরণ
//Actualizar valor de la EEPROM escribiendo el dato entrante por la A0 #include <EEPROM.h> int eepromaddress = 0; void setup() { } void loop() { int val = analogRead(0) / 4; EEPROM.update(eepromaddress, val); eepromaddress += sizeof(int); if(address == EEPROM.length()) eepromaddress = 0; delay(10000); //Espera de 10 segundos }
অধিক তথ্য - ফ্রি আরডুইনো কোর্স