Підключаємо lcd дисплей через usb
Апаратна частина LCD2USB зроблена на ATmega8, дешевому і легкодоступному микроконтроллере з 8 КБ флеш-пам'яті (з якої приблизно 3 КБ зайняті програмою) і 2 КБ - ОЗУ. Інші компоненти - переважно роз'єми для підключення РК індикаторів і роз'єм інтерфейсу з ПК.Светодіод харчування (LED1) показує, що система живиться від USB. Тактова частота задається кварцовим резонатором 12 МГц. Використання кварцового резонатора необхідно, оскільки для інтерфейсу USB потрібна висока точність часових параметрів.
USB інтерфейс пристрою LCD2USB реалізований чисто програмно і використовує три висновки AVR контролера (PC0, PC1 і PD2). Ця програмна реалізація підтримує тільки низкоскоростной USB, про що ПК дізнається завдяки резистору R1.<
В інтерфейсі використовується роз'єм типу USBB. Це квадратний роз'єм, який зазвичай застосовується для USB пристроїв (на відміну від плоских роз'ємів типу USBA, використовуваних для USB хостів). Роз'єм USB, на відміну від всіх інших компонентів, монтується на звороті друкованої плати. Крім того, кабель можна підключити і без роз'єму, з боку компонентів, як показано на малюнках нижче.
Дисплеї: 2 × 16, 4 × 16, 4 × 20
Інтерфейс програмування (SPI
Програма завантажується в контролер через стандартний 10-контактний роз'єм AVR ISP (SV1). Для завантаження потрібно кабель програмування. Будуть потрібні також сумісні з цим кабелем програми для ПК, такі як Ponyprog або UISP.Раз'ем JP3 підключений до послідовного інтерфейсу мікроконтролера. Цей роз'єм призначається тільки для цілей налагодження і не може бути безпосередньо підключений до інтерфейсу RS-232 ПК. Для підключення знадобиться согласователь рівнів.
Завантаження прошивки в контролер
Якщо ви знайомі з програмуванням для Atmel, ви, ймовірно, знаєте що робити. Makefile в папці lcd2usb / firmware / Makefile має на увазі, що ви використовуєте простий адаптер для паралельного порту, сумісний з STK200. Підключіть зібраний пристрій (без дисплея) до ПК через USB. Пристрій не буде визначено до тих пір, поки в ньому не буде прошивки. Підключіть пристрій через кабель програмування до ПК з ОС Linux і встановленим uisp tool. після чого надрукуйте "make fuse; make flash-nodep", щоб завантажити прошивку в контролер.
Якщо Makefile не спрацює, ви можете також прошити пристрій вручну, використовуючи avrdude і вищезгаданий сумісний з STK200 адаптер принтерного порту з наступними параметрами:
Щоб вручну завантажити прошивку, використовуючи usbasp, просто використовуйте наступну команду:
Звичайно, ви можете використовувати іншу систему програмування AVR, але вам ймовірно доведеться зробити невеликі зміни в файлі Makefile.
опис протоколу
Для простоти, LCD2USB використовує тільки керуючі USB повідомлення. Більш ефективна та швидка групове пересилання доступна тільки для високошвидкісних пристроїв. Керуючий повідомлення для низькошвидкісних пристроїв складається з 8 байт. Перший байт вказує тип управління, його значення фіксовані для команд заданих продавцем пристрої (виробником). LCD2USB використовує його для своїх цілей (не задано виробником команди використовуються для зазначення номера та ID пристрою і т.д.). Решта сім байт представляють собою: тип запиту (1 байт), значення (2 байта), індекс (2 байта) і поле довжини (2 байта) для даних, переданих з контрольною передачею. Протокол LCD2USB не посилає додаткових даних, тому, з міркувань сумісності, останні два байта повинні бути нульовими. Решта чотири байти (2 байта значення і 2 байта індексу) залишені для передачі даних. Таким чином, за одну транзакцію передаються чотири байти. Це можуть бути чотири байти команд або чотири байти даних для HD44780.
Детальний опис байта запиту
Додаткові подробиці ви знайдете в вихідному коді тестової програми, яка перебуває в архіві з прошивкою для LCD2USB.
програма
Спочатку інтерфейс LCD2USB був розроблений для використання з lcd4linux. У той же час LCD Smartie і LCDProc також були вдосконалені, і тепер підтримують інтерфейс LCD2USB. В архів з прошивкою для LCD2USB включено маленьке демо додаток, яке можна використовувати для подальшого портирования LCD2USB на інші платформи. На даний момент ця програма підтримується Linux, MacOS X і Windows.
Використання LCD2USB під Windows
Harald K # 246; rfgen написав плагін до LCD Smartie для LCD2USB, тим самим остаточно зробивши можливим використання LCD2USB в Windows. Нижче представлено те, що він сам пише про своє плагін:
Для того щоб використовувати драйвер, в системі повинна бути встановлена libusb-win32 і LCD2USB.DLL повинна бути поміщена в папку «displays» програми LCD Smartie. В результаті, пристрій має бути виявлено автоматично. Драйвер тестувався тільки для дисплея 20x4.