Меню English Ukrainian російська Головна

Безкоштовна технічна бібліотека для любителів та професіоналів Безкоштовна технічна бібліотека


Програмування мікросхем FLASH-пам'яті. Енциклопедія радіоелектроніки та електротехніки

Безкоштовна технічна бібліотека

Енциклопедія радіоелектроніки та електротехніки / Мікроконтролери

Коментарі до статті Коментарі до статті

Мікросхеми репрограмованої постійної пам'яті з електричним стиранням даних, виконані за технологією FLASH, зайняли міцні позиції в електронній та обчислювальній техніці, потіснивши інші види енергонезалежних пристроїв, що запам'ятовують. Їхня головна перевага - можливість перепрограмування "в системі", не випаюючи мікросхему з друкованої плати або не виймаючи її з панелі. Велике допустиме число циклів перепрограмування дозволяє будувати на таких мікросхемах "FLASH-диски" об'ємом в десятки мегабайт, що відрізняються від звичайних накопичувачів на жорстких або гнучких магнітних дисках повною відсутністю частин, що рухаються. Завдяки цьому вони довговічні і здатні працювати в умовах сильної вібрації, наприклад, на автомобілях та інших об'єктах, що рухаються. Опублікована стаття присвячена питанням програмування мікросхем FLASH-пам'яті.

Від РПЗУ інших типів мікросхеми FLASH-пам'яті відрізняє наявність безпосередньо на кристалі вбудованого "програматора" - автомата стирання та запису (AC3). Він звільняє від необхідності у процесі програмування подавати на висновки мікросхеми підвищену напругу, формувати певні послідовності імпульсів. Все це АC3 робить самостійно і непомітно для користувача, якому залишається лише за допомогою відповідної команди повідомити адресу комірки і код, який слід записати в неї, і чекати завершення операції. У багатьох випадках тривалу операцію (наприклад, стирання блоку даних) можна призупинити, прочитати потрібну інформацію з іншої області пам'яті, а потім продовжити.

Сьогодні багато фірм (найвідоміші Intel. AMD. Atmel. Winbond) випускають великий асортимент мікросхем FLASH-пам'яті об'ємом до 4 Мбайт. Їхній зовнішній інтерфейс буває паралельним або послідовним. Мікросхеми з послідовним інтерфейсом призначені переважно для зберігання невеликих масивів даних у малогабаритних або спеціалізованих пристроях, наприклад, для запам'ятовування фіксованих налаштувань радіо або програми роботи побутового електроприладу.

Далі мова піде про "паралельні" FLASH-мікросхеми, які за фізичним та логічним пристроїм інтерфейсу з процесором нічим не відрізняються від звичайних ПЗУ за винятком того, що у них, подібно до ОЗУ, є вхід дозволу запису. Саме у таких мікросхемах зберігають коди BIOS сучасних комп'ютерів. Організація даних буває восьми-або 16-розрядною. Нерідко її можна вибирати, з'єднуючи спеціально передбачений висновок із загальним дротом чи джерелом живлення. Крім шин адреси і даних, до мікросхем підводять три сигнали, що управляють: вибір кристала (РЄ), включення виходу (ОЕ) і дозвіл запису (WE). Останній – лише у випадку, якщо мікросхему необхідно програмувати. Мінімальна тривалість циклу читання – 70... 150 нc.

У перших FLASH-мікросхемах масив осередків пам'яті був єдиним блоком, причому стерти дані можна було тільки цілком з усього масиву. У багатьох сучасних мікросхемах пам'ять розбита на блоки, і стирання даних в одному з них не впливає на інші, що зберігаються. Розміри блоків бувають різними - від 128 байт до 128 Кбайт і більше. Однак під час читання даних вся пам'ять мікросхеми сприймається як єдиний масив і те. що фізично вона поділена на блоки, не має жодного значення.

Зазвичай блоки однакові та рівноправні, але можуть бути різними. Наприклад, у мікросхемах серії 28Fxxx фірми Intel є так званий завантажувальний (boot) блок об'ємом 16 Кбайт та два блоки параметрів по 8 Кбайт кожен. Далі слідує блок об'ємом 96 Кбайт, а частина пам'яті, що залишилася, складається з блоків по 128 Кбайт. Властивості названих блоків дещо різняться. Для завантажувального передбачено апаратний захист від запису та стирання. Її включають, подавши відповідний логічний рівень спеціально передбачений висновок мікросхеми. Блоки параметрів призначені для зберігання даних, що часто змінюються, і витримують більше, в порівнянні з іншими, число циклів стирання/запису.

Кожну з мікросхем серії, що розглядається, виготовляють у двох варіантах, що відрізняються розміщенням блоків в адресному просторі. У мікросхемах з індексом (bottom) вони розташовані, починаючи з нульової адреси, у зазначеному вище порядку. У виробах з індексом Т (top) порядок зворотний (завантажувальний – у сфері старших адрес).

Мікросхеми FLASH-пам'яті, що випускаються в даний час, розраховані на номінальні напруги живлення від 2.7 до 5 В. Підвищена напруга (12 В) для них не потрібна зовсім або необхідна лише в деяких спеціальних режимах. У пасивному ("необраному") стані такі мікросхеми споживають від джерела живлення струм не більше 1 мА (у більшості випадків - у десятки разів менше). Іноді передбачений особливий режим повного вимкнення (sleep mode), у якому споживання дуже мало. Щоправда, читати дані із "заснілої" мікросхеми неможливо, а щоб "розбудити" її. часом потрібно кілька десятків мікросекунд. Споживаний струм в активному режимі - десятки міліампер, причому, якщо перевести в пасивний стан мікросхему, АC3 якої виконує тривалу операцію (наприклад, стирає дані), струм не зменшиться доти, доки вона не завершиться.

Велику увагу приділяють захисту даних, що зберігаються у FLASH, від випадкової зміни, особливо під впливом перешкод і перехідних процесів при включенні та вимиканні живлення. У більшості випадків передбачено три види апаратного захисту. Перший у тому. що на імпульси в ланцюзі WE тривалістю менше 15...20 не мікросхема не реагує, другий - у тому, що за низького логічного рівня на вході ОE ніякі маніпуляції сигналами на інших входах не можуть викликати запис, третій - в тому. що при зменшенні напруги живлення нижче за деякий рівень АC3 відключається. У мікросхем різних типів поріг відключення перебуває у межах 1.5...3.8В.

Іноді передбачена можливість повної заборони зміни та стирання всього масиву даних або його частин. Для накладання або зняття такої заборони зазвичай потрібні "екстраординарні" заходи (наприклад, короткочасне подання підвищеної напруги на певні висновки).

Передбачається програмний захист. Для зміни вмісту осередку FLASH-пам'яті недостатньо, як у звичайному ОЗП. записати один код за однією адресою. Необхідна команда, що складається з кількох кодів, що записуються за певними адресами.

Будь-яка FLASH-мікросхема здатна повідомити свій тип пристрою, який вона встановлена, що дозволяє автоматично вибирати потрібні алгоритми запису і стирання даних. Для програмного увімкнення та вимкнення режиму зчитування ідентифікаторів передбачені відповідні команди. Включивши його, за адресою він читають ідентифікатор виробника, а за адресою 1Н - пристрої (ідентифікатори деяких мікросхем наведені в таблиці). У цьому ж режимі, але за іншими адресами, в деяких випадках можна отримати додаткову інформацію, наприклад, стан апаратного захисту від запису.

Програмування мікросхем FLASH-пам'яті

Перейти в режим читання ідентифікаторів можна і без команди, подавши на адресний вхід А9 напруга +12 В. Відхилення його величини, що допускається, у мікросхем різних типів по-різному. У одних випадках воно трохи більше ±5%. в інших достатньо, щоб напруга лише перевищила деяке значення, наприклад, 10 В. Ідентифікатори читають за вказаними вище адресами, встановлюючи їх без урахування розряду А9. Зазвичай цей спосіб застосовують у універсальних програматорах.

АC3 більшості мікросхем FLASH-пам'яті сприймають команди, що подаються відповідно до так званого стандарту JEDEC, хоча є і винятки. Іноді при модернізації мікросхем їхню систему команд доповнюють стандартними кодовими комбінаціями, зберігаючи, однак, і старі команди (це необхідно для того, щоб модернізовані кристали могли працювати в раніше випущених пристроях). Свою систему команд застосовує фірма Intel.

Перш ніж докладно розглядати команди, розповімо трохи про підключення FLASH-мікросхем. Однотипні мікросхеми, як правило, випускають у корпусах кількох типів, що відрізняються розташуванням, кроком та числом висновків. Нерідко передбачають "дзеркальні" варіанти, що дають змогу встановлювати мікросхеми на будь-якій стороні плати, не змінюючи топологію друкованих провідників.

Номери висновків на схемах, що наводяться нижче, стандартні для мікросхем пам'яті об'ємом 512 Кбайт в найбільш поширених 32-вивідних корпусах PLCC і PDIP. "Цоколівка" мікросхем меншого обсягу аналогічна, але висновки старших розрядів у них не підключені (наприклад, Am29F010 вільні 30-й і 1-й).

Схему, подібну до показаної на рис. 1, застосовують, якщо необхідно прати та записувати дані, не виймаючи мікросхему з мікропроцесорної системи.

Програмування мікросхем FLASH-пам'яті

Передбачається, що системна шина даних – восьмирозрядна, адреси – 16-розрядна. ПЗУ відведено в адресному просторі 32 Кбайт, решту його може займати ОЗУ Оскільки обсяг пам'яті Am29F040 - 512 Кбайт, передбачено регістр сторінки FLASH-пам'яті, управляючий старшими розрядами адреси. Для читання та запису даних можна скористатися такими простими процедурами (написаними мовою Pascal):

Програмування мікросхем FLASH-пам'яті

Якщо необхідно запрограмувати FLASH-мікросхему поза пристроєм, у якому вона працюватиме, її можна підключити до персонального комп'ютера. Найпростіше це зробити, встановивши до комп'ютера додаткову плату паралельного вводу/виводу. Такі плати, наприклад, PCL-731 фірми Advantech, DIO-48 фірми IOP DAS або PET-48DIO фірми ADLink є у продажу. Як правило, у них 48 входів/виходів і працюють вони аналогічно двом мікросхем 8255 (КР5806В55А) у режимі Про з тими ж інформаційними та керуючими портами, навіть якщо насправді таких мікросхем у їхньому складі немає. При необхідності плату паралельного введення/виводу можна виготовити самостійно, скориставшись статтею Н. Васильєва "Розширювач інтерфейсу PC" ("Радіо", 1994 № 6, с. 20, 21).

Для читання або програмування FLASH-мікросхеми підключають до портів двох мікросхем 8255 за схемою, показаною на рис. 2. Порт РА першої їх використаний для вводу/вывода даних, окремі розряди її порту PC - виведення сигналів управління СЕ, OЕ і WE. Порти РА, РВ та PC другий утворюють 24-розрядну шину адреси FLASH-мікросхеми. Якщо менша розрядність цієї шини достатня, відповідне число старших розрядів порту PC не підключають.

Програмування мікросхем FLASH-пам'яті

Порти плати введення/виводу та допоміжні константи повинні бути описані в програмі таким чином:

Програмування мікросхем FLASH-пам'яті

А описані вище процедури звернення до FLASH-пам'яті замінюють такими:

м

Тепер – власне про програмування FLASH-мікросхем. За стандартом JEDEC, кожна команда починається записом коду ОААН за адресою 5555Н. Далі записують код 55Н за адресою 2АААН і на закінчення - код операції, що виконується за адресою 5555Н.

Програмування мікросхем FLASH-пам'яті

Говорячи, наприклад, про команду 40Н, ми маємо на увазі саме таку послідовність з числом 40Н як код операції.

Програмування мікросхем FLASH-пам'яті

Після включення живлення будь-яка FLASH-мікросхема автоматично входить у цей режим і встановлювати його спеціальною командою немає потреби. Однак вона потрібна, наприклад, для повернення з режиму читання ідентифікаторів. Іноді її називають командою скидання чи початкової установки. Для переведення деяких мікросхем в режим читання масиву достатньо одного циклу запису коду 0F0H на будь-яку адресу.

Програмування мікросхем FLASH-пам'яті

Наступний за командою 0А0Н цикл запису містить адресу програмованого комірки і код, що записується в неї. У більшості випадків для запису в кожен осередок потрібно подати окрему команду. Майте на увазі, що подібно до звичайних РПЗУ, в розрядах програмованого осередку можна лише замінювати логічні одиниці нулями. Для виконання зворотної операції потрібно, як правило, попередньо стерти вміст цілого блоку пам'яті та повторити програмування всіх осередків. Врахуйте, що АC3 багатьох FLASH-мікросхем не розпізнають подібні помилки та повідомляють про успішне виконання операції. Щоб переконатися в правильності програмування, потрібне контрольне зчитування записаних даних.

У мікросхемах фірми Winbond з блоками розміром 128 байт програмуванню будь-якого осередку автоматично передує стирання всіх даних, що містить її блоку. Тому завжди слід заздалегідь скопіювати блок в оперативну пам'ять, внести потрібні зміни до копії та запрограмувати наново всі 128 байт. Отримавши команду ВАТН, адресу та перший із програмованих байтів, АC3 заносить його у внутрішній буфер блоку і чекає 200 мкс, не починаючи програмування. Якщо за цей час буде отримано ще одну команду ВАТН і черговий байт, він теж надійде в буфер, а АC3 чекатиме наступний ще 300 мкс. Так триває до того часу. доки не будуть отримані всі 128 байт блоку або пауза не перевищить допустимого значення (300 мкс). Після цього АC3 стирає блок і починає власне програмування. Послідовність запису в буфер даних, призначених для різних осередків блоку, не має значення, але ті осередки, дані для яких не надійшли, після програмування будуть містити коди 0FFH.

Існує два способи запису даних для програмування у подібну мікросхему. Перший з них (для інших звичайний) називають програмно захищеним. Кожному байту, що записується, повинна передувати команда ВАТН. Однак захист можна вимкнути, подавши послідовно команди 80Н та 20Н.

Програмування мікросхем FLASH-пам'яті

Після цього байт, що записується за будь-якою адресою, потрапляє у внутрішній буфер мікросхеми, і такий режим зберігається навіть після відключення і включення живлення. Виходять із нього за командою ВАТН.

Програмування мікросхем FLASH-пам'яті

Для запису даних у FLASH-мікро-схему компанії Intel передбачено два рівносильних варіанти команди. Насамперед, за будь-якою адресою записують один із кодів 40Н або 10Н. а потім - програмований код за потрібною адресою.

Програмування мікросхем FLASH-пам'яті

Команда "Стерти всю пам'ять".

Цю відповідальну операцію АC3 FLASH-мікросхеми починає, отримавши послідовність двох команд - 80Н і 10Н.

Програмування мікросхем FLASH-пам'яті

Мікросхем фірми Intel аналогічну команду подають записом за довільними адресами кодів 20Н і 0D0H

Програмування мікросхем FLASH-пам'яті

Стирання всього вмісту пам'яті займає від десятків мілісекунд до кількох секунд. У деяких мікросхемах передбачена можливість призупинення цього процесу записом коду ОВОН на будь-яку адресу. Після запису (також на будь-яку адресу) коду 30Н (для мікросхем фірми Intel - ODOH) стирання продовжиться.

Команда "Стерти блок". Щоб стерти вміст блоку пам'яті, потрібно подати дві команди. Перша з них - 80Н, друга відрізняється тим, що її код операції 90Н повинен бути записаний не за адресою 5555Н, а за адресою будь-якого з осередків блоку, що стирається.

Програмування мікросхем FLASH-пам'яті

Команда "Читати ідентифікатори". Для переходу в цей режим служить команда 90Н, але іноді потрібна послідовність двох команд - 80Н і 60Н.

Програмування мікросхем FLASH-пам'яті

У мікросхеми фірми Intel достатньо записати код 90Н на будь-яку адресу. Виходять із цього режиму розглянутою вище командою "Читати масив даних".

Як перевірити завершення виконання "довгих" команд програмування та стирання даних? Найпростіше - скористатися довідковими даними мікросхеми та передбачити програмне формування відповідних затримок. Але фактичний час виконання тих чи інших операцій нерідко суттєво відрізняється від довідкових значень навіть для різних осередків та блоків однієї мікросхеми, збільшуючись у міру "старіння" останньої.

Достовірно дізнатися момент закінчення тієї чи іншої операції дозволяє зчитування регістру стану АC3. FLASH-мікросхема видає на шину даних вміст цього регістру весь час, поки АC3 зайнятий виконанням процедури стирання або програмування. Існує дві ознаки того, що процес не закінчено. Перший полягає в тому, що значення біта D7 регістра стану інверсно по відношенню до значення, що записується в той же біт осередку пам'яті (під час стирання - дорівнює 0). Після завершення операції воно співпаде із записаним. Друга ознака - "мерехтіння" біта D6 (його значення змінюється при кожному читанні регістру, доки операція не завершиться).

Як правило, спостерігаються обидві ознаки, проте трапляються і винятки. Наприклад, в мікросхемах фірми Intel "миготливий" біт відсутній, а біт D7 під час програмування дорівнює 0 незалежно від коду, що записується. Про закінчення операції у разі свідчить D7=1. У мікросхемах з блоковим записом (наприклад, фірми Winbond) значення біта D7 інверсно аналогічному біту останнього з кодів, записаних у буфер блоку-

Зазвичай після завершення програмування або стирання FLASH-мікросхема автоматично повертається в режим читання масиву даних, але мікросхем фірми Intel для цього потрібна відповідна команда.

Якщо мікросхема несправна, "довга" операція може ніколи не завершитися, внаслідок чого комп'ютер, що управляє програмуванням, "зависне". Щоб уникнути цього, слід передбачити перевірку тривалості операцій стирання та програмування та у разі перевищення розумного значення - "аварійний" вихід з видачею повідомлення про несправність.

Іноді, особливо під час роботи з мікросхемами, що пройшли близьке до граничного число циклів стирання/програмування, має сенс повторити невдалу операцію кілька разів. Одна із спроб може виявитися успішною.

На закінчення - кілька слів про утилітах, що дозволяють оновити BIOS комп'ютера, що зберігається у FLASH-пам'яті. Вони розробляються для кожного типу системних (материнських) плат та враховують особливості підключення FLASH-мікросхем до системних шин. Тому спроби скористатися утилітою, призначеною для плати одного типу, щоб оновити BIOS інший, часто призводять до повної відмови комп'ютера.

Утиліту запускають як звичайну прикладну програму, вказавши як параметр ім'я файлу, що містить коди нової версії BIOS. Вона читає цей файл, створюючи на ОЗУ масив даних, що підлягають запису в FLASH-память. Потім визначає тип мікросхеми та вибирає відповідні процедури для роботи з нею. Після цього починається стирання старих і запис нових даних, причому в цей час програма не може користуватися жодними функціями BIOS, у тому числі для виведення інформації на екран або опитування клавіатури. Якщо робити це все ж таки необхідно, потрібні підпрограми вводять до складу самої утиліти. Після завершення програмування та перевірки його правильності зазвичай слід перезапустити комп'ютер, і він починає "нове життя" з оновленої BIOS.

Автор: А.Довгий, м.Москва

Дивіться інші статті розділу Мікроконтролери.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Машина для проріджування квітів у садах 02.05.2024

У сучасному сільському господарстві розвивається технологічний прогрес, спрямований на підвищення ефективності догляду за рослинами. В Італії було представлено інноваційну машину для проріджування квітів Florix, створену з метою оптимізації етапу збирання врожаю. Цей інструмент оснащений мобільними важелями, що дозволяють легко адаптувати його до особливостей саду. Оператор може регулювати швидкість тонких проводів, керуючи ним із кабіни трактора за допомогою джойстика. Такий підхід значно підвищує ефективність процесу проріджування квітів, забезпечуючи можливість індивідуального налаштування під конкретні умови саду, а також сорт та вид фруктів, що вирощуються на ньому. Після дворічних випробувань машини Florix на різних типах плодів результати виявились дуже обнадійливими. Фермери, такі як Філіберто Монтанарі, який використовував машину Florix протягом кількох років, відзначають значне скорочення часу та трудовитрат, необхідних для проріджування кольорів. ...>>

Удосконалений мікроскоп інфрачервоного діапазону 02.05.2024

Мікроскопи відіграють важливу роль у наукових дослідженнях, дозволяючи вченим занурюватися у світ невидимих ​​для ока структур та процесів. Однак різні методи мікроскопії мають обмеження, і серед них було обмеження дозволу при використанні інфрачервоного діапазону. Але останні досягнення японських дослідників із Токійського університету відкривають нові перспективи вивчення мікросвіту. Вчені з Токійського університету представили новий мікроскоп, який революціонізує можливості мікроскопії в інфрачервоному діапазоні. Цей удосконалений прилад дозволяє побачити внутрішні структури живих бактерій із дивовижною чіткістю в нанометровому масштабі. Зазвичай мікроскопи в середньому інфрачервоному діапазоні обмежені низьким дозволом, але нова розробка японських дослідників дозволяє подолати ці обмеження. За словами вчених, розроблений мікроскоп дозволяє створювати зображення з роздільною здатністю до 120 нанометрів, що в 30 разів перевищує дозвіл традиційних метрів. ...>>

Пастка для комах 01.05.2024

Сільське господарство - одна з ключових галузей економіки, і боротьба зі шкідниками є невід'ємною частиною цього процесу. Команда вчених з Індійської ради сільськогосподарських досліджень – Центрального науково-дослідного інституту картоплі (ICAR-CPRI) у Шимлі представила інноваційне вирішення цієї проблеми – повітряну пастку для комах, яка працює від вітру. Цей пристрій адресує недоліки традиційних методів боротьби зі шкідниками, надаючи дані про популяцію комах у реальному часі. Пастка повністю працює за рахунок енергії вітру, що робить її екологічно чистим рішенням, яке не вимагає електроживлення. Її унікальна конструкція дозволяє відстежувати як шкідливі, так і корисні комахи, забезпечуючи повний огляд популяції в будь-якій сільськогосподарській зоні. "Оцінюючи цільових шкідників у потрібний час, ми можемо вживати необхідних заходів для контролю як комах-шкідників, так і хвороб", - зазначає Капіл. ...>>

Випадкова новина з Архіву

Джерела живлення Mean Well HRP/N 14.02.2021

Компанія Mean Well розробила сімейство джерел живлення з можливістю короткочасної безпечної роботи при потужності в 2,5 рази вище за номінальну (до 5 секунд).

Нове сімейство складається з трьох серій: HRP-150N, HRP-300N та HRP-600N з номінальною потужністю 150, 300 та 600 Вт, відповідно. Крім того, джерела живлення мають відмінну функціональну насиченість: мають каскад корекції потужності (ККМ; PFC>0,95), можливість компенсації падіння напруги на проводах, можливість дистанційного включення-вимкнення, стійкі до підвищеної до 300 В вхідної напруги (до 5 секунд) та мають сигнал "DC Ok" для контролю вихідної напруги. При цьому ці джерела живлення працездатні в температурному діапазоні -40 ... 70 ° С і мають ефективність на рівні 89%.

Дане сімейство джерел живлення затребуване у промислових установках з використанням електродвигунів або з ємнісним навантаженням. У момент пуску зазначене навантаження споживає підвищену потужність, тому для забезпечення нормального запуску доводиться вибирати потужніше джерело живлення. Надалі після запуску потужність цього джерела не використовується і є надлишкової. Тому, застосовуючи нові джерела живлення HRP/N, можна позбутися надмірності та отримати економічний виграш.

Гарантійний термін на джерела живлення становить 5 років.

Інші цікаві новини:

▪ Мечников помилявся

▪ Програмовані сни

▪ Високовольтний генератор у космосі

▪ Утеплення будинків недопалками

▪ Майка для футболіста

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ розділ сайту Радіоаматорські розрахунки. Добірка статей

▪ стаття Пєшков Олексій Максимович (Максим Горький) Знамениті афоризми

▪ стаття Чим відрізнявся партер у театрах пушкінської епохи від звичного нам? Детальна відповідь

▪ стаття Робота у стерилізаційних. Типова інструкція з охорони праці

▪ стаття Як визначити хвильовий опір високочастотного коаксіального кабелю, якщо його тип невідомий? Енциклопедія радіоелектроніки та електротехніки

▪ стаття Сеанс із картами (кілька фокусів). Секрет фокусу

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024