Швидкий спосіб підключити графічний контролер FT8xx до мікроконтролера на базі ядра ARM

Про можливості графічних контролерів FTDI ми вже не раз розповідали раніше і в цій статті не будемо зупинятись на цьому. Далі йтиметься про простий і швидкий спосіб познайомитися з роботою FT8xx самостійно.

Одним із перших питань, що постають на етапі освоєння нової елементної бази – це необхідність перенесення та конфігурації прикладів виробника на свою платформу. При використанні МК на базі ядра ARM одним із зручних способів може бути спеціалізований ресурс для розробників – ARMmbed (https://developer.mbed.org/). Даний ресурс поєднує виробників мікроконтролерів на базі ARM, виробників налагоджувальних засобів на базі цих МК та різних плат розширення для них, а також розробників, які працюють з ARM-контролерами. Усі представлені на сайті апаратні платформи повністю підтримують роботу з універсальним набором програмних засобів – mbed SDK. Це дає можливість запустити будь-який із прикладів, представлених на даному сайті, на вибраному МК, якщо периферія нашого МК дозволяє це зробити.

У нашому прикладі покажемо роботу з двома налагоджувальними платами: Wiznet WIZwiki-W7500P та SiLabs EFM32 Happy Gecko. Обидві ці плати мають статус mbed Enabled. Це говорить про те, що вони пройшли всі необхідні тести на сумісність із набором програмних та апаратних засобів, які представлені на сайті ARMmbed.

На сайті ARMmbed представлено перероблену та розміщену в загальному доступі бібліотеку FTDI для роботи з контролерами FT80x. На базі цієї бібліотеки реалізовано невеликий проект FT800_RGB_demo2, який ми спробуємо запустити на наших платах: https://developer.mbed.org/users/dreschpe/code/FT800_RGB_demo2/ . Для доступу до ресурсів ARMmbed необхідно пройти просту реєстрацію, після чого можна приступати дороботи.

Першим кроком буде додавання до нашого списку необхідних платформ. Додамо собі платню Happy Gecko. Для цього нам потрібно знайти плату в списку підтримуваних апаратних платформ, відкрити сторінку з її описом та натиснути кнопку “Add to your mbed Compiler”: https://developer.mbed.org/platforms/EFM32-Happy-Gecko/

контролер

Далі переходимо на сторінку з цікавим для нас прикладом проекту для FT800 (див. посилання вище). Перед нами відкриється наступна сторінка:

підключити

Даний приклад може бути відкритий в онлайн-режимі в mbed компіляторі (що здійснюється натисканням кнопки “Import this project”) або на ПК у середовищі, що підтримується розробки (при натисканні кнопки “Export to desktop IDE”). На прикладі EFM32 імпортуємо проект у Simplicity Studio. Вибираємо "Export to desktop IDE", і на наступній сторінці вибираємо платформу та середовище розробки. У списку платформ “Choose platform” будуть доступні тільки ті налагоджувальні плати, які ми додали собі на першому кроці:

контролер

Після натискання кнопки “Export” нам буде запропоновано завантажити архів із проектом. Розпакований проект додаємо стандартною процедурою File – Export у Simplicity Studio:

спосіб

У файлі main.cpp замінюємо імена та призначення висновків МК на те, що є на нашій платі. Вибрані лінії виведені на роз'єм EXP:

FT800 TFT(PE10,PE11,PE12,PE13,PD5,PD4); // mosi, miso, sck, ss, int, pd

Це всі зміни, які необхідно зробити у проекті перед його компіляцією. Збираємо проект, програмуємо наш МК штатними засобами Simplicity Studio і переконуємось, що все працює.

Тепер запустимо цей проект на платі WIZWiki-W7500P. Додамо плату до списку наших платформ: https://developer.mbed.org/platforms/WIZwiki-W7500P/, а потім перейдемо на сторінкуіз проектом FT800_RGB_demo2. Для даного мікроконтролера відкриємо проект у mbed компіляторі:

швидкий

Замінюємо імена та призначення висновків для МК W7500P:

FT800 TFT(D11, D12, D13, D10, D7, D6); // mosi, miso, sck, ss, int, pd

Компілюємо проект, після закінчення компіляції нам буде запропоновано завантажити файл прошивки з розширенням bin. Процес програмування ось у чому. При підключенні плати WIZwiki-W7500P до персонального комп'ютера вона визначається як зовнішній диск з ім'ям “MBED”: https://developer.mbed.org/teams/WIZnet/wiki/How-to-write-the-firmware-into-WIZwiki- W Завантажений файл прошивки з розширенням bin копіюємо на цей диск. Після закінчення запису МК автоматично перезавантажується та починає виконання завантаженої програми.

Використання ресурсів сайту ARMmbed може допомогти в короткий термін підготувати, наприклад прототип для показу майбутнього пристрою. Не слід вважати ARMmbed універсальним інструментом на всі випадки життя. Зокрема приклад роботи з FT8xx, показаний вище, використовує бібліотеку одного з користувачів сайту. У цій бібліотеці є невеликі відмінності від фірмової бібліотеки FTDI, і це не дозволить у прямому вигляді використовувати приклади, які дає FTDI. Але бувають ситуації при першому знайомстві та початку роботи з новими компонентами, коли складно локалізувати помилку у програмі або “залізі” при використанні штатних засобів, які надаються виробниками компонентів, що використовуються. Альтернативний варіант, запропонований ARMmbed, може допомогти у вирішенні проблеми.