ប្រសិនបើអ្នកជាអ្នកផលិតហើយអ្នកកំពុងធ្វើគំរោង DIY មួយចំនួនដែលអ្នកត្រូវធ្វើការជាមួយការចងចាំនោះអ្នកប្រាកដជាដឹងរួចហើយអំពីរបៀបនៃការចងចាំផ្សេងៗគ្នាដែល Arduino រួមបញ្ចូលការងារដូចជាពន្លឺ (មិនងាយនឹងបង្កជាកន្លែងដែលគំនូរព្រាងនិងឧបករណ៍ផ្ទុកទិន្នន័យត្រូវបានរក្សាទុក) អេស។ ម។ ម (ជាអង្គចងចាំលឿននិងងាយនឹងបង្កជាហេតុដែលអថេរកម្មវិធីនៅតែមានក្នុងពេលដំណើរការ) និងឯកសារ EEPROM (មិនងាយនឹងបង្កជាហេតុនិងអាចត្រូវបានប្រើដើម្បីរក្សាទុកព័ត៌មានដំណើរការឡើងវិញ) ។
ជាការប្រសើរណាស់បន្ថែមលើ EEPROM ដែលបានរួមបញ្ចូលនៅក្នុង Arduino អ្នកក៏អាចប្រើបន្ទះសៀគ្វីខាងក្រៅនៃ ប្រភេទនៃការចងចាំនេះ, របៀប សមាសភាគមួយបន្ថែមទៀត។ ពួកគេមិនស្មុគស្មាញក្នុងការយល់ហើយក៏មិនទាក់ទងជាមួយពួកគេដើម្បីបង្កើតការចូលប្រើ (សរសេរនិងអាន) ឬការធ្វើបច្ចុប្បន្នភាពព័ត៌មានដែលបានរក្សាទុក។ នៅទីនេះអ្នកនឹងរកឃើញអ្វីគ្រប់យ៉ាងដែលអ្នកត្រូវដឹងដើម្បីចាប់ផ្តើមធ្វើការជាមួយប្រភេទនៃការចងចាំទាំងនេះ ...
លិបិក្រម
តើអេសអរអេមគឺជាអ្វី?
អេសអរអេឡិចត្រូអេឡិចត្រូនិចអេអេសអរ
La EEPROM (អង្គចងចាំដែលអាចលុបចោលបានតែអេឡិចត្រូនិចដែលអាចលុបបំបាត់ចោលបាន) វាគឺជាប្រភេទនៃអង្គចងចាំរ៉ូមដែលជាអង្គចងចាំមិនងាយនឹងបង្កជាហេតុដែលទិន្នន័យនឹងត្រូវបានរក្សាទុកជាអចិន្ត្រៃយ៍ទោះបីជាការផ្គត់ផ្គង់ថាមពលត្រូវបានដកចេញក៏ដោយ។ ដែលធ្វើឱ្យពួកគេស្ថិតនៅផ្នែកម្ខាងទៀតនៃ RAMs (ចៃដន្យចូលប្រើសតិ) ដែលបាត់បង់ទិន្នន័យទាំងអស់នៅពេលពួកគេមិនដំណើរការ។
ក្នុងករណី EEPROM វាមិនមែនជាអង្គចងចាំដូចជារ៉ូមដែលទិន្នន័យត្រូវបានកត់ត្រាហើយមិនអាចផ្លាស់ប្តូរបានទៀតទេ។ EEPROM ដូចជាពន្លឺ សារភាពថាត្រូវបានផ្លាស់ប្តូរ តាមតម្រូវការ។ នោះគឺទិន្នន័យមួយចំនួនអាចត្រូវបានរក្សាទុកនិងលុបដើម្បីផ្ទុកទិន្នន័យផ្សេងៗគ្នា។
តាមពិតដូចពាក្យកាត់របស់វាបង្ហាញថាវាគឺជាក អង្គចងចាំដែលអាចលុបបានដោយអេឡិចត្រូនិច (អាចលុបបានតាមអេឡិចត្រូនិច) សម្រាប់ការសរសេរឡើងវិញ។ នេះខុសគ្នាពីប្រភេទរ៉ូមដទៃទៀតដែលអាចលុបចោលបានដូចជាអេអេសភីមប៉ុន្តែក្នុងករណីនេះអគ្គិសនីមិនត្រូវបានប្រើដើម្បីលុបកោសិការចងចាំទេផ្ទុយទៅវិញពួកគេមានរ៉ែថ្មខៀវ "បង្អួច" នៅលើបន្ទះឈីបដើម្បីអាចបញ្ចាំងកាំរស្មីយូវី។ ដែលវាត្រូវបានលុបចោល។
លក្ខណៈនោះ EEPROM វាធ្វើឱ្យពួកគេមិនស្រួលបន្តិចដោយត្រូវបញ្ចាំងកាំរស្មីទាំងនោះដើម្បីលុបវាចោល។ ហើយអ្វីដែលអាក្រក់បំផុតនោះពួកគេអាចត្រូវបានលុបចោលដោយចៃដន្យប្រសិនបើប៉ះពាល់នឹងកាំរស្មីប្រភេទនេះ។ នៅក្នុង EEPROMs វាត្រូវបានអនុញ្ញាតិឱ្យធ្វើវាតាមរយៈវ៉ុលក្នុងលក្ខណៈកាន់តែងាយស្រួលនិងមានសុវត្ថិភាព។
រចនាសម្ព័ន្ធផ្ទៃក្នុង
ប្រភព៖ Researchgate.net
ដើម្បីឱ្យ EEPROM ដំណើរការបានត្រូវការកោសិកាចងចាំពិសេស។ ពួកវាត្រូវបានបង្កើតឡើងដោយប្រើត្រង់ស៊ីស្ទ័រប្រភេទអេសអេសប៉ុន្តែមានច្រកទ្វារអណ្តែតបើប្រៀបធៀបទៅនឹងអេសអូអេសអេហ្វអេសបុរាណ។ ត្រង់ស៊ីស្ទ័រថ្មីទាំងនេះធ្វើតាមរចនាសម្ព័ន្ធដែលគេស្គាល់ សាម៉ូសហើយស្ថានភាពធម្មតារបស់វាត្រូវបានកាត់ផ្តាច់ហើយលទ្ធផលនឹងផ្តល់លទ្ធផលឡូជីខល ១ ជានិច្ច។
កោសិកា EEPROM ទាំងនេះអាចត្រូវបានអានចំនួនដងដែលមិនមានកំណត់ប៉ុន្តែវាមានកំណត់ ចំនួនដងដែលពួកគេអាចត្រូវបានលុបចោលនិងពិនិត្យឡើងវិញដូចដែលវាកើតឡើងចំពោះអ្នកដទៃជាច្រើន។ នេះក៏កើតឡើងចំពោះពន្លឺផងដែរដែលជាមូលហេតុដែលមានការនិយាយច្រើនអំពីភាពធន់នៃដ្រាយរឹងអេសឌីអេសឌីដ្រាយវ៍ប៊ិចជាដើម។
ក្នុងករណីអេសអេសអេសអេសអេសអេសអេសនេះកំណត់នៅចន្លោះ ១០០.០០០ និង ១.០០០.០០០ ដង។ បន្ទាប់ពីនោះពួកគេនឹងបរាជ័យ។ ដោយវិធីនេះរចនាសម្ព័ន្ធមួយចំនួនដែលត្រូវបានបង្កើតឡើងដោយអ្នកស្គាល់គ្នាចាស់ម្នាក់គឺអស្ចារ្យបំផុតគឺបណ្ឌិតហ្វូជីយូម៉ាសាអូកាមកពីក្រុមហ៊ុន Toshiba (ឆ្នាំ ១៩៨៤) ដែលបានបង្កើតអនុស្សាវរីយ៍និងរចនាសម្ព័ន្ធសំខាន់ ៗ ដទៃទៀតផងដែរ។ ទីផ្សារគឺជារបស់ក្រុមហ៊ុន Intel ពីឆ្នាំ ១៩៨៨ ដែលជាប្រភេទក្រុមហ៊ុន NOR ។
លើសពីនេះទៀតអ្នកត្រូវដឹងថាប្រភេទនៃការចងចាំនេះជាធម្មតាភ្ជាប់ទៅស៊ីភីយូឬឧបករណ៍បញ្ជាតាមរយៈ រថយន្ដក្រុង ជាមួយពិធីការដូចជា SPI I2Cល។ ក្នុងករណី MCU (microcontrollers) ជាធម្មតាវាត្រូវបានរួមបញ្ចូលនៅខាងក្នុងដូចជានៅក្នុង DSPs មួយចំនួនដើម្បីទទួលបានល្បឿនលឿនជាងមុន។
ដូចដែលអាចមើលឃើញនៅក្នុងរូបភាពខាងលើនេះ ត្រង់ស៊ីស្ទ័រ SAMOS ដែលបង្កើតជាកោសិកាចងចាំត្រូវបានដាក់ជាក្រុមក្នុងករណីនោះជាគូ។ ខ្សែមួយដែលភ្ជាប់ទៅនឹងក្លោងទ្វារនៃត្រង់ស៊ីស្ទ័រខ្លះដើរតួជាខ្សែបន្ទាត់នៃជម្រើសដើម្បីសម្គាល់ឬផ្តល់សញ្ញាដល់ខ្សែបន្ទាត់សម្រាប់ចូល (អាននិងសរសេរ) ហើយមួយទៀតនឹងជាខ្សែមួយដែលផ្ទុកព័ត៌មាន (០ ឬ ១) ។
ត្រង់ស៊ីស្ទ័រត្រូវបានតម្រឹមដើម្បីបង្កើតប្រវែងពាក្យដែលត្រូវការ (៤ ប៊ីត ៨ ប៊ីត ១៦ ប៊ីត ... ) និងពាក្យជាច្រើនដូចជា សមត្ថភាព អ្នកចង់មាន EEPROM (ឧ។ វាអាចមានប្រវែងពាក្យ ៦៤ ប៊ីតនិងមាន ១៦ បន្ទាត់ = ១០២៤ ប៊ីតគឺ ១ គ។ ក) ។
តើ EERPOM ដំណើរការយ៉ាងដូចម្តេច?
ដូចដែលអ្នកអាចមើលឃើញនៅចំហៀងដើម្បីអនុវត្ត ភារកិច្ចផ្សេងគ្នាវ៉ុលនៃច្រកទ្វារប្រភពនិងបង្ហូររបស់អ្នកត្រូវតែជាបេតុងមួយ៖
- ទ្វារនៅ 20v និងលូនៅ 20v = ការសរសេរកម្មវិធី (សរសេរ) នៃកោសិកាចងចាំដើម្បីផ្ទុកប៊ីតដែលចង់បាន។
- ទ្វារនៅ 0v និងលូនៅ 20v = លុបប៊ីតដែលបានរក្សាទុកដើម្បីឱ្យវាអាចត្រូវបានពិនិត្យឡើងវិញជាមួយនឹងតម្លៃផ្សេងទៀត។
- ច្រកទ្វារនៅទំហំ ៥ វ៉និងលូនៅទំហំ ៥ វ៉ = អានប៊ីតដែលបានរក្សាទុក។ ដោយសារវ៉ុលច្រកទ្វារទាបជាងការសរសេរតម្លៃរក្សាទុកនឹងមិនត្រូវបានផ្លាស់ប្តូរទេ។ ដូចគ្នាកើតឡើងជាមួយវ៉ុលបង្ហូរដែលទាបជាងនេះប៊ីតដែលបានរក្សាទុកនឹងមិនត្រូវបានលុបចោលទេ។
សេចក្តីសន្និដ្ឋាន EEPROM ប្រើពីរបី វ៉ុល "ខ្ពស់" សម្រាប់ការលុបនិងការសរសេរខណៈពេលដែលប្រើវ៉ុលទាបសម្រាប់ការអាន ...
ទិញ EEPROM ហើយធ្វើការជាមួយវា
STMicroelectronicsដែលជាក្រុមហ៊ុនផលិតមីក្រូអេឡិចត្រូនិចបារាំងជាប់ចំណាត់ថ្នាក់លេខមួយនៅក្នុងបន្ទះឈីបអេអេអេអរអេមប្រភេទនេះទោះបីជាមានក្រុមហ៊ុនផលិតជាច្រើនទៀតដូចជាមីឆិចក៏ដោយ។ បន្ទះសៀគ្វីទាំងនេះមានតំលៃថោកណាស់។
ប្រសិនបើអ្នកសំរេចចិត្ត ប្រើបន្ទះឈីបមួយក្នុងចំណោមបន្ទះឈីបទាំងនេះ អ្នកគួរតែមើលក្រុមហ៊ុនផលិតនិងម៉ូដែលហើយរកមើលវា Datasheet ដើម្បីមើលការណែនាំទាំងអស់របស់អ្នកផលិតព្រោះវាអាចខុសគ្នាពីមួយទៅមួយ។ ឧទាហរណ៍ពួកគេនឹងបញ្ជាក់វ៉ុលដែលវាដំណើរការ pinout នេះល។ ដូច្នេះអ្នកអាចកំណត់រចនាសម្ព័ន្ធគម្រោងរបស់អ្នកឱ្យបានត្រឹមត្រូវ។
អាស្រ័យលើទំហំនិងម៉ូដែលវាអាចមានតិចឬច្រើន ស្រល់។ ប៉ុន្តែដើម្បីផ្តល់ឱ្យអ្នកនូវគំនិតមួយបន្ទះឈីបអាយអេសអរ ២៤ អ៊ីញ ២៤១២៥១២ អាចត្រូវបានផ្សំឡើងដោយ៖
- ម្ជុលទី ១ (A1), ២ (A0), និង ៣ (A2) ដែលត្រូវបានប្រើនៅក្នុងការកំណត់រចនាសម្ព័ន្ធគឺជាសសរស្តម្ភនៃការជ្រើសរើស។
- ម្ជុលទី ៤ (វី។ ស៊ី។ ឌី។ អេ។ ឌី។ អេស) ភ្ជាប់នឹងដី។
- កូដ Pin 5 (SDA) សម្រាប់ទិន្នន័យសៀរៀលសម្រាប់ទំនាក់ទំនង I2C ។
- ម្ជុល ៦ (អេសអិល) សម្រាប់នាឡិកាសម្រាប់អាយ។ ស៊ី។ ស៊ី។
- កូដ Pin 7 (WP) សរសេរការពារឬសរសេរការពារ។ ប្រសិនបើវាត្រូវបានភ្ជាប់ទៅ GND ការសរសេរនឹងអាចបើកបាន។ ប្រសិនបើវាភ្ជាប់ទៅ Vcc វាត្រូវបានបិទ។
- ម្ជុល ៨ (វីស៊ី) ភ្ជាប់ទៅនឹងថាមពល។
ដូចជាសម្រាប់ លក្ខណៈបច្ចេកទេស នៃបន្ទះឈីបនេះ:
- 512K (64 × 8)
- អង្គចងចាំ ១២៨ បៃសម្រាប់សរសេរ
- វ៉ុលប្រតិបត្តិការ: ពី 1.8 វ៉ទៅ 5.5 វ៉
- អានបច្ចុប្បន្ន: 40uA
- ឡានក្រុងទំនាក់ទំនង៖ អាយ។ ស៊ី។ ស៊ី។ ស៊ី
- សរសេរវដ្តៈ ៥ ម
- ភាពឆបគ្នានៃនាឡិកា: 100-400Khz
- ភាពធន់: វដ្ត 10.000.000
- អាចត្រូវបានដាក់ជាឧបករណ៏រហូតដល់ ៨
- ការវេចខ្ចប់៖ ឌុយ ៨ ឌីសេសូស៊ីអាយស៊ីនិង TSSOP ។
កន្លែងដែលត្រូវទិញ
para ទិញបន្ទះឈីប EEPROMអ្នកអាចមើលការណែនាំទាំងនេះ៖
- សឺរាុំស៊្រីស៊្រីប៊ីស ៤៨០ ៩៥០៤០
- ST M28C64C ប៉ារ៉ាឡែល 64Kb
- ST M24C02C សៀរៀល I2C 2Kb
- ST M8571B6 សៀរៀល I2C 1Kb
- ST 24LC256 សៀរៀល I2C 256Kb
- មីក្រូឈីប 24LC256-i / sn សៀរៀល I2C 256Kb
ការប្រើប្រាស់ Arduino EEPROM
ប្រសិនបើអ្នកចង់ចាប់ផ្តើមធ្វើការជាមួយ EEPROM អ្នកក៏អាចសាកល្បងប្រើនៅលើក្តាររបស់អ្នកបានដែរ 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 }
ព័ត៌មានបន្ថែម - វគ្គសិក្សា Arduino ឥតគិតថ្លៃ
ធ្វើជាយោបល់ដំបូង