Начало - Интернет
Програмиране на NAND FLASH. Универсален програматор TNM5000 Програматори, поддържащи nand flash

2017-05-25 Дата на последна промяна: 2018-10-10

Статията обсъжда: Характеристики на използването на микросхеми NAND ФЛАШ,методи за оформление на страница и управление на лоши блокове. Препоръки за програмиране с помощта на програмисти.

СЪДЪРЖАНИЕ:

1. ТЕОРИЯ

1.1. Разликата между NAND FLASH чиповете и конвенционалните чипове

Ако не се задълбочите в тънкостите на технологията, тогава разликата между микросхемите NANDот други чипове памет е както следва:

  • Микросхеми NANDимат много голям обем.
  • Микросхеми NANDможе да има лоши (лоши) блокове.
  • Размер на страницатазаписи не е степен на 2 .
  • Писане в чипаизвършено само страници , изтриване - поне на блокове .

Има още няколко разлики, но първите две характеристики са ключови. Причинява най-много проблеми наличие на лоши блокове.

1.2. Организация на NAND FLASH чипове

Повече подробности за организацията и структурата на микросхемите NANDможе да се прочете в специализирана литература, но отбелязваме, че:

  • Микросхеми NANDорганизирани в страници (страници), страници в блокове (блокове), блокира в логически модули (лун).
  • Размер на страницата NAND не е кратно на 2.
  • Страницата се състои от основенИ резервни (резервни) области.

Според разработчиците NAND Vосновна зонатрябва да се намират самите данни, А в резервната (резервна) зона - маркери за лош блок, контролни сумиосновна площ, др защитена информация.

Ако говорят за размер на страницата NAND чипове 512 байт или 2Kбайт, тогава говорим за размер на основната площстраници, с изключение на резервни.

1.3. Начини за използване на резервната зона на страницата

Нека ви напомним още веднъж, че според разработчиците на NAND чипове в резервната зона трябваразположен: маркери за лош блок, контролни сумиосновна област с данни, другосервизна информация.

Повечето разработчици само описват местоположениемаркери за лош блокв доставените микросхеми. За други аспекти на използването на резервната зона са дадени общи препоръки и алгоритъм за изчисляване на ECC, обикновено според Haming. Samsung отива малко по-далеч, разработвайки препоръки, наречени " Резервна област на флаш памет NAND. Стандарт за предназначение "("NAND флаш резервна зона. Стандарт за присвояване", 27 април 2005 г., Memory Division, Samsung Electronics Co., Ltd).

И така, този стандарт предлага следното използване на резервната зона:

За чипове с размер на страницата 2048+64 байта t основната и резервната области на страницата са разделени на 4 фрагмента (сектора):

РегионРазмер (байт)Фрагмент
Основен512 Сектор 1
512 Сектор 2
512 Сектор 3
512 Сектор 4
Резервни16 Сектор 1
16 Сектор 2
16 Сектор 3
16 Сектор 4

Всеки фрагментосновната им площ съвпада фрагмент от резервна зона.

Използване на резервна зона (за всеки от четирите фрагмента)
за чипове с размер на страницата 2048+64 байта:
Пристрастие
(байт)
Размер
(байт)
ЦелОписание
Маркер за лош блок
Запазено
Номер на логически сектор
Запазено за номер на сектор
Запазено
ECC код за областта на главната страница
ECC код за номер на логически сектор
Запазено

Но това не е единственият „стандарт“ за разпределяне на паметта на страницата; ние знаем няколко десетки от тях, например:

  • "Управление на NAND FLASH под WinCE 5.0 ", NXP;
  • "Управление на лоши блокове за NAND Flash с помощта на NX2LP “, 15 декември 2006 г., Cypress Semiconductor;
  • "OLPC NAND Управление на лоши блокове “, OLPC.

1.4. NAND изображение и двоично изображение

Може да срещнете два вариантаизображение за запис:

  1. Двоичен файл не е счупенона страници и без резервна площ.
    Тази опция е възможна, ако сте разработчик на устройство, използващо NANDили е получил такъв файл от разработчика. Това изображение е подходящо за писане в микросхеми със страници с всякакъв размер и всяко разпределение на резервната зона, просто трябва да знаете по какъв метод ще се формира резервната област.
  2. Изображение, прочетено от друга микросхема (проба), съдържащо резервна зона с маркировки на лоши блокове, сервизна информация и контролни кодове.
    Това изображение може да бъде написано самов чип с абсолютно същите размеристраници и блокове.

Тези специалисти, които ремонтират различно оборудване, често се сблъскват с втория случай. В такъв случай често е трудно да се определи използвания метод за разпределяне на резервна зона и използвания метод за управление на лоши блокове.

1.5. Фабрично маркиране на лоши блокове

Единственото нещо, което е повече или по-малко стандартизирано е фабрично маркиране на лоши блокове.

  • Лошите блокове са маркиранина 0-ва или 1-ва страницаза чипове с размер на страницата под 4K.
  • За 4K страници и повече, маркировката може да е включена последна страница блок.
  • себе си маркер за лош блокнамира се в резервната зона на страницата в 5-ия байт за малки страници (512 байта) и в 0-ия байт за големи страници (2K).
  • Маркер за лош блокможе да има значение 0x00или 0xF0 за малки странициИ 0x00 за още X.
  • Хубави блоковевинаги маркиран 0xFF.
  • Във всеки случай значението различен от 0xFFпрограмистът възприема като маркер за лош блок.
  • Като правило, в модерните NAND лошият блок е напълно запълнен със стойността 0x00.

Има един проблем: лош блок може да бъде изтрит. По този начин можете да загубите информация за лоши блокове на чипове.

Въпреки това, ако микросхемата вече е работила в устройството, този метод за маркиране на лоши блокове не винаги се използва. Понякога дори информацията за лош блок не се съхранява в NAND паметта. Но по-често, дори ако разработчикът на софтуера на устройството използва различна схема за управление на лоши блокове, той предпочита да не изтрива фабричните маркировки.

1.6. Лошо управление на блокове

Разработчици NANDмикросхемите предлагат да се използват следните схеми за управление на лоши блокове:

  • Паслоши блокове
  • Използване резервнирегион

Освен това методите за управление на лоши блокове понякога включват използване корекция на грешки(ECC). Трябва да се отбележи, че използването на единична корекция на грешка не елиминира множество грешки и все пак налага използването на една от горните схеми. Освен това мнозинството NANDчиповете имат гарантирана зона без грешки, в която не се появяват лоши блокове. Зоната без повреди обикновено се намира в началото на чипа.

Тези методи за управление на лоши блокове са добре описани в техническата документация на производителите NANDи са широко дискутирани в литературата за употребата NAND. Нека обаче накратко припомним тяхната същност:

Пропускане на лоши блокове:
Ако текущият блок се окаже дефектен, той се пропуска и информацията се записва в следващия свободен блок. Тази схема е универсална, лесна за изпълнение, но донякъде проблематична за случаите, когато по време на работа се появяват лоши блокове. За да работи тази схема напълно, номерът на логическия блок трябва да се съхранява вътре в блока (стандартът на Samsung за определяне на резервна област всъщност предполага това). Когато работи по тази схема, контролерът трябва някъде да съхранява таблица на съответствие между логически номера на блокове и техните физически номера, в противен случай достъпът до паметта ще бъде значително забавен.

Следователно логичното развитие е схемата използване на резервна зона:
Според този метод целият обем на паметта е разделен на две части: основна и резервна. Когато в основната памет се появи лош блок, той се заменя с блок от резервната памет и се прави съответен запис в таблицата за преназначаване на блокове. Таблицата за преназначаване се съхранява или в гарантирано безопасен блок, или в множество копия. Форматът на таблицата е различен, съхранява се на различни места. Отново Samsung описва стандарт за формата и оформлението на таблицата, но малко хора го спазват.

2. ПРАКТИКА

2.1. Сканиране на лоши блокове на NAND чип

Програмист ChipStarви позволява бързо да сканирате микросхемата NANDза наличие на лоши блокове в съответствие с фабричните маркировки на лоши блокове.

Изберете елемент от менюто " Чип|Търсете лоши блокове ", чипът ще бъде проверен за лоши блокове. Резултатът се показва в таблична форма.

Това действие трябва да се извърши само ако искате да видите списъка с лоши блокове. Във всички останали случаи търсенето на лоши блокове се извършва автоматично, когато е необходимо.

2.2. Лоши блокове в NAND изображението

При четене на изображение на NAND чип, програмистът допълнително съхранява информация за размера на страницата и блока на чипа. Информацията се записва в отделен файл. Така че, ако преброите и запазите изображението на чипа във файл <имя_файла>.nbin програмата ще създаде друг файл: <имя_файла>.cfs . При отваряне на файл <имя_файла>.nbin файл <имя_файла>.cfs ще се чете по същия начин. Във файл <имя_файла>.cfs записва се информация за размера на страницата и блока на чипа. След като прочетете чипа или отворите файл като .nbin , се извършва фоново сканиране на изображението за наличие на лоши блокове въз основа на информация за страницата и размера на блока.

Опции NANDи информация за лошите блокове можете да намерите в "раздела" NAND"програмист редактор:

Бинарно изображение NANDможе да се види в "таб" Основна памет ":

В режим на редактор NANDрезервната зона на страницата е разпределена по-тъмен цвят, също стават достъпни бутони за придвижване през страници, блокове и бързо прескачане до началото на резервната зона на текущата страница. В допълнение към адреса на курсора се показва допълнително редът за състояние на редактора номер на страницатаИ номер на блоккъдето се намира курсорът. Всичко това ви позволява по-удобно да преглеждате съдържанието на микросхемата.

2.3.Изтриване на NAND

Програматор по подразбиране не изтривалоши блокове, но ако деактивирате опцията " Проверка и пропускане на лоши блокове " лошите блокове могат да бъдат изтрити и маркировките за лоши блокове могат да бъдат загубени. Деактивирайте тази опция само ако е необходимо.

Пропускат се само лоши блокове, маркирани в съответствие с фабричните маркировки. Ако устройството използва различна маркировка за лоши блокове, те ще бъдат изтрити, защото софтуерпрограмистът няма да ги види. За да работи с нестандартни оформления на лоши блокове, програмистът може да използва външни добавки.

2.4. Тестване на микросхемата за липса на запис

По подразбиране програмистът игнорира всички лоши блокове при проверка, но ако деактивирате опцията " Сканирайте и пропускайте лоши блокове „Лошите блокове ще бъдат тествани, което естествено ще доведе до грешки при тестване.

2.5. Записване на готовото изображение върху чипа

Записване на изображение NANDв микросхемата е малко по-различна от конвенционалните ФЛАШмикросхеми На първо място, те трябва да съвпадат размери на страницатаизображение и целеви чип. Ако се използва контрол, лошите блокове трябва да съвпадат размери на блоковеизображение и микросхема.

Софтуер за всички програмисти ChipStarподдържа три метода за управление на лоши блоковевградени инструменти и неограничен брой с помощта на добавки. Освен това можете да зададете броя на записваемите блокове в началото на чипа, което всъщност е четвъртоначин за управление на лоши блокове.

Метод 1: Игнориране на лоши блокове

Просто копиране, игнориране на лошите блокове (лошите блокове се записват по същия начин като нормалните).

Оригинално изображение Чип
(първоначално състояние)
Чип
(резултат)
Блок 0
добре
Блокирайте
чиста
Блок 0
добре
Блок 1
лошо
Блокирайте
чиста
Блок 1
невярно
Блок 2
добре
Блокирайте
чиста
Блок 2
добре
Блок 3
добре
Блокирайте
лошо
Блок 3
дефектен
Блок 4
добре
Блокирайте
чиста
Блок 4
добре
Граница на записа
Блок 5
добре
Блокирайте
чиста
Блокирайте
чиста

Най-подходящ за копиране на NAND чипове, без да навлизаме във вътрешната му структура, при условие, че записваният чип не съдържа лоши блокове . Ако в оригиналното изображение имаше лоши блокове , в крайна сметка форма фалшиви лоши блокове . Появата на фалшиви лоши блокове няма да повлияе на функционирането на устройството. Ако обаче чипът вече съдържа лоши блокове, когато се опитате да пишете на такъв чип, ще се появят лоши блокове с непредсказуеми последствия. Съвет: можете да опитате да изтриете целия чип, включително лошите блокове, след което да го копирате. Ако записът в лош блок е завършен успешно (това често се случва), вашето устройство ще функционира правилно в бъдеще, софтуерът на устройството ще идентифицира лошия блок и ще го замени с добър в съответствие с неговия работен алгоритъм.

Метод 2: Заобикаляне на лоши блокове

Оригинално изображение Чип
(първоначално състояние)
Чип
(резултат)
Блок 0
добре
Блокирайте
чиста
Блок 0
добре
Блок 1
лошо
Блокирайте
чиста
Блокирайте
чиста
Блок 2
добре
Блокирайте
чиста
Блок 2
добре
Блок 3
добре
Блокирайте
лошо
Блокирайте
лошо
Блок 4
добре
Блокирайте
чиста
Блок 4
добре
Граница на записа
Блок 5
добре
Блокирайте
чиста
Блокирайте
чиста

При заобикаляне на лоши блокове лошите блокове от изходното изображение не се записватИ информацията не се записва в лоши блокове на чипа. Това не е най-добрата политика за копиране, но е безопасна срещу лоши блокове на чипове: не се губи информацияза лошите блокове на чипове и не се появяват фалшиви лоши блокове. В някои случаи такава политика за копиране може да помогне за възстановяване на функционалността на неизвестно устройство.

Метод 3: Пропускане на лоши блокове

Оригинално изображение Чип
(първоначално състояние)
Чип
(резултат)
Блок 0
добре
Блокирайте
чиста
Блок 0
добре
Блок 1
лошо

Блокирайте
чиста
Блок 2
добре
Блок 2
добре
Блокирайте
чиста
Блок 3
добре
Блок 3
добре
Блокирайте
лошо
Блокирайте
лошо
Блок 4
добре
Блокирайте
чиста
Блок 4
добре
Граница на записа
Блок 5
добре
Блокирайте
чиста
Блокирайте
чиста

Пишете, като пропускате лоши блоковепредполага, че устройството използва точно този алгоритъм за управление на лоши блокове, а не който и да е друг. При тези условия е гарантирано правилното копиране на информацията.

Метод 4: Напишете само гарантираната безотказна зона

Оригинално изображение Чип
(първоначално състояние)
Чип
(резултат)
Блок 0
добре
Блокирайте
чиста
Блок 0
добре
Блок 2
добре
Блокирайте
чиста
Блок 1
добре
Граница на записа
Блокирайте
лошо
Блокирайте
чиста
Блокирайте
чиста
Блок 3
добре
Блокирайте
лошо
Блокирайте
лошо
Блок 4
добре
Блокирайте
чиста
Блокирайте
чиста
Блок 5
добре

Блокирайте
чиста

Блокирайте
чиста

В повечето модерни NANDмикросхеми, първите блокове (поне един) гарантирано нямат повреди. В много устройства кодът на буутлоудъра се намира в началото на чипа и операционна системаустройства. Копирането само на тези области често е достатъчно.

В диалоговия прозорец за настройки на режима на запис посочете размера на записа в блокове.

Други начини за управление на лоши блокове

Софтуер Програматори ChipStarподдържа всякакви алгоритми за управление на лоши блокове NANDизползване на външни добавки. В зависимост от наличността инсталирани добавкиописания на допълнителни методи се показват в списъка " Управление на лоши NAND блокове ". Можете да конфигурирате параметрите на избрания метод, като щракнете върху бутона " Външен плъгин ".

Използване на кодове за коригиране на грешки (ECC)

Използването на кодове за коригиране на грешки позволява възстановяване на единични грешкина страницата NAND.

Могат да се използват различни алгоритми за възстановяване на единични грешки в сектора. В зависимост от алгоритъма ECC, могат да бъдат възстановени различен брой грешки на сектор (512+16 байта). Под термина " единичен “ се разбира грешка само в един битданни. За NAND с размер на страницата 512+16 байта, концепцията " сектор" и " страница" мач. За NAND с големи размери на страницата програмистът ChipStar използва схема за оформление на секторна страница, както е описано. В настройките за запис или проверка можете да посочите колко грешки на сектор може да коригира алгоритъмът, използван във вашето устройство. Съответно, микросхеми с приемлив брой грешки няма да бъдат отхвърлени в прозореца на статистиката за броя на коригираните грешки:

Информация за броя на допустимите грешки на сектор за всеки конкретен чип можете да намерите в документацияна чип. Всички новодобавени NAND чипове се въвеждат в базата данни на програмиста, като се взема предвид броят на допустимите грешки.

При самостоятелно добавянемикросхеми:

  • Ако Поддържа се ONFI, тогава допустимият брой грешки на сектор прочетиот таблицата с параметри на микросхемата и е инсталирандо желаната стойност.
  • ако микросхемата не поддържа ONFI, потребител трябва сами да зададете стойността, използвайки документацията за чипа.

За нови микросхеми NANDпроизводство Samsungстойността на допустимия брой грешки на сектор е кодирана като част от идентификатора на чипа. Следователно за такива микросхеми допустимият брой грешки на сектор също ще бъде зададен правилно.

Когато четете съдържанието на микросхема с цел по-нататъшно запазване или копиране, единичните грешки не могат да бъдат надеждно открити. След това полученото изображение може да бъде отделно анализирано за грешки чрез изчисляване на ECC кодове за проверка от външно приложение, при условие че използвания алгоритъм и оформлението на страницата са известни .

Програмният софтуер ChipStar предлага индиректни статистически методидентифициране и отстраняване на единични грешки. Методът позволява да се идентифицира само нестабиленгрешки с не е гарантиранонадеждност. За да извършите четене с откриване на грешки, трябва да изберете " Подборно четене" и в раздела "NAND" поставете отметка в квадратчето " Активирайте режима за коригиране на грешки"

Можете да конфигурирате броя на повторните опити за четене за сравнение и общия брой повторни опити за четене, когато възникне грешка. Трябва да се има предвид, че използването този методсъществото забавя процеса на четене.

Алгоритъмът за откриване на статистически грешки работи по следния начин:

  1. Страницата NAND се чете няколко пъти подред (поне три).
  2. Прочетените данни се сравняват байт по байт.
  3. Ако не бъдат открити грешки в сравнението, се приема, че страницата е без грешки.
  4. Ако по време на сравнението се открият грешки, страницата се чете още няколко пъти.
  5. За всяка грешка се отчита броят на прочитанията. единициИ нули.
  6. За правилна стойност (“0” или “1”) се счита тази, която има повече.

Алгоритъмът работи добре, ако вероятността за грешка в конкретен бит на микросхемата е по-малка от 0,5. При четене на микросхема се отчитат „коригираните“ грешки и вероятността за правилно четене.

2.6. Преобразуване на двоично изображение в NAND изображение

Всичко описано по-горе беше по-скоро копиране NANDи записи, базирани на модела на микросхемата, но често е необходимо запишете оригиналното двоично изображение на програмата на празен чип. Преди да пишете, трябва да конвертирате двоичното изображение в NAND изображение, като добавите към всяка страница резервна площи да го попълните правилно. За да направите това, отворете своя двоичен файл, изберете елемента от менюто " ". Ще се появи диалогов прозорец:

Задайте режим на преобразуване на NAND: " Двоично изображение... ", посочете размера на страницата и NAND блока или изберете необходимия чип. Изберете формата на резервната област. Програматорът поддържа просто попълване на областта с FF стойности с вградени инструменти и други методи, използващи добавки Добавка се доставя с програмиста, който изпълнява препоръчаните от Samsung резервни области.

Ако трябва да приложите някакви различен вариант на разпространение - уведомете ни и ние ще подготвим подходящия плъгин или можете сами да внедрите необходимия плъгин.

2.7. Съвместим с NAND изображения, прочетени от други програмисти

Ако имате NAND изображение, прочетено от друг програмист или получено от друг източник, трябва да бъде преобразувамвъв формат, подходящ за запис Програматор ChipStar.

За да направите това, изпълнете следните стъпки:

  • Отворете файла си, изберете елемента от менюто " Редактиране|Превключване на режим на NAND редактор ". Ще се появи диалогов прозорец, както е показано по-горе.
  • Задайте режима на конвертиране на формат NAND: "Изображението вече е NAND... “, посочете размер на страницатаИ блок NANDили изберете необходимия чип. Щракнете върху " Продължи".
  • В редактора ще се появи раздел " NAND " и изображението ще започне да сканира за лоши блокове.
  • Полученият файл може да бъде записан във формат NAND, файлът ще получи разширението .nbin по подразбиране.

това универсално устройство, за програмиране на много широка гама от микросхеми, вариращи от банални I2c и MicroWire чипове до многокраки Nand Flash.
В продължение на много години любителско радио и страст към електрониката, натрупах доста голям брой такива домашни устройства, сглобени за конкретни задачи и просто в името на самия процес. С появата на непрекъснато нарастваща гама от микросхеми и увеличаване на техния капацитет, трябваше да придобия фабрично устройство, добре познатия MiniPro TL-866.
Устройството наистина е много хубаво, служи вярно вече много години, но липсата на контактен контрол, хардуерните ограничения и в резултат на това невъзможността за работа с модерни чипове ме принудиха да насоча вниманието си към по-скъпи и функционални устройства. Бърз преглед на пазара за такива устройства доведе до осъзнаването, че две устройства най-ясно отговарят на моите нужди: руският ChipProg-48(1) и иранският TNM5000. Вторият се оказа над 2 пъти по-евтин при сравнима функционалност и след известно убеждаване моята крастава жаба, която беше загубила бдителността си в процеса на избор на подарък за любимия си за рождения ден, не успя да спори с разума .
Беше направена поръчка на страницата на официалния продавач в Aliexpress, доставката беше избрана от Singapore Post и плащането беше извършено. В процеса на по-нататъшна кореспонденция с продавача, който между другото е много общителен, се оказа, че той за предпочитане изпраща по куриер SPSR. Това е по-бързо, но за митниците са необходими допълнителни паспортни данни, което предизвика известни опасения, т.к Колетът беше посрещнат от негражданин на Руската федерация. Договорихме се за редовен руски въздух, продавачът компенсира разликата в доставката не много с адаптера SSOP34.
Въпреки всички притеснения, доставката беше бърза и безпроблемна.
И така, иранският програмист от Китай е изпратен в Русия и прехвърлен в Беларус от специално обучен жител на Москва, гражданин на Република Беларус с временна регистрация. Такава сложна схема помогна да се избегне плащането на мита прикачени файлове към пощана стойност над 20 евро за стоки, преминаващи през митническата граница на Република Беларус.


Снимката показва самия програмист, USB кабелза свързване към компютър, вакуумна вендуза за прехвърляне на малки чипове, кабел за вътрешно-схемно програмиране, бонус NAND Flash чип K9GAG08U0E-SCB0 и адаптер SSOP34, доста високо качество. CD със софтуер и инструкции не беше включен в снимката; забравих го в кутията.


Кутията беше неочаквано по-голяма, отколкото си представях, съдържанието отговаряше на описанието.
За сравнение, ето снимка с популярния TL-866.








Между другото, цената на адаптерите на продавача е просто скандална, купих адаптера TSOP48-DIP48, от който се нуждаех, от друг продавач за няколко пъти по-евтино, това е просто отлично качество и панелът дори изглежда от японски YAMAICHI.




Корпусът на програмиста е изработен от сравнително висококачествена пластмаса в тъмен цвят, без неравности, светкавица или други атрибути на полусутеренен монтаж. От едната страна на кутията има 10-пинов конектор за програмиране в схемата, това е стандартен IDC10. Отгоре 48-пинов DIP букса от ARIES. Любопитно е, че за разлика от други гнезда, той се привежда в отворено състояние със сила, а в състояние „чип е поставен, захванат и готов за работа“ се привежда в състояние сам, това е състоянието му по подразбиране. В горната част на кутията също има индикатор за активност и стикер с модела на програмиста.


От другата страна има стандартен USB-B за свързване към компютър и конектор за допълнително захранване, с непознат за мен дизайн, внимателно покрит с предупредителен стикер.


В долната част на кутията има стикер с информация, гаранционен стикер на винта и гумените крачета.


Програматорът е с една година гаранция, която едва ли ще мога да използвам, но за всеки случай няма да го разчленя, ще използваме снимка на друг по-смел собственик.






Ето описанието на програмиста на руски, аз също ще плагиатствам малко:

Допълнителна информация

Флаш памет (паралелна / Nand / серийна), EPROM, EEPROM, серийна EEPROM, микроконтролери, енергонезависима RAM, FRAM, CPLD, PLD, FPGA).
Висококачествен 48-пинов ZIF панел и 10-пинов ISP/JTAG конектор.
USB 2.0 високоскоростен
Програмиране на 1 Gbit Nand Flash за по-малко от 50 сек
Анализ на NAND микросхеми за наличие на BAD блокове, може да ги пропусне при писане и четене.
Автоматично откриване на всички флаш памети/микроконтролери с Device ID.
Удобен за потребителя софтуер за WIndows XP/VISTA/7/8 (32.64 бита).
Функция за тестване на контактите на предоставената микросхема (Pin Test)!
Ако сте поставили IC лошо в блока или има мръсни клеми, софтуерът на програмиста ще докладва това и ще посочи номера на този контакт!
Ниска цена на основното устройство и бюджетни адаптери.
Един 32/40/48 TSOP адаптер за цялата флаш памет.
Един адаптер TSOP56 за всички 56-пинови флаш памети.
Специални функции, които значително разширяват възможностите на програмиста, получавате няколко програмиста в един:
Пълна емулация на Altera USB-Blaster за софтуер Quartus-II.
Пълна емулация на сериен порт.
Поддръжка на ECU на превозно средство, имобилайзер и микроконтролер на таблото.
TopJTAG Flash програмист, TopJTAG сонда.
Сърцето на програмиста TNM 5000 е 500.0000 Gate FPGA с проектирано CPU ядро ​​с 96MHz Clock за бързо програмиране на микросхеми.
Работа с OTP зоната на чипове EN25F16, EN25F80, EN25Q16, EN25Q32, EN25Q64... Четене... запис... редактиране... програмиране на OTP зоната на чиповете.
Паралелна светкавица до 56pin:
Поддържа различни видове пакети (PLCC, TSOP1, TSOP2, VSOP &...). Всички светкавици могат да бъдат автоматично открити от софтуера. Използвайки един адаптер за всички 32-48 пинови TSOP флаш, потребителят се нуждае само от 1 адаптер за повече от 2000 флаш чипа.
NAND флаш памети:
Програматорът има допълнителен Nand+ софтуер, специално проектиран за NAND Flash. Софтуерът Nand+ има един от най-изчерпателните списъци с NAND флаш памети с алгоритъм за коригиране на лоши данни в MLC NAND. TNM5000 е един от най-бързите Nand програмисти в света със скорост на четене и запис до 8 мегабайта в секунда. Всички Nand могат да бъдат автоматично открити от софтуера.
Серийни флаш памети:
Всички 8-16 пинови серийни SPI флаш се поддържат от програмиста. Всички флаш SPI могат да бъдат открити автоматично от софтуера. Той чете и програмира SPI флаш при максимална безопасна скорост от 6-7 Mbps. Също така премахва защитата, като защитата от запис мига преди запис на данни.
Микроконтролери:
ATMEL: Всички AVR 8 битови чипове (ATMEGA/ATTINY/AT90S) се поддържат от ZIF Socket & ISP кабел. Поддържа се програмиране на AVR до 64 пина. Поддържат се нововъведената серия ATXMEGA и PDI и JTAG метод. Стара серия C51 и нова серия C51 с един цикъл се поддържат напълно. Всички серии могат да бъдат открити автоматично. ARM7 поддържа JTAG програмиране.
Микрочип PIC:
Един от най пълен списъкустройства за PIC микроконтролери на Microchip, включително всички серии PIC12F/PIC12C/PIC16C/PIC16F/PIC18F/DPIC33F/J&K. Устройства до 40 пина могат да бъдат програмирани на ZIF гнездо, всички PIC могат да бъдат открити автоматично и програмирани от ISP кабел.
Допълнително:
Програми MIO KB9012, ST, SST, Philips (NXP), Motorola, Syncmos, Silicon Lab, ICSI, Infineon, Intel, Winbond &…
Автомобилни микроконтролери:
Поддържа ISP кабел от серия ST10F & TMS370 за много ECU на BOSCH/VALEO/SAGEM (пълна поддръжка на ST10F от списъка с програмни устройства XPROG-m). Поддържа Siemense & Infineon SAK - C167, свързан към 44 или 48 пинова флаш (Siemense / BOSCH / SAGEM S2000 ECU), като HSE FlasHit Programmer. Поддръжка за устройства на NEC и Motorola за табла за управление. Поддържа Motorola/FreeScale MC68HC11KA4/MC68HC11A8. Поддържа добавен OTP предпазител от серия MC68HC908. Семейство Infineon Tricore Audo-NG (Следващо поколение) TC1796 TC1766 с поддръжка на външна 32-битова Flash (S29CD032 - S29CD016) в нови ECU на Bosch. Motorola MPC562 MPC561 BDM програмиране за външна флаш и външна EEPROM в EDC ECU (Bosch & Sim2K). Серия Motorola HC9S12DG64 / HC9S12DG128 / HC9S12DG256 / HC9S12DG512 с функция за байпас на сигурността.
PLD/CPLD/FPGA:
Поддържа всички ALTERA JTAG устройства чрез емулация на Altera USB Blaster Programmer в софтуера Quartus. Поддръжка на Xilinx CPLD/FPGA с jed файл. Бърза конфигурация на Xilinx FPGA с битов файл. Поддръжка за GAL/Palce устройства със специална опция за отключване на Palce.
Многоезичен софтуер (английски/китайски/арабски/френски/фарси/руски). По желание на клиента могат да се добавят други езици и устройства. Можете да изтеглите софтуера и да го стартирате в демо режим, за да го оцените.


Е, нямам търпение да тествам устройството в действие. Внимателно поставете чипа в леглото на адаптера, инсталирайте самия адаптер в универсалното гнездо на програмиста, свържете програмиста към лаптопа, лаптоп работи 32 малко Windows 10 с инсталиран софтуер, предварително изтеглен от сайта на производителя.




За работа на програмиста с NAND FLASH чипове се използва един софтуер, а за работа с останалото разнообразие от чипове се използва друг.
Избираме нашия чип от списъка и...


Устройството внимателно предупреждава за недокосване на определени крака на чипа. Внимателно изцедете панела, преместете чипа - всичко е наред. За да проверим, стартираме автоматично откриване - програмистът открива най-близкия чип от това семейство, всичко е наред.


Пишем, четем, изтриваме, всичко е наред, програмистът бързо работи през всички режими.
Е, нека да преминем към основното действие, за което е закупен програмистът. По време на работа използваме много десетки индустриални Wi-Fi точки HP MSM-310R.


Устройството е скъпо, но въпреки това се проваля. Гаранцията изтече и се натрупаха няколко. Вътре като Hewlett-Packard и други бели марки има закупен производител канадски Colubris.


Съдейки по оскъдната информация от производителя и мигането на светодиодите, беше възможно да се разбере, че проблемът е софтуерен. Точката просто не се зареди поради повреда във вътрешността файлова системаили износен чип с флаш памет. Е, издухваме чипа K9F5608UOD от живата точка със сешоар, четем го и го запояваме обратно. Откриваме къде в дъмпа за четене има конфигурационни параметри, които описват серийния номер и MAC адресите на устройството. Има две от тях, няколко килобайтови блока. Те са еднакви помежду си. От мъртва точка ние също издухваме чипа, четем го, намираме идентификационни блокове в дъмпа на същите адреси, изрязваме го и го запазваме. Заменяме тези блокове във фърмуера, прочетени от жива точка, с необходимите със серийни номера и мъртви MAC. мига нов чип, закупен предварително на Aliexpress, запоете този комбиниран фърмуер и готово, работата работи. Имах късмет, новият чип, който закупих, се оказа с много високо качество и нямаше лоши блокове от фабриката, така че дъмпът можеше да бъде написан едно към едно, без никакви смени. Разбира се, би било методологически по-правилно да се свърже с jtag интерфейса на точковия процесор, но по това време те наистина се сърдеха да опитат неизвестното.
И накрая, бих искал да ви разкажа за мини-състезанията на някои от моите програмисти. Извадих ги от кошчетата, снимах ги и ги подготвих за тест.


Запознайте се с Bidipro, самозапояващо устройство, което беше доста популярно по това време сред радиоразрушителите. Но в резултат на дълъг период на бездействие някъде се прокрадва хардуерна грешка под формата на липсваща връзка или късо съединение, причинено от скъперническата сълза на носталгичен инженер по електроника. И освен това контролният софтуер изисква DOS. Отпада в началото.


Второто устройство, клонинг на SEEPROG, е добър сериен програмист за чипове, производителят все още обновява софтуера.


Третият участник, Ezoflash, опростена версия на Willema, също се използва активно преди придобиването на MiniPro.


Четвъртият участник, TL-866, няма нужда от представяне.
Ще четем-трием-пишем някои чипове, ако корпусите не са DIP, тогава ще използваме комплект MiniPro адаптери. За Ezoflash - нашите собствени адаптери, тези, които успяхме да намерим сред развалините. Празните места в таблицата означават, че съответният програмист не може да работи с тествания чип.
Ще използваме и друг компютър, който има хардуерен LPT порт.
Конфигурацията е доста модерна, DualCore Intel Core i3-4170, 3700 MHz, 4GB RAM, дънна платка Gigabyte GA-H81M-S2PV, SSD устройство ADATA SP550, Windows 7 x32.
Резултатите от изследването ще бъдат представени в таблица; времето на всяко движение е посочено в секунди.


Има предимство в скоростта на основните операции на USB програмистите.
Не проверих работата на програмиста в режим на вътрешносхемно програмиране - поради липсата на интерес към тези възможности, не проверих и програмирането на микроконтролери, т.к. 146% съм уверен във възможностите на устройството.
Обобщавайки, бих искал да отбележа основното
Предимства на този програмист:
Изработка,
Широка гама от поддържани чипове, списъкът се актуализира постоянно.
Евтини pin-2-pin адаптери за по-голямата част от микросхемите (с изключение на базираните на чип SOP44 - DIP40, на цена от неприлична сума от почти петдесет долара)
Разумна цена в сравнение с подобни устройства с подобна функционалност.
недостатъци:Още не съм го намерил.
Благодаря на всички, които прочетоха до този момент моето първо creo в Муска, предварително се извинявам за възможните неудобства, не използвах Word, руският не е моят роден език.
Да, повтарям, устройството е закупено с мои собствени пари. Смятам да си купя +30 Добавяне към любими Ревюто ми хареса +75 +124

2019-12-30 Дата последна актуализацияпрограми: 2019-12-30

Янус с две лица

Решихме да наречем този програмист " Янус".

защо е така Защото в римската митология Янус е двуличенбог на вратите, входовете и изходите, както и на началото и края. Каква връзка? Защо нашият програмист ChipStar-Janus двуличен?

Ето защо:

  • От една страна, този програмист е прост. Разпространява се като безплатен проект, възможно е лесно да си направите сами.
  • От друга страна, той е разработен от компанията дълго време професионално ангажираниразработка и производство на различно електронно оборудване, включително програмисти.
  • От една страна, този програмист е прост, на пръв поглед няма много впечатляващи характеристики.
  • От друга страна, работи съвместно с професионална програма (между другото, точно същото като другите професионални програмисти на ChipStar).
  • От една страна, ние предлагаме този програмист безплатно безплатновъзли.
  • От една страна, ние го продаваме и в завършен вид, като обикновен бюджетен продукт.
  • От една страна, самоделният програмист не се покрива от гаранция (което е естествено).
  • От една страна, ако сте успели да го сглобите, тогава можете да го поправите, а програмистът е толкова прост, че всъщност няма какво да се счупи.
  • От една страна, това е просто във веригатапрограмист
  • От една страна, чрез прости адаптери за разширение поддържа програмиране NAND ФЛАШи други микросхеми вече са „в гнездото“.

Така че програмистът ChipStar-Янусза много специалисти може да бъде реално решение в ситуация, в която различни прости или любителски програмисти вече не са достатъчни, а по-сложен програмист изглежда излишен или няма достатъчно отделен бюджет за него.

Какво ни подтикна да разработим този програмист.

Има голямо разнообразие от прости специализирани програмисти, подходящи за самоделно.

Има много евтини китайски програмистив готов вид.

Има доста любителски разработки, често превъзхождащи по качество последните.

Изглежда, какъв е смисълът от друг занаят?

Дълго време разработваме, произвеждаме и поддържаме универсални програмисти, предимно за целите. Имаме богат опит в работата с голямо разнообразие от микросхеми. Често с нас се свързват хора, които вече са събрали и често са закупили един от гореспоменатите „продукти“. Често за нашите специалисти е невъзможно да разгледат дизайна на схемите, качеството на изработката и особено софтуера на тези устройства без смях/сълзи/ужас (подчертайте, ако е подходящо). Добре е, когато програмистът струва „три копейки“, купувате го, някои работят, други не, но парите не са много. Но често съотношението цена/възможности на такива устройства, меко казано, ни изненадва. Искам да възкликна: не струва толкова много!

В допълнение към всичко по-горе, има специална категория програмисти, подходящи за самостоятелно производство - това са програмисти (по-точно програмни схеми и софтуер), разработени от специалисти от компании, произвеждащи микросхеми (главно микроконтролери). Такива програмисти са проектирани доста професионално, няма "гафове" в дизайна на техните схеми. Поддържат всички декларирани чипове. Но има два „малки“ недостатъка: списъкът с програмируеми микросхеми е много ограничен (което е съвсем разбираемо) и софтуерът е много спартански - без ненужни функции, като правило - само изтриване, запишете, проверявам. Често дори функции четененяма микрочип.

И така, програмист ChipStar-Янусв първоначалната конфигурация е вътрешносхемен програматор. В този режим той поддържа микроконтролери СНИМКАИ AVRфирми Микрочип, някои архитектури на микроконтролери MCS51, микроконтролери от фирмата STMicroelectronicsи редица други, както и серийни чипове памет с интерфейс I2C(най-вече епизод 24). Можете да свържете прости адаптери към съединителя за разширение на програмиста и да започнете да програмирате чипове с памет „в гнездото“.

Сега програмирането се изпълнява "в гнездото":

  1. EPROM) с интерфейс I2C(серия 24xx);
  2. серийни чипове с флаш памет (Serial ФЛАШ) с интерфейс SPI (SPI Flash);
  3. серийни чипове с памет (Serial EPROM) с интерфейс M.W. (серия 93xx);
  4. микросхеми NAND ФЛАШ;

Програмистът и софтуерът поддържат технологията за независимо добавяне на микросхеми с три кликвания. Досега е реализирано добавяне на микросхеми NANDИ I2C. В много близко бъдеще се планира прилагането на тази технология за MW чипове ( серия 93xx) И AVR. Така получавате не просто програмист, но мощен инструментза самостоятелна работа.

Три начина да получите програматор ChipStar-Janus

1-ви метод:
Напълно сглобете програмиста сами

Методът е подходящ за тези, които имат време, опит и желание, но ограничени финансови възможности. Или просто любопитен.

Алгоритъм на действие:

2-ри метод:
Сглобете програмиста сами, като закупите готова печатна платка и микроконтролер на фърмуера

Методът е подобен на предишния, само че ще се спасите от най-трудните операции: правене на печатни платки и мигане на фърмуера на микроконтролера без програмист.

Алгоритъм на действие:

  1. Прочетете условията за ползване на самостоятелно сглобения програмист.
  2. Прочетете инструкциите за сглобяване на програмиста.
  3. Изтеглете пълната документация за програмиста.
  4. Купете монтажен комплект (готова печатна платка и микроконтролер с вече записан фърмуер).
  5. Закупете необходимото оборудване за сглобяване на програмиста според

Намерих снимка в моя архив, която показва процеса на създаване на JTAG програмист, който трябваше да съживя сателитен тунер. Сега малко повече подробности за това какъв вид „звяр“ е JTAG:

JTAG(съкратено от английски) Съвместна група за тестване; произнася се "jay-tag") - име работна групапо разработването на стандарта IEEE 1149. По-късно това съкращение стана здраво свързано със специализирания хардуерен интерфейс, разработен от тази група въз основа на стандарта IEEE 1149.1. Официално име на стандарта Стандартен тестов порт за достъп и архитектура за гранично сканиране. Интерфейсът е предназначен за свързване на сложни цифрови чипове или устройства за ниво печатна платкакъм стандартно оборудване за тестване и отстраняване на грешки. За тези, които се интересуват, вижте цялата статия наУикипедия.

Сега да се върнем към бизнеса, моите приятели ми дадоха сателитен тунер, най-често срещаният и прост Globo на процесор Ali M3329B. При такива симптоми изобщо не се включи, първо обвиних захранването, но след като проверих всички напрежения с мултицет, се оказа, че всичко е наред със захранването. След като проучих няколко различни статии за ремонт на тези приемници, стигнах до извода, че съдейки по симптомите, фърмуерът е напълно загубен и може да бъде възстановен чрез флашване чрез JTAG програмист. Имаше и мисълта, че е напълно изгорял и не може да бъде възстановен, но все пак предпочитах да вярвам, че фърмуерът чрез JTAG ще помогне.

За производство избрах тази схема:

Захранването се подава към веригата от приемника, към който е свързана. Не е необходимо да се използва външно захранване за веригата по две причини. Първо, консумацията на ток е много малка и не създава допълнително натоварване на захранването на приемника, и второ, захранването от същия източник като процесора с флаш памет подобрява съвпадението на логическите нива.

74HC244 не е инвертиращ буфер. Чипът съдържа два независими четирибитови буфера. Всеки буфер има собствен сигнал за разрешаване на изхода (активен нисък). На входовете няма тригери на Шмит. Микросхемата е направена с помощта на "бърза" CMOS технология, която осигурява висока производителност. Мощният токов изход прави възможно поддържането на висока производителност дори при капацитивен товар. Производителността на 74HC244 е сравнима с тази на чипове, базирани на диоди на Шотки, докато 74HC244 запазва предимствата на CMOS чиповете, т.е. висока устойчивост на шум и ниска консумация на енергия. Входовете на микросхемата са защитени от повреда от статично електричество с помощта на диоди.

Уви, не намерих 74HC244 в доставките си. Намерих само аналог на 74F244, който се различаваше леко в захранващото напрежение Vcc. 74HC244 има препоръчително напрежение от 2 до 6 V, а 74F244 има препоръчително напрежение от 4,5 до 5,5 V. Въпреки че максималните граници са от -0,5 до +7 V, реших да не се занимавам и да започна производството.

Като вземем оригиналната диаграма в първото изображение и я преначертаем в програмата DipTrace, получихме тази диаграма:

Всичко беше проследено автоматично, само една линия не беше проследена, но този проблем беше решен с два SMD джъмпера. Изображението по-горе е готова за производство печатна платка.

На платката също подписах всички щифтове, но за съжаление подписах изходните сигнали неправилно, както се вижда в оригиналния източник 1- GND, 2- TCK, 3- TMS, 4- TDO, 5- TDI и 6- RST , но го взех GND, TMS, TCK, TDI, TDO, и RST, направих грешка като подписах контактите, по схемата всичко е точно, според първоизточника, т.е. 1- GND, 2- TCK, 3- TMS, 4- TDO, 5- TDI и 6- RST.

PCB с правилни обозначения на щифтовете:

Всъщност основното е гетинакс, пила, малък ръчен трион, шкурка. Отвертка и фреза за разделяне на гетинакса на 2 части, тъй като моето парче беше фолирано от двете страни, а нашата дъска е проста, едностранна.

След като свършим цялата работа, завъртайки гетинакса до размера на дъската (приблизително 55x50 mm), вземаме почистващия препарат COMET на прах и гъба за миене на съдове. Почистваме гетинакса от следи от мазнини и мръсотия. По-добре е да не изтривате останалата вода, а да я оставите да изсъхне.

Докато гетинаксът изсъхва, отиваме до компютъра и отпечатваме нашата диаграма лазерен принтери огледална фотохартия, показваща максимално качество на печат. Важно е да не забравите да поставите огледален образ, иначе ще свършим с всичко на дъската наопаки!

И така, гетинаксът е готов, печатната платка е отпечатана, внимателно напаснете ръбовете на гетинакса към дизайна на печатната платка върху фотохартия, прикрепете го към гетинакса с лепяща хартиена лента, вземете ютията и я поставете до максимална температура.

Естествено, фолиевата страна на getinaks към шаблона на печатната платка.

Когато ютията се нагрее, притискаме плътно, започваме да гладим - равномерно нагряваме гетинаксите от страната на хартията. Загряваме платка с такъв размер за не повече от 30-60 секунди, в противен случай тонерът ще се разтече. Препоръчвам да настроите таймер на телефона си, така че времето да е близо, пред очите ви. Когато всичко е готово, оставете дъската да изстине.

Откъсваме фотохартията от дъската, пред нас е готова дъска, която остава да бъде гравирана в железен хлорид FeCl₃, ако има дребни недостатъци, преди гравиране коригираме следите със скалпел и тънък маркер за дискове.

По време на процеса на ецване с железен хлорид е необходимо разтворът да се разбърква непрекъснато, например чрез разклащане на стъклените съдове. Ако размерът на дъската не е много голям, можете да поставите дъската върху повърхността на разтвора с шарката надолу - няма нужда да я разклащате, но е трудно да проследите края на процеса на ецване. Времето за ецване с железен хлорид варира от 5 до 50 минути и зависи от температурата, концентрацията на разтвора и замърсяването му с мед и дебелината на медното фолио. След ецване дъската трябва да се изплакне с течаща вода и да се изсуши.

В резултат на това получаваме тази печатна платка

Тонера го чистим и с пудра Комет, държи доста добре и за да не нараняваме пистите на борда го чистим бавно.

След почистване на тонера виждаме чиста, красива печатна платка


Сега нека започнем да запояваме елементите:



 


Прочетете:



Lineage II - Interlude: The Chaotic Throne няма да започне?

Lineage II - Interlude: The Chaotic Throne няма да започне?

Феновете на Lineage 2 са изправени пред неприятна ситуация, когато след инсталирането играта не стартира. Или се появяват грешки по време на инсталационния процес....

Възстановяване на парола за Excel

Възстановяване на парола за Excel

Документите на Microsoft Office често съдържат информация, която другите не трябва да знаят. Така че никой освен вас не може...

Как да добавите нов циферблат на смарт часовници с Android Wear

Как да добавите нов циферблат на смарт часовници с Android Wear

Над 30 000 цифрови и аналогови циферблата в едно приложение! Широки възможности за персонализиране на външния вид, различни интерактивни функции....

Най-печелившият тарифен план Life

Най-печелившият тарифен план Life

Сега мобилният оператор Life е един от най-популярните в Украйна. Предлага огромен брой интересни предложения, които привличат...

feed-image RSS