Vietnes sadaļas
Redaktora izvēle:
- Lādētājs, kura pamatā ir ATX barošanas avots Laboratorijas barošanas avots, kura pamatā ir 3528 PWM kontrolieris
- Ko darīt, ja vads neuzlādē jūsu iPhone
- Virtuālā mašīna operētājsistēmai Mac Virtuālie logi operētājsistēmā Mac OS
- Par Tele2 pakalpojumu Kā ievadīt maksājuma apstiprinājumu uz numuru 312
- Darbs ar iekšējo atmiņu EEPROM Eeprom dzēšana
- Huawei un Honor programmaparatūras instalēšana un atjaunināšana
- Subtitru izveide Subtitru darbnīcā
- Lāzerterapija (lāzerterapija) Lāzerterapijas iekārta "Matrix" Ko ārstē lāzerterapijas iekārta Matrix?
- Krāpnieciski abonementi un krāpšana telegrammas abonentos telegrammas kanālam
- Specialitāte "Infokomunikāciju tehnoloģijas un sakaru sistēmas" (bakalaura grāds) Infokomunikāciju tehnoloģijas un sakaru sistēmas 11
Reklāma
Iekšējā nepastāvīgā EEPROM atmiņa. Darbs ar iekšējo atmiņu EEPROM Eeprom dzēšana |
Pagājušajā reizē, kad es uzrakstīju savu “detalizēto atbildi uz jautājumu” par to, kā dublēt programmaparatūru no Mega, viņi man pārmeta, ka es nepieminēju EEPROM dublējumu. Toreiz es to nedarīju apzināti, jo... Es pareizi uzskatīju, ka sākotnējās “pieejas lādiņam” posmā nav nepieciešams visu sarežģīt. Fakts ir tāds, ka ne visiem ir skaidrs, ka EEPROM netiek mirgots, kompilējot un augšupielādējot programmaparatūru no Arduino IDE. Tas nozīmē, ka pilnīgi nekas netiek augšupielādēts EEPROM, kad programmaparatūra tiek augšupielādēta no IDE. Un manipulācijas ar EEPROM (ja tā lietošana programmaparatūrā vispār ir iespējota) tiek veiktas pavisam citā līmenī. Un tāpēc, lai dublētu tukšu programmaparatūru bez precizēšanas, kuru IESPĒJAMS (tikai iespējams) var saglabāt EEPROM, bija pilnīgi pietiekami saglabāt tikai tukšu programmaparatūru. Bet, tā kā ir radies jautājums, kāpēc gan to “nekošļāt”. Iziesim cauri secībā. Kas ir EEPROM un kāpēc par to runāt? Kā 3D printeris izmanto EEPROM? #define EEPROM_SETTINGS Ja ir iespējota EEPROM izmantošana, printeris var saglabāt un izmantot šādus iestatījumus (norādīts no buržuāzijas):
Kā lasīt un rakstīt datus EEPROM? Šī komanda nolasa EEPROM datus failā "printer_eeprom.eep". Ierakstīšana arī nav sarežģīta un tiek veikta ar līdzīgu komandu, kas atšķiras tikai ar taustiņu -U Tas nav "r", bet gan "w". Ja tas izdosies, ekrānā tiks parādīts šāds ziņojums. Vispirms ar “kāpēc to darīt?” EEPROM ir jāizdzēš, ja to izmantoja arī iepriekšējā programmaparatūra, un atmiņā var būt palikuši atkritumi. Kaut kur jau esmu saskāries ar cilvēkiem ar problēmām, ka pēc pārejas no vienas programmaparatūras uz citu (no Marlin uz Repitier EMNIP) viņu printeris sāka izturēties, tā sakot, “radoši”. Tas ir saistīts ar faktu, ka dažādas programmaparatūras datus saglabā dažādās adresēs. Un, mēģinot nolasīt datus no nepareizās adreses, sākas juceklis. EEPROM no programmaparatūras var izdzēst tikai programmatiski, taču, lai to izdarītu, kontrolierī būs īslaicīgi jāaugšupielādē īpaša skice. Vairāk par to varat lasīt oficiālajā Arduino dokumentācijā. Ja EEPROM tiek izdzēsts nevis Arduino platē, bet gan kādā abstraktā kontrollerī, tad skices kods būs jāmaina, ņemot vērā EEPROM lielumu konkrētā plates kontrolierī. Lai to izdarītu, cilpā "For" būs jāmaina beigu nosacījums. Piemēram, ATmega328, kuram ir 1 kb EEPROM atmiņa, cikls izskatīsies šādi: Secinājums. Es jau labu laiku esmu klaiņojis, bet kam tas viss? Lai secinātu, ka, dublējot programmaparatūru, EEPROM var arī saglabāt, bet tikai tad, ja ir nepieciešami tajā saglabātie iestatījumi. Ja esat gatavs tos upurēt, tad aizmirstiet par to. Tāpat, ja maināt vienu programmaparatūru uz citu vai pārslēdzaties no versijas uz citu, neesiet slinks notīrīt EEPROM pirms jaunās programmaparatūras augšupielādes. Nu, tajā pašā laikā mēs uzzinājām daudz jauna. Mikroshēmas dažādiem mērķiem tiek izmantotas kā daļa no mūsdienu elektronikas. Milzīgu šādu komponentu klāstu papildina atmiņas mikroshēmas. Šāda veida radio komponentus (elektronikas inženieru un cilvēku vidū) bieži sauc vienkārši par mikroshēmām. Atmiņas mikroshēmu galvenais mērķis ir saglabāt noteiktu informāciju ar iespēju ar programmatūru ievadīt (rakstīt), mainīt (pārrakstīt) vai pilnībā dzēst (dzēst). Vispārējā interese par atmiņas mikroshēmām ir saprotama. Meistariem, kuri prot programmēt atmiņas mikroshēmas, paveras plašas iespējas moderno elektronisko ierīču remonta un konfigurācijas jomā. Atmiņas mikroshēma ir elektroniska sastāvdaļa, kuras iekšējā struktūra spēj saglabāt (atcerēties) ievadītās programmas, jebkurus datus vai abus vienlaikus. Būtībā mikroshēmā ielādētā informācija ir komandu virkne, kas sastāv no mikroprocesora skaitļošanas vienību kopas. Jāpiebilst: atmiņas mikroshēmas vienmēr ir neatņemams papildinājums mikroprocesoriem – vadības mikroshēmām. Savukārt mikroprocesors ir jebkuras mūsdienu tehnoloģijas elektronikas pamats. Elektronisko komponentu komplekts uz modernas elektroniskas ierīces dēļa. Kaut kur starp šo radio komponentu masu ir komponents, kas spēj uzglabāt informāciju. Tādējādi mikroprocesors kontrolē, un atmiņas mikroshēma saglabā mikroprocesoram nepieciešamo informāciju. Programmas vai dati tiek saglabāti atmiņas mikroshēmā kā skaitļu virkne - nulles un vieninieki (biti). Vienu bitu var attēlot ar loģisku nulli (0) vai loģisku vienu (1). Vienotā formā bitu apstrāde šķiet sarežģīta. Tāpēc biti tiek apvienoti grupās. Sešpadsmit biti veido "vārdu" grupu, astoņi biti veido baitu - "vārda daļu", četri biti - "vārda gabalu". Visbiežāk lietotais programmatūras termins mikroshēmām ir baits. Šis ir astoņu bitu komplekts, kam var būt no 2 līdz 8 skaitliskām variācijām, kopā sniedzot 256 dažādas vērtības. Lai attēlotu baitu, tiek izmantota heksadecimālā skaitļu sistēma, kas paredz izmantot 16 vērtības no divām grupām:
Tāpēc divu heksadecimālo rakstzīmju kombinācijas satur arī 256 vērtības (no 00h līdz FFh). Beigās esošā "h" rakstzīme norāda heksadecimālos skaitļus. Atmiņas mikroshēmu organizēšana8 bitu atmiņas mikroshēmām (visizplatītākais veids) biti tiek apvienoti baitos (8 biti) un tiek saglabāti noteiktā "adresē". Piešķirtā adrese ļauj piekļūt baitiem. Astoņi piekļuves adreses biti tiek izvadīti caur astoņiem datu portiem. ![]() EEPROM ir nepastāvīga elektriski dzēšama atmiņa. Rakstīšanas-dzēšanas ciklu skaits šajās mikroshēmās sasniedz 1 000 000 reižu. Traucējošās šūnas tajās, kā arī EPROM tikai lasāmajās atmiņās tiek realizētas, izmantojot peldošo vārtu tranzistorus. Šīs atmiņas šūnas iekšējā struktūra ir parādīta 1. attēlā: 1. attēls. Elektriski dzēšamā ROM (EEPROM) atmiņas šūna EEPROM atmiņas šūna ir MOS tranzistors, kurā vārti ir izgatavoti no polikristāliskā silīcija. Tad mikroshēmas ražošanas procesā šie vārti tiek oksidēti un rezultātā tos ieskauj silīcija oksīds, dielektriķis ar izcilām izolācijas īpašībām. Tranzistorā ar peldošiem vārtiem, kad ROM ir pilnībā izdzēsts, “peldošajos” vārtos nav lādiņa, un tāpēc šis tranzistors nevada strāvu. Programmēšanas laikā uz otrajiem vārtiem, kas atrodas virs peldošajiem vārtiem, tiek pielikts augsts spriegums un tunelēšanas efekta dēļ tajos tiek inducēti lādiņi. Pēc programmēšanas sprieguma noņemšanas inducētais lādiņš paliek uz peldošajiem vārtiem, un tādējādi tranzistors paliek vadošā stāvoklī. Tā peldošās skrūves lādiņu var uzglabāt gadu desmitiem. Līdzīga atmiņas šūna tika izmantota ultravioletā starojuma dzēšamajā ROM (EPROM). Atmiņas šūnā ar elektrisko dzēšanu iespējams ne tikai rakstīt, bet arī dzēst informāciju. Informācija tiek izdzēsta, pieslēdzot programmēšanas vārtiem spriegumu, kas ir pretējs ierakstīšanas spriegumam. Atšķirībā no UV dzēšanas ROM, EEPROM atmiņas dzēšanas laiks ir aptuveni 10 ms. Negaistošās atmiņas blokshēma ar elektrisko dzēšanu neatšķiras no maskas ROM blokshēmas. Vienīgā atšķirība ir tāda, ka kausējamā džempera vietā tiek izmantota iepriekš aprakstītā šūna. Tā vienkāršotā blokshēma ir parādīta 2. attēlā. ![]() 2. attēls. Vienkāršota EEPROM blokshēma Kā piemēru EEPROM atmiņas mikroshēmām mēs varam nosaukt vietējās mikroshēmas 573РР3, 558РР3 un ārvalstu mikroshēmas no AT28с010, AT28с040 sērijas no Atmel, HN58V1001 no Hitachi Semiconductor, X28C010 no Intersil Corporation. EEPROM atmiņā mobilajās ierīcēs visbiežāk tiek glabāti lietotāja dati, kurus nevajadzētu dzēst, izslēdzot strāvu (piemēram, adrešu grāmatas), maršrutētāju vai mobilo ierīču konfigurācijas informācija, retāk šīs mikroshēmas tiek izmantotas kā FPGA konfigurācijas atmiņa vai DSP dati. uzglabāšana. EEPROM ir attēloti shēmas shēmās, kā parādīts 3. attēlā. ![]() 3. attēls. Elektriski dzēšamas lasāmatmiņas ierīces grafiskais apzīmējums Informācijas nolasīšana no paralēlās EEPROM atmiņas ir līdzīga lasīšanai no maskas ROM. Vispirms adrešu kopnē tiek iestatīta nolasāmās atmiņas šūnas adrese binārajā kodā A0...A9, pēc tam tiek pielietots nolasīšanas signāls RD. CS mikroshēmas izvēles signālu parasti izmanto kā papildu adreses vadu, lai piekļūtu mikroshēmai. Signālu laika diagrammas šāda veida ROM ieejās un izejās ir parādītas 4. attēlā. ![]() 4. attēls. Signālu laika diagrammas informācijas nolasīšanai no EEPROM atmiņas 5. attēlā parādīts tipiska korpusa rasējums paralēlai EEPROM atmiņas mikroshēmai. ![]() 5. attēls. Paralēlā EEPROM mikroshēmas korpusa rasējums Parasti EEPROM saglabātie dati ir nepieciešami diezgan reti. Lasīšanas laiks šajā gadījumā nav kritisks. Tāpēc dažos gadījumos adrese un dati tiek pārsūtīti uz mikroshēmu un atpakaļ caur seriālo portu. Tas ļauj samazināt mikroshēmu izmērus, samazinot ārējo tapu skaitu. Šajā gadījumā tiek izmantoti divu veidu seriālie porti - SPI ports un I2C ports (mikroshēmas attiecīgi 25cXX un 24cXX sērija). Ārzemju sērija 24cXX atbilst vietējai mikroshēmu sērijai 558PPX. 24cXX sērijas mikroshēmu iekšējā shēma (piemēram, AT24C01) ir parādīta 6. attēlā. ![]() 6. attēls. AT24C01 mikroshēmas iekšējā shēma Šādas mikroshēmas tiek plaši izmantotas, lai saglabātu televizora iestatījumus, piemēram, datoru un klēpjdatoru plug and play atmiņu, FPGA konfigurācijas atmiņu un signālu procesorus (DSP). Seriālās EEPROM atmiņas izmantošana ir ievērojami samazinājusi šo ierīču izmaksas un palielinājusi lietošanas ērtumu. Piemērs šīs mikroshēmas novietojumam uz datora atmiņas kartes iespiedshēmas plates ir parādīts 7. attēlā. ![]() 7. attēls. EEPROM uz datora atmiņas kartes iespiedshēmas plates 8. attēlā parādīta elektroniskās kartes diagramma, kurā tiek izmantota ārējā EEPROM mikroshēma. ![]() 8. attēls. Elektroniskās kartes shēma, izmantojot ārējo EEPROM Šajā diagrammā mikrokontrolleris PIC16F84 apmainās ar datiem ar EEPROM atmiņu 24LC16B. Tādas ierīces kā SIM karte vairs neizmanto ārējo atmiņas mikroshēmu. Mobilo ierīču SIM kartes izmanto vienas mikroshēmas mikrokontrollera iekšējo EEPROM atmiņu. Tas ļauj pēc iespējas samazināt šīs ierīces cenu. Elektriski dzēšamo programmējamo ROM vadības ķēde izrādījās sarežģīta, tāpēc ir radušies divi šo mikroshēmu attīstības virzieni:
FLASH - ROM atšķiras no EEPROM ar to, ka dzēšana netiek veikta katrā šūnā atsevišķi, bet gan visai mikroshēmai kopumā vai šīs mikroshēmas atmiņas matricas blokam, kā tas tika darīts EEPROM. ![]() 9. attēls. FLASH atmiņas grafiskais apzīmējums Piekļūstot pastāvīgai atmiņas ierīcei, vispirms ir jāiestata adrešu kopnes atmiņas šūnas adrese un pēc tam jāveic lasīšanas darbība no mikroshēmas. Šī laika diagramma ir parādīta 11. attēlā. ![]() 10. attēls. Signālu laika diagrammas informācijas nolasīšanai no ROM 10. attēlā bultiņas parāda secību, kādā jāģenerē vadības signāli. Šajā attēlā RD ir nolasīšanas signāls, A ir šūnas adreses izvēles signāli (tā kā atsevišķi biti adreses kopnē var iegūt dažādas vērtības, tiek parādīti pārejas ceļi gan uz vienu, gan uz nulles stāvokli), D ir nolasītā izejas informācija. no atlasītās ROM šūnas. Literatūra: Kopā ar rakstu "Tikai lasāmatmiņas ierīces (ROM)" lasiet: Atmiņas parādīšanās rītausmā, kas saglabāja datus, kad tika izslēgta barošana (EPROM, dzēšams programmējams ROM - “izdzēšams / programmējams ROM” vai krievu valodā PPZU - “programmējams ROM”), tās galvenais veids bija ultravioletā dzēšamā atmiņa: UV-EPROM (Ultra-Violet EPROM, UV-PROM). Turklāt UV prefikss bieži tika izlaists, jo visi saprata, ka EPROM ir ultravioletā starojuma dzēšams, un ROM (vai ROM) ir vienkārši, bez papildinājumiem, vienreiz programmējami OTP-ROM kristāli. Mikrokontrolleri ar UV programmu atmiņu ir izplatīti kopš 90. gadu vidus. Ierīču ar UV atmiņu darba paraugos kvarca logs, caur kuru tika veikta dzēšana, tika noslēgts ar melnas līmlentes gabalu, jo UV-EPROM informācija saules gaismā lēnām tiek iznīcināta. Rīsi. 18.7. EPROM vienības šūnu dizains Attēlā 18.7. attēlā parādīta EPROM vienības šūnas struktūra, kas ir visu mūsdienu zibatmiņas veidu pamatā. Ja no tā izslēdzam to, kas norādīts ar uzrakstu “peldošie vārti”, mēs iegūstam visparastāko lauka efekta tranzistoru - tieši tādu pašu, kas iekļauts DRAM šūnā. Ja šāda tranzistora vadības vārtiem tiek pielikts pozitīvs spriegums, tas atvērsies un caur to plūdīs strāva (to uzskata par loģisku vienu stāvokli). Attēlā 18.7 augstāk parādīts gadījums, kad peldošie vārti nekādi neietekmē šūnas darbību - piemēram, šis stāvoklis ir raksturīgs tukšai zibatmiņai, kurā nekad nekas nav ierakstīts. Ja mums kaut kā (par to runāsim atsevišķi) izdosies uz peldošajiem vārtiem novietot noteiktu lādiņu daudzumu - brīvos elektronus, kas parādīti attēlā. 18.7 zemāk tumšu apļu veidā ar mīnusa zīmi, tad tie pasargās vadības elektroda darbību, un šāds tranzistors vispār pārtrauks vadīt strāvu. Šis ir loģisks nulles stāvoklis. Tā kā peldošos vārtus šādi sauc, jo tie “peld” izolatora (silīcija dioksīda) biezumā, lādiņi, kas reiz tiem ir nodoti, miera stāvoklī nekur nevar nokļūt. Un šādi ierakstītā informācija var tikt glabāta gadu desmitiem (līdz nesenam laikam ražotāji parasti sniedza 10 gadu garantiju, bet praksē normālos apstākļos uzglabāšanas laiks ir daudz ilgāks). Piezīmes malās Stingri sakot, NAND mikroshēmās (kas tiks apspriesta vēlāk) loģikai ir jābūt pretējai. Ja parastajā EPROM nevar atvērt ieprogrammētu šūnu, pieliekot nolasīšanas spriegumu, tad ir otrādi - to nevar bloķēt, noņemot spriegumu. Tāpēc jo īpaši tīrā NAND atmiņa izvada visas nulles, nevis vieniniekus, piemēram, EPROM. Bet tās ir nianses, kas nemaina lietas būtību. Octajiocb vispār nekas - izdomā, kā novietot lādiņus uz peldošajiem vārtiem, kas izolēti no visām ārējām ietekmēm. Un ne tikai tos ievietot - jo dažreiz atmiņa ir jāizdzēš, tāpēc ir jābūt veidam, kā tos no turienes izgūt. UV-EPROM oksīda slānis starp peldošajiem vārtiem un substrātu bija diezgan biezs (protams, ja 50 nanometrus var raksturot kā “biezu), un visa lieta darbojās diezgan rupji. Ierakstot, vadības vārtiem tika pielikts diezgan augsts pozitīvais spriegums - dažreiz līdz 36-40 V, un tranzistora notecē tika pielikts neliels pozitīvs spriegums. Šajā gadījumā elektronus, kas pārvietojās no avota uz noteci, vadības elektroda lauks tik ļoti paātrināja, ka tie vienkārši pārlēca pāri barjerai izolatora veidā starp substrātu un peldošajiem vārtiem. Šo procesu sauc arī par "karsto elektronu injekciju". Uzlādes strāva sasniedza miliampērus - varat iedomāties, kāds bija visas ķēdes patēriņš, ja tajā vienlaikus tika ieprogrammēti vismaz vairāki tūkstoši elementu. Un, lai gan šāda strāva bija nepieciešama diezgan īsu laiku (tomēr no ķēdes ātruma viedokļa tā nav tik īsa - milisekundes), tas bija lielākais trūkums no visiem vecajiem EPROM atmiņas paraugiem. Vēl trakāk ir gan izolators, gan pats peldošais slēģs ilgu laiku neizturēja šādu ļaunprātīgu izmantošanu un pamazām degradējās, tāpēc dzēšanas-rakstīšanas ciklu skaits tika ierobežots līdz vairākiem simtiem vai, augstākais, tūkstošiem. Daudzos vēlākos zibatmiņas modeļos bija pat īpaša shēma “salauztu” šūnu kartes glabāšanai - tieši tāpat kā cietajiem diskiem. Mūsdienu modeļiem ar miljoniem šūnu ir arī šāda karte - tomēr dzēšanas/rakstīšanas ciklu skaits šobrīd ir pieaudzis līdz simtiem tūkstošu. Kā tas tika panākts? Rīsi. 18.8. Dzēšanas process EPROM vienības šūnā Vispirms apskatīsim, kā šajā shēmā tika veikta dzēšana. UV-EPROM, kad tie tika apstaroti ar ultravioleto gaismu, augstas enerģijas fotoni piešķīra pietiekamu impulsu peldošā lādētāja elektroniem, lai tie paši varētu “lēkt” atpakaļ uz substrātu bez jebkādas elektriskās ietekmes. Pirmie elektriski dzēšamās atmiņas (EEPROM, Electrically Erasable Programmable ROM) paraugi tika izveidoti uzņēmumā Intel. 70. gadu beigās, tieši piedaloties topošajam Atmel dibinātājam Džordžam Perlegosam. Viņš izmantoja "kvantu Fowler-Nordheim tunelēšanas efektu". Aiz šī nesaprotamā nosaukuma slēpjas diezgan vienkārša pēc būtības (bet ļoti sarežģīta no fizikālā viedokļa) parādība: ar pietiekami plānu izolatora plēvi (tās biezums bija jāsamazina no 50 līdz 10 nm), elektroni, ja tie ir nedaudz nospiesti. pieliekot ne pārāk augstu spriegumu pareizajā virzienā, var izplūst cauri barjerai, nepārlecot tai. Pats process ir parādīts attēlā. 18.8 augšpusē (ņemiet vērā sprieguma zīmi uz vadības elektroda). Vecāki EEPROM modeļi darbojās tieši šādi: rakstīšana tika veikta ar “karsto injekciju”, bet dzēšana tika veikta ar “kvantu tunelēšanu”. Tāpēc ar tiem bija diezgan grūti darboties - pieredzējuši izstrādātāji atceras, ka pirmajām EEPROM mikroshēmām bija nepieciešami divi vai pat trīs barošanas spriegumi, un tie bija jāpiegādā noteiktā secībā, rakstot un dzēšot. EEPROM pārveidošana par zibspuldzi notika trīs dažādos virzienos. Pirmkārt, pašas šūnas dizaina uzlabošanas virzienā. Sākumā mēs atbrīvojāmies no vispretīgākā posma - “karstās injekcijas”. Tā vietā viņi sāka izmantot “kvantu tunelēšanu”, ierakstot, kā arī dzēšot. rīsi. 18.8 zemāk parādīts šis process - ja ar atvērtu tranzistoru vadības vārtiem tiek pielikts pietiekami augsts (bet ievērojami zemāks nekā ar “karsto iesmidzināšanu”) spriegums, tad daži elektroni, kas pārvietojas caur atvērto tranzistoru no avota uz noteci “izplūst” caur izolatoru un nonāk uz peldoša slēģa. Pašreizējais patēriņš ierakstīšanas laikā ir samazinājies par vairākām kārtām. Izolatoru gan nācās padarīt vēl plānāku, kas sagādāja diezgan lielas grūtības šīs tehnoloģijas ieviešanā ražošanā. Otrs virziens - šūna tika padarīta nedaudz sarežģītāka, pievienojot tai otru tranzistoru (parasto, nevis dubultvārtu), kas atdalīja visas mikroshēmas drenāžas izeju un nolasīšanas kopni. Pateicoties tam visam, bija iespējams panākt ievērojamu izturības pieaugumu – līdz pat simtiem tūkstošu ierakstīšanas/dzēšanas ciklu (ja tiek pievienotas kļūdu labošanas shēmas, tiek iegūti zibatmiņas kartēm raksturīgie cikli). Turklāt mikroshēmā tika pārvietotas augstsprieguma ģenerēšanas shēmas un attiecīgie rakstīšanas/dzēšanas impulsu ģeneratori, kas padarīja šāda veida atmiņu izmantošanu daudz ērtāku - tās sāka darbināt ar vienu spriegumu (5, 3,3 vai pat 1,8). V). Un visbeidzot, trešais, iespējams, vissvarīgākais uzlabojums bija izmaiņas piekļuves organizācijā mikroshēmas šūnām, kā rezultātā šāda veida atmiņa ieguva nosaukumu zibspuldze (tas ir, “zibens”), kas tagad ir pazīstama katrs digitālās kameras vai kabatas MP3 atskaņotāja īpašnieks. Tā 80. gadu vidū tika saukts EEPROM veids, kurā dzēšana un rakstīšana tika veikta vienlaikus veselos blokos - lapās. Tomēr nolasīšanas procedūra no patvaļīgas šūnas acīmredzamu iemeslu dēļ ir palēninājusies, lai to paātrinātu, ir nepieciešams ievietot starpposma (bufera) SRAM uz zibatmiņas kristāliem. Zibatmiņas diskiem tam nav lielas nozīmes, jo dati joprojām tiek lasīti un ierakstīti lielos masīvos vienlaikus, taču izmantošanai mikrokontrolleros tas var būt neērti. Turklāt MK ir neērti izmantot ātrāko zibspuldzes tehnoloģiju versiju - tā saukto. NAND tipa atmiņa (no loģiskās funkcijas nosaukuma “NAND”), kur principā ir iespējams lasīt un rakstīt atmiņu tikai 512 baitu blokos (tas ir parastais sektora izmērs cietajā diskā , arī lasīt un rakstīts pilnībā uzreiz - no šejienes jūs varat saprast galveno NAND mērķi). MK parasti izmanto tradicionālo (NOR tipa) programmu zibatmiņu, kurā lapas ir salīdzinoši neliela izmēra – aptuveni 64-256 baiti. Taču, ja lietotājs pats neuzņemas izveidot programmētāju šādai mikroshēmai, viņš var pat neapzināties atmiņas lappuses raksturu. Un lietotāja datiem EEPROM tiek izmantots vai nu ar iespēju nolasīt patvaļīgu baitu, vai arī sadalīts, bet ļoti mazos blokos - piemēram, 4 baitos. Tajā pašā laikā lietotāja piekļuve joprojām ir baits pa baitam. Šādas atmiņas raksturīga iezīme ir diezgan lēna (milisekundes) rakstīšanas procedūra, savukārt lasīšana nav lēnāka par jebkuru citu darbību mikrokontrollerī. Zibatmiņas tehnoloģiju attīstībai ir bijusi liela nozīme, lai padarītu mikrokontrollerus lētākus un pieejamākus. Turpmāk ar pastāvīgo atmiņu nodarbosimies ne tikai mikrokontrollera atmiņā iebūvētu programmu un datu veidā, bet arī ar atsevišķām mikroshēmām, kas ļauj ierakstīt diezgan lielus informācijas apjomus. Arduino ir vesela dažādu ierīču saime elektronisku projektu veidošanai. Mikrokontrolleri ir ļoti ērti lietojami un viegli apgūstami pat iesācējam. Katrs mikrokontrolleris sastāv no plates, darbības programmām un atmiņas. Šajā rakstā tiks aplūkota Arduino izmantotā nemainīgā atmiņa. EEPROM atmiņas aprakstsArduino saviem lietotājiem nodrošina trīs veidu iebūvēto ierīču atmiņu: stacionāro RAM (brīvpiekļuves atmiņa jeb SRAM – statiskā brīvpiekļuves atmiņa) – nepieciešama datu ierakstīšanai un uzglabāšanai lietošanas laikā; zibatmiņas kartes – jau ierakstītu modeļu saglabāšanai; – datu uzglabāšanai un turpmākai izmantošanai. Visi RAM dati tiek dzēsti, tiklīdz ierīce tiek restartēta vai tiek izslēgta barošana. Otrie divi saglabā visu informāciju pirms pārrakstīšanas un ļauj to izgūt, ja nepieciešams. Flash diski mūsdienās ir diezgan izplatīti. Ir vērts sīkāk apsvērt EEPROM atmiņu. Saīsinājums apzīmē elektriski dzēšamu programmējamu lasāmatmiņu, un tulkojumā krievu valodā burtiski nozīmē elektriski dzēšama programmējama lasāmatmiņa. Ražotājs garantē informācijas drošību vairākas desmitgades pēc pēdējā strāvas padeves pārtraukuma (parasti tiek norādīts 20 gadu periods atkarībā no ierīces uzlādes samazināšanās ātruma). Tomēr jums jāzina, ka iespēja pārrakstīt ierīcē ir ierobežota un nepārsniedz 100 000 reižu. Tāpēc ieteicams būt uzmanīgiem un vērīgiem pret ievadītajiem datiem un tos atkārtoti nepārrakstīt. Atmiņas apjoms, salīdzinot ar mūsdienu datu nesējiem, ir ļoti mazs un dažādiem mikrokontrolleriem atšķiras. Piemēram:
Tas ir izveidots šādā veidā, jo katrs mikrokontrolleris ir paredzēts noteiktam uzdevumu apjomam, tam ir atšķirīgs savienojuma tapu skaits un attiecīgi ir nepieciešams atšķirīgs atmiņas apjoms. Turklāt šī summa ir pietiekama kopīgi veidotiem projektiem. Rakstīšana uz EEPROM prasa ievērojamu laiku - apm. 3 ms. Ja ierakstīšanas laikā tiek izslēgta barošana, dati netiks saglabāti vispār vai var tikt ierakstīti nepareizi. Vienmēr ir nepieciešams papildus pārbaudīt ievadīto informāciju, lai izvairītos no kļūmēm darbības laikā. Datu lasīšana notiek daudz ātrāk, un tas nesamazina atmiņas resursus. BibliotēkaDarbs ar EEPROM atmiņu tiek veikts, izmantojot bibliotēku, kas tika īpaši izveidota Arduino. Galvenās ir spēja rakstīt un lasīt datus. aktivizēts ar komandu #include EEPROM.h.
Šajās skicēs: adrese – arguments ar tās šūnas datiem, kurā ievadīti otrā argumenta datu dati; lasot tiek izmantots viens arguments adrese, kas norāda, no kurienes informācija jālasa.
Veselu skaitļu rakstīšanaVeselu skaitļu ierakstīšana nepastāvīgā EEPROM atmiņā ir diezgan vienkārša. Cipari tiek ievadīti, kad funkcija tiek palaista EEPROM.write(). Nepieciešamie dati ir norādīti iekavās. Šajā gadījumā skaitļi no 0 līdz 255 un skaitļi virs 255 tiek rakstīti atšķirīgi. Pirmie tiek ievadīti vienkārši - to apjoms aizņem 1 baitu, tas ir, vienu šūnu. Lai rakstītu pēdējo, ir jāizmanto operatori highByte() augstākajam baitam un lowByte() zemākajam baitam. Skaitlis tiek sadalīts baitos un ierakstīts atsevišķi šūnās. Piemēram, skaitlis 789 tiks ierakstīts divās šūnās: pirmajā būs koeficients 3, bet otrajā - trūkstošā vērtība. Rezultāts ir vajadzīgā vērtība: 3 * 256 + 21 = 789 Priekš « liela vesela skaitļa "atkalapvienošanās", tiek izmantota funkcija vārds (): int val = vārds (sveiki, zems). Jums jāizlasa, ka maksimālais ierakstīšanas veselais skaitlis ir 65536 (tas ir, 2 līdz 16 pakāpei). Šūnās, kurās vēl nav bijuši citi ieraksti, monitors parādīs skaitļus 255 katrā. Peldošā komata skaitļu un virkņu rakstīšana Peldošā komata un virkņu skaitļi ir reālu skaitļu rakstīšanas veids, kur tos attēlo mantisa un eksponents. Šādi skaitļi tiek ierakstīti nemainīgā EEPROM atmiņā, aktivizējot funkciju EEPROM.put(), lasīšana, attiecīgi, – EEPROM.get(). Programmējot, peldošā komata skaitliskās vērtības tiek apzīmētas kā peldošas, ir vērts atzīmēt, ka tā nav komanda, bet gan skaitlis. Rakstzīmju tips (rakstzīmju tips) – izmanto, lai attēlotu virknes. Ciparu rakstīšanas process monitorā tiek uzsākts, izmantojot setup(), lasīšana - izmantojot loop(). Procesa laikā monitora ekrānā var parādīties vērtības ovf, kas nozīmē “pārpildīts” un nan, kas nozīmē “trūkst skaitliskās vērtības”. Tas nozīmē, ka šūnā ierakstīto informāciju nevar reproducēt kā peldošā komata skaitli. Šāda situācija neradīsies, ja jūs droši zināt, kurā šūnā, kāda veida informācija ir ierakstīta. Projektu un skiču piemēriPiemērs Nr.1Skice ierakstīs līdz 16 rakstzīmēm no seriālā porta un cilpā izvadīs 16 rakstzīmes no EEPROM. Pateicoties tam, dati tiek ierakstīti EEPROM un tiek uzraudzīts nemainīgās atmiņas saturs. // pārbaudiet EEPROM darbību #include Piemērs Nr.2Labākai izpratnei mēs varam izveidot nelielu skici, kas palīdzēs saprast, kā strādāt ar nemainīgu atmiņu. Mēs saskaitām visas šīs atmiņas šūnas. Ja šūna nav tukša - izvadiet uz seriālo portu. Pēc tam aizpildiet šūnas ar atstarpēm. Tad mēs ievadām tekstu caur seriālā porta monitoru. Mēs to ierakstām EEPROM un izlasām nākamreiz, kad to ieslēdzat. #iekļauts Piemērs Nr.3Ieraksta atmiņā divus veselus skaitļus, nolasa tos no EEPROM un izvada uz seriālo portu. Izmantojot funkciju, skaitļi no 0 līdz 255 aizņem 1 baitu atmiņas EEPROM.write() tiek ierakstīti vajadzīgajā šūnā. Skaitļiem, kas lielāki par 255, tie jāsadala baitos, izmantojot highByte() Un mazs baits () un ierakstiet katru baitu savā šūnā. Maksimālais skaits šajā gadījumā ir 65536 (vai 2 16). #iekļauts Piemērs Nr.4Peldošā komata skaitļu un virkņu rakstīšana - metode EEPROM.put(). Lasīšana - EEPROM.get(). #iekļauts Piemērs Nr.5Izmantojot EEPROM kā masīvu. #iekļauts Darbs ar EEPROMKā minēts iepriekš, EEPROM atmiņa ir ierobežota. Lai pagarinātu nepastāvīgās atmiņas kalpošanas laiku, rakstīšanas () funkcijas vietā labāk izmantot atjaunināšanas funkciju. Šajā gadījumā pārrakstīšana tiek veikta tikai tām šūnām, kurās vērtība atšķiras no tikko uzrakstītās. Vēl viena noderīga attiecīgā mikrokontrollera atmiņas funkcija ir iespēja izmantot baitu uzglabāšanas šūnas kā neatņemama EEPROM masīva daļas. Jebkurā lietošanas formātā ir nepieciešams pastāvīgi uzraudzīt ierakstīto datu integritāti. Šādā Arduino atmiņā parasti tiek glabātas vissvarīgākās lietas, kas nepieciešamas kontroliera un ierīces darbībai. Piemēram, ja uz šāda pamata tiek izveidots temperatūras regulators un sākotnējie dati izrādīsies kļūdaini, ierīce darbosies “neadekvāti” esošajiem apstākļiem - tā ļoti zemu vai pārvērtēs temperatūru. Pastāv vairākas situācijas, kad EEPROM satur nepareizus datus:
Lai izvairītos no nepatīkamām sekām, ierīci var ieprogrammēt vairākām darbības iespējām: lietot avārijas koda datus, pilnībā izslēgt sistēmu, signalizēt par darbības traucējumiem, izmantot iepriekš izveidotu kopiju vai citas. Lai kontrolētu informācijas integritāti, tiek izmantots sistēmas vadības kods. Tas tiek izveidots, pamatojoties uz sākotnējo datu ierakstu, un pēc pārbaudes tas pārrēķina datus. Ja rezultāts atšķiras, tā ir kļūda. Visizplatītākā šādas pārbaudes versija ir kontrolsumma - tiek veikta vienkārša matemātiska darbība, lai pievienotu visas šūnu vērtības. Pieredzējuši programmētāji šim kodam pievieno papildu "ekskluzīvu VAI", piemēram, E5h. Ja visas vērtības ir vienādas ar nulli un sistēma kļūdaini atiestatīja sākotnējos datus, šis triks atklās kļūdu. Šie ir pamatprincipi darbam ar nemainīgu EEPROM atmiņu Arduino mikrokontrolleriem. Dažiem projektiem ir vērts izmantot tikai šāda veida atmiņu. Tam ir gan savas priekšrocības, gan trūkumi. Lai apgūtu rakstīšanas un lasīšanas metodes, labāk sākt ar vienkāršiem uzdevumiem. |
Populārs:
Jauns
- Ko darīt, ja vads neuzlādē jūsu iPhone
- Virtuālā mašīna operētājsistēmai Mac Virtuālie logi operētājsistēmā Mac OS
- Par Tele2 pakalpojumu Kā ievadīt maksājuma apstiprinājumu uz numuru 312
- Darbs ar iekšējo atmiņu EEPROM Eeprom dzēšana
- Huawei un Honor programmaparatūras instalēšana un atjaunināšana
- Subtitru izveide Subtitru darbnīcā
- Lāzerterapija (lāzerterapija) Lāzerterapijas iekārta "Matrix" Ko ārstē lāzerterapijas iekārta Matrix?
- Krāpnieciski abonementi un krāpšana telegrammas abonentos telegrammas kanālam
- Specialitāte "Infokomunikāciju tehnoloģijas un sakaru sistēmas" (bakalaura grāds) Infokomunikāciju tehnoloģijas un sakaru sistēmas 11
- Odnoklassniki: kā atvērt manu lapu