Програматор Spi Flash своїми руками

Мікропрограмне забезпечення попередньо встановлено у флеш-пам’яті перед виготовленням друкованої плати, підтримуючи високу пропускну здатність. Тим не менш, є переваги в програмуванні флеш-пам’яті вже після її випуску, тобто до того, як вона була припаяна до плати. Програматор Spi Flash (SF) з дискретною флеш-пам’яттю має суттєві переваги перед звичайними SD. Його ціна зазвичай не перевищує 1/10 вартості флешки, використовує набагато менший форм-фактор і вимагає невеликої кількості спеціального обладнання.

Вибір: SF & SD

Існує безліч причин для вибору дискретної флеш-мікросхеми замість підсистеми SD або, навпаки, тому користувачеві необхідно вибирати компроміси перед придбанням пристрою. Наведений нижче список містить кілька аргументів, які потрібно знати, перед вибором DIP-чіпа або повноцінного SD-рішення:

  • Апаратна складність, перевагу має SF. DIP-пакет з дискретною флеш-мікросхемою набагато простіше використовувати, ніж SD.
  • Складність програмного забезпечення, перевагу має SF. Підсистема флеш-пам’яті SD зазвичай спирається на бібліотеки SD Fat16/32. Хоча пристрою є інтерфейсом SPI, має сенс використовувати FAT, оскільки будь-ПК/MAC може зчитувати карту. Ці бібліотеки великі і можуть займати дорогоцінний простір EEPROM на малих вбудованих контролерів.
  • Ємність і портативність, перевагу має SD. Можна використовувати SD-карту більшої ємності в існуючому дизайні без змін. Дискретна SPI має більш низькі межі щільності.
  • Вартість, перевагу має SF.
  • Потужність, перевагу має SF. SD-карти зазвичай мають більш високу потужність витоку з-за більш високої щільності і високої динамічної потужності з швидкості доступу.
  • Швидкість, перевагу має SD. SD флеш-пам’ять поставляється в багатьох різних SKU, заснованих на швидкості в основному з-за вимог цифрової фотографії і використання необроблених форматів зображень.
  • Флеш-пам’ять SPI

    Флеш-пам’ять SPI – це тип енергонезалежної пам’яті, заснований на технології MOSFET. Енергонезалежне означає, що пристрій зберігає всі дані, в тому числі, коли не включено. Флеш-пам’ять працює, переносячи групу носіїв заряду на діелектрик. Це називається програмуванням і зазвичай виконується з більш високою напругою. Процес не нешкідливий, він насправді пошкоджує матеріал, і після 100 тис. циклів пристрій виходить з ладу. Щоб зняти носії заряду з діелектрика, при однаковому високій напрузі на зворотному потенціал знімають носії з затвора. Це називається стиранням.

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

    Перевага Spi Flash програматорів USB полягає в простоті програмного забезпечення, код в основному зрушує дані висновків DI і DO, відповідно по передньому фронту тактової частоти. Годинник контролюються хостом, для них не потрібно химерна схема синхронізації: фази можуть бути настільки асиметричними, наскільки потрібно, за умови дотримання мінімальних вимог до ширини циклу пристрою.

    Утиліта для ідентифікації

    Flashrom – це утиліта для ідентифікації, читання, запису, перевірки і видалення флеш-чіпів. Вона призначена для прошивання образів BIOS/EFI/coreboot/firmware/optionROM на материнських платах, картах контролера мережі/графіки/зберігання і на різних пристроях програмування. Функціональні можливості:

  • Підтримує понад 476 чіпів флеш-пам’яті, 291 наборів мікросхем, 500 материнських плат, 79 пристроїв PCI, 17 пристроїв USB і різні програматори Spi Flash на основі паралельних/послідовних портів.
  • Підтримує паралельні інтерфейси, інтерфейси флеш-пам’яті LPC, FWH і SPI і різні пакети мікросхем (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40, TSOP48, BGA та інші).
  • Фізичний доступ не потрібно, root-доступ достатній або взагалі не потрібно для деяких програматорів.
  • Не потрібно завантажувальна дискета, CD-ROM або інший носій.
  • Клавіатура і монітори не потрібні, просто перепрошиваются віддалено через SSH.
  • Не потрібно миттєва перезавантаження.
  • Переписують чіп в працюючій системі і перевіряють його, нова прошивка буде працювати при наступному завантаженні.
  • Доступна часткова підтримка Windows.
  • DIY: універсальні програми створення

    Це кращий для мікроконтролерів PIC і AVR програматор Spi Flash, своїми руками, може бути, його створити не вийде, але пристрій не дороге, коштує менше 10 $ і виконується з легко доступних компонентів.

    Переваги:

  • Безкоштовне ПЗ з відкритим вихідним кодом.
  • Немає необхідності встановлювати додаткові драйвери, використовує драйвер HID (Human Interface Device), який зазвичай застосовується для клавіатури і миші.
  • Підтримує багато пристроїв PIC і AVR.
  • Підтримує платформи Windows і Linux.
  • Складається з мікроконтролера PIC18F2550 – мозку програматора Spi Flash.
  • Роз’єм USB-B підключається до комп’ютера.
  • Є два світлодіодних індикаторів, один для індикації підключення програматора, інший показує статус програмування.
  • Мікроконтролер PIC18F2550

    Основні три послідовних заголовка (J1, J2 і J3) використовуються для зв’язку з веденим пристроєм мікроконтролера. Використання висновків по-різному в різних мікроконтролерах. Перемикач скидання доданий до блока контролера для установки скидання програматора. PIC18F2550 блимає за допомогою шістнадцяткового коду прошивки, можна використовувати інші послідовні або паралельні програматори Spi Flash PIC.

    Він перевіряє зв’язок між мікроконтролером і комп’ютером. Потрібно провести тестування HID-виявлення (Human Interface Device), яке усуне багато помилок, таких як проблеми з мікроконтролером, кристалами і USB. Перед початком використання програми переконуються, що блимає світлодіод LED, який потім уповільнює процес миготіння. Якщо програматор не виявлено, перевіряють перехресні з’єднання та інструкції. Якщо він виявлений, переходять до наступного кроку.

    Програмування через OpenProg

    Встановлюють програму OpenProg на ПК, запускають і перевіряють підключений пристрій. Послідовність прошивки програматора Spi Flash:

  • Підключають USB-роз’єм до ПК.
  • Відкривають OpenProg і переконуються, що програматор виявлено.
  • Натискають «Параметри» -> «Перевірка обладнання».
  • Виконують апаратний тест. Він перевіряє всі контакти програмування, і користувач може легко налагоджувати пристрій при виявленні помилок.
  • Апаратний тест показує напругу на ТЕКСТИЛЮ, VPPU, CLK, DATA, PGM в різні моменти часу, що важливо враховувати при виконанні своїми руками програматора Spi Flash на SMD.
  • Вимірюють напруга між висновками ТЕКСТИЛЮ, VPPU, CLK, DATA, PGM і перевіряють його значеннями на екрані.
  • VPP може мати різницю в 1 з-за перетворення змінного струму в постійний.
  • Якщо напруга цих висновків частині контролера і те, що відображається на екрані, схожі, програматор працює відмінно.
  • Якщо напруга відрізняється, перевіряють ланцюг відповідних контактів.
  • Дизайн друкованої плати

    Ця друкована плата розроблена в Eagle 7.2. Розмір пластини 7,5 х 7 см, вона виконана на автоматичному травильном верстаті. Друкована плата також може бути виготовлена з допомогою хімічного травлення в домашніх умовах.

    Компоненти JA, JB, JC є перемичками. За схемою ретельно перевіряють це і спочатку, під час складання компонентів, встановлюють перемички. Для забезпечення безпеки PIC18F2550 під час пайки використовують 28-контактна підстава IC.

    Плата розширення пов’язує програматор з мікроконтролером. Різні серії мікроконтролерів мають різні контакти і конфігурацію для програмування. Це дає користувачам перевага в простоті програмування мікроконтролера.

    Плата розширення може бути легко зроблена з використанням перфорованої дошки або в спеціальних заготовок для плат, придбані в торговельній мережі. Для серій мікроконтролерів використовується різні плати розширень. Для LVICP від 5 до 3,3 В необхідний регулятор напруги, такої як LM1117 або аналогічний йому.

    Пристрій 3.3 повинно бути запрограмовано тільки з використанням плати розширення 3.3 В, в іншому випадку може статися необоротне ушкодження. Деякі з плат мають варіант 5 Ст. Якщо потрібно запрограмувати на 5 В, можна вибрати опцію «Не вимагати плати низької напруги». Також не рекомендується розміщувати 24F-33F у гніздо 30F, яке працює при 5 Ст.

    Завершення процесу створення

    Після виготовлення частині контролера і плати розширення, можна відразу перейти до програмування пристрої:

  • Знаходять пристрій і серію пристрої для програмування.
  • Вибирають відповідну плату розширення пристрою.
  • Підключають пристрій до плати розширення.
  • Приєднують плату розширення до блока контролера.
  • Підключають кабель USB B до програматора і до ПК.
  • Відкривають OpenProg.exe і переконуються, що програматор виявлено.
  • Відкривають пристрої та вибирають потрібне для програмування.
  • Натискають зелену стрілку у верхній частині, щоб прочитати пристрій.
  • Для запису/прошивки натискають ліву кнопку зверху, щоб вибрати код «.hex», і натисніть «Ok».
  • Натискають червону кнопку зі стрілкою поруч із зеленою кнопкою зі стрілкою, щоб запрограмувати пристрій.
  • Переконуються, що LED блимає під час програмування, показуючи статус процесу.
  • Перевіряють результат і переконуються, що миготіння пройшло успішно.
  • Послідовна SPI AT45DB161D

    Простий Spi Flash програматор SPI (AT45DB161D) являє собою 16-мегабитную (2 МБайт) 2,5 або 2,7 флеш-пам’ять з послідовним інтерфейсом, ідеально підходить для широкого спектру додатків, призначених для зберігання програмного коду і даних.

    Всього 2097152 байта (0x1FFFFF) організовані в 4096 сторінок з 512 байтами на сторінку. Незважаючи на те, що чіп пропонує різні варіанти стирання, бібліотека програмного забезпечення підтримує стирання блоків, причому один блок містить 4 Кбайт.

    Щоб перезаписати існуючі дані, спочатку необхідно видалити відповідний блок. Читання і запис даних здійснюється досить простим способом, в основному шляхом надання адреси читання/запису (від 0 до 0x1FFFFF) та інформації про довжину даних. Використовуючи існуючі базові функції, можна розширити код для підтримки великої системи доступу до файлів.

    USB – накопичувач EEPROM

    Програматор Spi Flash EEPROM серії 25 з програмним забезпеченням і підтримкою драйверів і 25-SPI флеш-пам’ять 8-контактний/16-контактний має наступні функціональні можливості:

  • Автоматична ідентифікація моделі чіпа 25 серія.
  • Підтримка USB у TTL.
  • Автоматичне визначення чіпа серії 25.
  • Підтримка завантаження STC серії.
  • Процедура однокристального мікроконтролера STC програматора Spi Flash ch341a підтримує повний спектр завантаження програм для різноманітного ЗА: резервне копіювання, стирання, програмування, калібрування та інших переміщень.
  • Забезпечує вихід харчування 5 В – 3,3 Ст.
  • Розмір: 70 мм х 27 мм
  • CH341SER.EXE – самостійна установка архіву з USB в послідовний драйвер.
  • Усунення збоїв роботи мікроконтролерів

    Коли користувач починає працювати з мікроконтролерами, він, ймовірно, зіткнеться з проблемами при програмуванні, на вирішення яких потрібні години або дні, а іноді вони просто нерозв’язні. Досвідчені програмісти поділилися своїми напрацюваннями усунення різних порушень, ось деякі з них:

  • При будь-якому збої спочатку перевіряють блок живлення. Іноді трапляється так, що джерело живлення не підходить до програматора і потрібне зовнішнє джерело живлення.
  • Вибирають правильний послідовний порт в програмному забезпеченні.
  • Перш ніж використовувати програматор, необхідно встановити драйвери, необхідні для його функціонування. Коли підключається програматор в перший раз, він автоматично встановлює їх, якщо є з’єднання з інтернетом, іноді потрібно вказати розташування драйверів.
  • Підвищення напруги. Багато мікроконтролери вимагають підтягування у своїй ланцюга, перш ніж можуть бути запрограмовані, так мікроконтролер пикасе вимагає 10 кОм підтягуючого резистора на послідовному висновку, інакше показує помилку.
  • Програмне забезпечення для програмування не виявляє мікроконтролер – це знову-таки проблема з блоком живлення, перевіряють БЖ знову і підключають програматор до комп’ютера.
  • Після виконання своїми руками USB-програматора Spi Flash користувач отримає SF, виконану власноруч для системного програмування. Вона буде легко управлятися комп’ютером через шину USB завдяки зручному інтерфейсу і потужним функціями.