b'\n_START_ARTICLE_\nMemoria Program la Microcontrollere\n_START_SECTION_\nMemorie Mask ROM\n_START_PARAGRAPH_\nAceast\xc4\x83 memorie este programat\xc4\x83 \xc3\xaen momentul cre\xc4\x83rii prin procesul precum fotolitografiere. \xc3\x8en urma acestui proces memoria este programat\xc4\x83 definitiv, de aceea acest tip de memorie este folosit \xc3\xaen cazul \xc3\xaen care se produce \xc3\xaen serie mare. Produc\xc8\x9bia \xc3\xaen numere foarte mari scade costul de fabrica\xc8\x9bie. Acest tip de memorie ofer\xc4\x83 cel mai mic cost per bit, oferind \xc8\x99i o vitez\xc4\x83 de acces bun\xc4\x83 \xc8\x99i o structur\xc4\x83 compact\xc4\x83 deoarece nivelele logice 0 \xc8\x99i 1 sunt date de existen\xc8\x9ba/lipsa unor conexiuni cu liniile de date pentru fiecare cuv\xc3\xa2nt programat. Acest tip de memorie program folosit\xc4\x83 de microcontrollere con\xc8\x9bine un firmware. Astfel de microcontrollere sunt g\xc4\x83site \xc3\xaen telecomenzi, tastaturi, ecrane TFT \xc8\x99i altele._NEWLINE_De cele mai multe ori se folosesc memorii nonvolatile de tipul EPROM sau EEPROM \xc3\xaen faza de dezvoltare a unui proiect, urm\xc3\xa2nd ca varianta final\xc4\x83 a codului s\xc4\x83 fie programat\xc4\x83 pe memorie de tip Mask ROM pentru produc\xc8\x9bia de serie._NEWLINE_Unele microcontrollere folosesc memorii ROM pentru bootloader sau pentru tabele de lookup._NEWLINE_Exist\xc4\x83 \xc8\x99i variante de memorie ROM ce poate fi programat\xc4\x83 dup\xc4\x83 fabrica\xc8\x9bie de c\xc4\x83tre utilizator(Programmable read-only memory). \xc3\x8en locul conexiunilor de la memoria ROM g\xc4\x83sim elemente fuzibile (interne memoriei) cu rezisten\xc8\x9ba mic\xc4\x83 ce sunt proiectate sa ard\xc4\x83 (op\xc8\x9bional) leg\xc4\x83turile c\xc4\x83tre liniile de date. Programarea const\xc4\x83 \xc3\xaen arderea leg\xc4\x83turilor nedorite, proces ce realizeaz\xc4\x83 practic scrierea de zerouri. \xc3\x8ens\xc4\x83 microcontrollerele nu folosesc astfel de memorii program datorit\xc4\x83 dificult\xc4\x83\xc8\x9bii de programare a lor. Pot fi folosite \xc3\xaen schimb ca memorii program externe, legate printr-o magistral\xc4\x83 extern\xc4\x83 la un microcontroller.\n_START_SECTION_\nMemorie EPROM\n_START_PARAGRAPH_\nAceast\xc4\x83 memorie (erasable programmable read only memory = \xc8\x99tergibil \xc8\x99i programabil ROM) folose\xc8\x99te tranzistoare MOS ca element programabil. Aceste tranzistoare con\xc8\x9bin c\xc3\xa2te o poart\xc4\x83 flotant\xc4\x83 ceea ce \xc3\xaenseamn\xc4\x83 c\xc4\x83 poarta nu este conectat\xc4\x83. Programarea are loc prin injectarea de electroni \xc3\xaen poarta flotant\xc4\x83 folosind o tensiune mai mare dec\xc3\xa2t cea obi\xc8\x99nuit\xc4\x83 (uzual \xc3\xaentre 12V \xc8\x99i 25V). \xc8\x98tergerea se produce prin scoaterea electronilor din poarta flotant\xc4\x83, proces realizat prin expunerea la raze ultraviolete printr-o fereastr\xc4\x83 mic\xc4\x83 \xc3\xaen exteriorul microcontrollerului. Expunerea dureaz\xc4\x83 \xc3\xaen jur de 20 de minute. Dup\xc4\x83 efectuarea \xc8\x99tergerii, fereastra trebuie acoperit\xc4\x83 pentru a proteja microcontrollerul de razele ultraviolete provenite de la soare. Exist\xc4\x83 \xc8\x99i variante de microcontrollere ce nu au fereastra, acestea fiind practic programabile o singur\xc4\x83 dat\xc4\x83 \xc8\x99i poart\xc4\x83 denumirea de OTPEPROM(one time programmable EPROM). Motivul pentru eliminarea ferestrei este de a reduce costurile de fabrica\xc8\x9bie. Aceste memorii pot p\xc4\x83stra datele programate un timp \xc3\xaendelungat, de la zece la chiar dou\xc4\x83zeci de ani, \xc3\xaen absen\xc8\x9ba aliment\xc4\x83rii._NEWLINE_Microcontrollerele ce folosesc astfel de memorii program sunt folositoare deoarece se pot programa pentru diverse aplica\xc8\x9bii \xc3\xaen func\xc8\x9bie de cerere. Programele pot fi \xc3\xaembun\xc4\x83t\xc4\x83\xc8\x9bite, modificate sau pot fi adaptate cerin\xc8\x9belor clientului \xc3\xaen ultimul moment._NEWLINE_Microcontrollerele cu astfel de memorii program au fost \xc3\xaenlocuite de cele cu memorii EEPROM sau FLASH, deoarece costurile de fabrica\xc8\x9bie sunt mai mari iar citirea \xc8\x99i scrierea este mai lent\xc4\x83 dec\xc3\xa2t la cele din urm\xc4\x83.\n_START_SECTION_\nMemorie EEPROM\n_START_PARAGRAPH_\nEEPROM (electricaly erasable programmable read only memory) este un tip de memorie ce permite programarea \xc8\x99i \xc8\x99tergerea octe\xc8\x9bilor electric. Programare se face similar cu cea de la memoriile EPROM iar \xc8\x99tergerea se face aplic\xc3\xa2nd un curent invers por\xc8\x9bilor flotante, astfel elimin\xc3\xa2nd necesitatea ferestrelor iar \xc8\x99tergerea poate fi f\xc4\x83cut\xc4\x83 \xc3\xaen acela\xc8\x99i circuit. Aceste memorii au \xc3\xaens\xc4\x83 un num\xc4\x83r limitat de scrieri/\xc8\x99tergeri, \xc3\xaens\xc4\x83 \xc3\xaen ultimul timp num\xc4\x83rul acesta a crescut sim\xc8\x9bitor. Exist\xc4\x83 o varietate de microcontrollere ce folosesc memorie EEPROM pentru program, acestea put\xc3\xa2nd fi programate pentru diferite aplica\xc8\x9bii \xc3\xaen func\xc8\x9bie de necesit\xc4\x83\xc8\x9bi. Astfel de microcontrollere sunt de preferat c\xc3\xa2nd memoria program contine un firmware la care firma poate aduce \xc3\xaembun\xc4\x83t\xc4\x83\xc8\x9biri sau s\xc4\x83 corecteze erori neidentificate. \xc3\x8en cazul \xc3\xaen care este nevoie de un firmware mai complex, de dimensiuni mai mari se prefer\xc4\x83 folosirea de microcontrollere cu memorie FLASH.\n_START_SECTION_\nMemorie FLASH\n_START_PARAGRAPH_\nMemoria FLASH este un tip de memorie EEPROM la care \xc8\x99tergerea se efectueaz\xc4\x83 la nivel de bloc de date, spre deosebire de EEPROM unde \xc8\x99tergerea este la nivel de octet. Ca urmare \xc8\x99tergerea la FLASH se poate face mult mai rapid, de\xc8\x99i poate fi un inconvenient \xc3\xaen momentul \xc3\xaen care se dore\xc8\x99te \xc8\x99tergerea a unui singur octet. Timpii de citire la memoria FLASH sunt mai mari dec\xc3\xa2t la EEPROM \xc3\xaens\xc4\x83 structura memoriei FLASH este mai dens\xc4\x83, oferind capacit\xc4\x83\xc8\x9bi de memorare mai mari pe aceea\xc8\x99i suprafa\xc8\x9b\xc4\x83 de siliciu, lucru dorit \xc3\xaen cazul microcontrollerelor unde dimensiunile sunt limitate. \xc3\x8en plus, costurile de fabrica\xc8\x9bie pentru memoriile FLASH sunt mai mici \xc3\xaen compara\xc8\x9bie cu cele pentru memoriile EEPROM.'