Програмист на spi flash със собствените си ръце

Фърмуерът е предварително инсталиран във флаш устройствата, преди да бъде произведена печатната платка, което поддържа висока пропускателна способност. Въпреки това програмирането на флаш паметта след пускането ѝ, т.е. преди да е запоена на платката, има предимства. Програматорът Spi Flash (SF) с дискретна флаш памет има значителни предимства пред конвенционалните SD. Обикновено струва по-малко от 1/10 от цената на флаш памет, използва много по-малък форм-фактор и не изисква специален хардуер.

Избор: SF & SD

Обосновка за използване: SF & SD

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

  1. Сложността на хардуера, SF има предимството. DIP пакетът с дискретен флаш чип е много по-лесен за използване от SD.
  2. Сложност на софтуера, предимство има SF. Подсистемата на SD флаш паметта обикновено разчита на библиотеките SD Fat16/32. Въпреки че устройствата са SPI, има смисъл да се използва FAT, тъй като всеки PC/MAC може да чете картата. Тези библиотеки са големи и могат да заемат ценно място в EEPROM на малките вградени контролери.
  3. Капацитет и преносимост, SD има предимство. Възможно е да се използва SD карта с по-голям капацитет в съществуващ дизайн без промяна. Дискретният SPI има по-ниски граници на плътност.
  4. Разходи, SF има предимство.
  5. Power, SF има предимство. SD картите са склонни да имат по-висок процент на изтичане поради по-високата си плътност и висока динамична мощност поради скоростта на достъп.
  6. Скорост, SD има предимство. SD флаш паметта се предлага в много различни варианти в зависимост от скоростта, главно поради изискванията на цифровата фотография и използването на необработени формати на изображения.

SPI флаш памет

SPI флаш памет- неговия тип енергонезависима памет, базирана на технологията MOSFET. Енергонезависим означава, че запазва всички данни, дори когато не е включен. Флаш паметта работи чрез прехвърляне на група носители на заряд върху диелектрика. Това се нарича програмиране и обикновено се извършва при по-високо напрежение. Процесът не е безвреден, той всъщност уврежда материала и след 100 хил. цикли на повреда на устройството. За да се отстранят носителите на заряд от диелектрика, при същото високо напрежение върху обратния потенциал се отстраняват носителите от портата. Нарича се изтриване.

Програмираният флаш бит е 0, а изтритият бит е 1, изтритият флаш байт е 0xFF в шестнадесетичен формат. Флаш паметта вече може да съхранява множество битове на клетка, като използва нива на напрежение. С нарастващите изисквания към паметта това става все по-трудно за структурно изпълнение.

Предимството на USB програмистите Spi Flash е простотата на софтуера, като кодът основно измества данните на пиновете DI и DO, съответно на нарастващия фронт на тактовата честота. Часовникът се контролира от хоста и не изисква сложни схеми за тактоване: фазите могат да бъдат колкото е необходимо асиметрични, стига минимални изисквания до ширината на цикъла на устройството.

Инструмент за идентификация

Flashrom е програма за идентифициране, четене, писане, проверка и изтриване на флаш чипове. Той е предназначен за флашване на образи на BIOS/EFI/coreboot/firmware/optionROM на дънни платки, карти за мрежови/графични/съхранителни контролери и различни други устройства за програмиране. Функционалност:

  1. Поддържа над 476 чипа флаш памет, 291 чипсета, 500 дънни платки, 79 PCI устройства, 17 USB устройства и различни програмисти на базата на паралелен/сериен порт Spi Flash.
  2. Поддържа паралелни интерфейси, LPC, FWH и SPI флаш интерфейси и различни пакети за чипове (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40, TSOP48, BGA и др.).
  3. Не се изисква физически достъп, за някои програмисти е достатъчен или не е необходим root достъп.
  4. Не се изисква зареждаща дискета, CD-ROM или друг носител.
  5. Не са необходими клавиатура и монитори, просто презаредете дистанционно чрез SSH.
  6. Не е необходим незабавен рестарт.
  7. Пренапишете чипа в работеща система и го тествайте, новият фърмуер ще работи при следващото зареждане.
  8. Налична е частична поддръжка на Windows.

Направи си сам: гъвкав софтуер за създаване

Направи си сам универсален

Това е най-добър за Микроконтролер PIC и AVR програматор Spi Flash, може да не е възможно да го направите със собствените си ръце, но устройството не е скъпо, струва по-малко от 10 долара и е направено от лесно достъпни компоненти.

Предимства:

  1. Безплатен софтуер с отворен код.
  2. Не е необходимо да се инсталират допълнителни драйвери, използва се драйверът HID (Human Interface Device), който обикновено се използва за клавиатура и мишка.
  3. Поддържа много PIC и AVR устройства.
  4. Поддържа платформи Windows и Linux.
  5. Състои се от микроконтролер PIC18F2550 - мозъкът на програмиста Spi Flash.
  6. Конектор USB-B Свързва се с вашия компютър.
  7. Има два светодиода, един за индикация на връзката с програматора и един за индикация на състоянието на програмиране.

Микроконтролер PIC18F2550

Микроконтролер PIC18F2550

Трите основни серийни хедъра (J1, J2 и J3) се използват за комуникация с подчиненото устройство на микроконтролера. Използването на изводите е различно при различните микроконтролери. В кутията на контролера е добавен превключвател за нулиране на програматора. PIC18F2550 мига с шестнадесетичен код на фърмуера, могат да се използват и други серийни или паралелни Spi Flash PIC програматори.

Той проверява комуникацията между микроконтролера и компютъра. Изисква тестване за откриване на HID (Human Interface Device), което ще отстрани много грешки, като например проблеми с микроконтролера, чипа и USB. Преди да продължите използване на програмата Уверете се, че светодиодът мига, след което процесът на мигане се забавя. Ако не е намерен програматор, проверете кръстосаното окабеляване и инструкциите. Ако бъде открита, се преминава към следващата стъпка.

Програмиране с OpenProg

Програмиране с OpenProg

Инсталирайте софтуера OpenProg на компютъра, стартирайте го и тествайте свързаното устройство. Последователност на фърмуера за Spi Flash:

  1. Свързване на USB порта към компютъра.
  2. OpenProg и проверете дали устройството е открито.
  3. Натиснете "Параметри" -> "Тест на хардуера.
  4. Извършване на тест на хардуера. Той проверява всички щифтове за програмиране и потребителят може лесно да отстранява грешки в устройството, ако бъдат открити такива.
  5. Хардуерният тест показва напрежението при VODU, VPPU, CLK, DATA, PGM в различни моменти от време, което е важно да се вземе предвид, когато правите свой собствен SMD Spi Flash програматор.
  6. Измерете напрежението между VODU, VPPU, CLK, DATA, PGM и го проверете на екрана.
  7. VPP може да има разлика от 1V поради преобразуването на променливия ток в постоянен.
  8. Ако напреженията на тези щифтове са подобни на тези, показани на екрана, програматорът работи добре.
  9. Ако напрежението е различно, проверете свързаното с него контактно окабеляване.

Проектиране на печатни платки

Проектиране на печатни платки

Тази печатна платка е проектирана в Eagle 7.2. Размер на дъската 7,5 x 7 cm, изработена с автоматична машина за гравиране. Печатната платка може да бъде изработена и чрез химическо ецване в Начало.

Компонентите JA, JB, JC са джъмпери. Проверете внимателно това в схемата и първо настройте джъмперите, докато сглобявате компонентите. PIC18F2550 използва 28-изводна основа за ИС, за да се гарантира безопасността на PIC18F2550 по време на процеса на запояване.

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

Разширителната платка може лесно да се изработи с помощта на перфорирана платка или специални заготовки за платки, закупени в магазина. За серията микроконтролери се използват различни разширителни платки. За LVICP 5V до 3,3V е необходим регулатор на напрежение като LM1117 или еквивалентно или подобни.

Устройство 3.3V трябва да се програмира само чрез разширителна платка 3.3V, в противен случай може да възникне непоправима повреда. Някои от платките имат опция за 5V. Ако трябва да програмирате за 5 V, можете да изберете опцията "Не изисквайте платка за ниско напрежение". Също така не е препоръчително да поставяте 24F-33F в гнездо 30F, което работи при 5 V.

Завършване на процеса на изграждане

Завършете процеса на създаване

След като контролерът и разширителната платка са изработени, можете да пристъпите директно към програмиране на устройството:

  1. Намиране на устройство и серия устройства за програмиране.
  2. Изберете подходяща разширителна платка за устройството.
  3. Свързване на устройството към разширителната платка.
  4. Свързване на разширителната платка към контролния блок.
  5. Свържете кабела за връзка USB B към програматора и компютъра.
  6. Open OpenProg.Изпълнете exe и се уверете, че програмистът е открит.
  7. Отворете устройството и изберете устройството, което искате да програмирате.
  8. Натиснете бутона със зелена стрелка в горната част, за да прочетете устройството.
  9. Натиснете левия мек клавиш в горната част на екрана, за да изберете кода "Write/Flash".Натиснете зелената стрелка в горната част, за да прочетете състоянието на софтуерното програмиране на устройството, натиснете бутона "Hex" и натиснете "Ok".
  10. Натиснете бутона с червена стрелка до бутона със зелена стрелка, за да програмирате устройството.
  11. Уверете се, че светодиодът мига по време на програмирането, показвайки състоянието на процеса.
  12. Проверете резултата и се уверете, че мигането е успешно.
Статус на програмиране на софтуера

AT45DB161D Сериен SPI

Програматорът Simple Spi Flash SPI (AT45DB161D) е 16MBit (2MBytes) 2,5V или 2,7V серийна флаш памет, която е идеална за широк спектър от приложения да съхранявате програмен код и данни.

Общо 2097152 байта (0x1FFFFFF), организирани в 4096 страници с 512 байта на страница. Въпреки че чипът предлага различни възможности за изтриване, библиотеката софтуер поддържа блоково изтриване, при което един блок съдържа 4 килобайта.

За да се презапишат съществуващи данни, първо трябва да се изтрие съответният блок. Четенето и записът на данни се извършват по доста прост начин, главно чрез предоставяне на адрес за четене/запис (от 0 до 0x1FFFFF) и информация за дължината на данните. Съществуващите основни функции могат да бъдат разширени, за да поддържат обширна система за достъп до файлове.

USB флаш устройство EEPROM

USB флаш устройство EEPROM

Програматорът Spi Flash EEPROM серия 25 с поддръжка на софтуер и драйвери и 25-SPI флаш памет 8-pin/16-pin има следните характеристики

  1. Автоматична идентификация на чип модел 25 серия.
  2. Поддръжка на USB към TTL.
  3. Автоматично откриване на чипове от серия 25.
  4. Поддръжка за изтегляне на серия STC.
  5. Едночиповият микроконтролер STC Spi Flash Programmer procedure ch341a поддържа пълния набор от софтуерни изтегляния за различни софтуери: архивиране, изтриване, програмиране, калибриране и други движения.
  6. Осигурява изходно захранване 5V - 3,3V.
  7. Размер: 70 мм x 27 мм
  8. CH341SER.EXE - самостоятелно инсталиране на архив на драйвер за USB към сериен модул.

Отстраняване на неизправности в микроконтролера

Когато потребителите започват работа с микроконтролери, те вероятно ще се сблъскат с проблеми при програмирането, чието решаване може да отнеме часове или дни, а понякога е просто неразрешимо. Опитни програмисти са споделили своя опит в отстраняването на различни неизправности, ето някои от тях:

  1. В случай на неизправност първо проверете захранването. Понякога се случва захранването да не се побере в програматора и е необходимо външно захранване.
  2. Изберете правилния сериен порт в софтуера.
  3. Трябва да инсталирате драйверите, преди да използвате програматора, необходими за неговото функциониране. Когато програматорът се включи за първи път, той автоматично ги настройва, ако е наличен интернет връзка, понякога е необходимо да се посочи местоположението на драйверите.
  4. Повишаване на напрежението. Много микроконтролери изискват издърпване на веригата, преди да могат да бъдат програмирани, така че микроконтролерът picase изисква резистор за издърпване на 10 k ohm на серийния пин, в противен случай показва грешка.
  5. Софтуерът за програмиране не открива микроконтролера - това отново е проблем със захранването, проверете отново захранването и свържете програматора към компютъра.

След като изработи със собствените си ръце USB програматор Spi Flash, потребителят ще получи SF, изработен на място за програмиране на системата. Лесно е да се управлява компютър чрез USB шина благодарение на удобния интерфейс и мощните си функции.

Статии по темата