Даний проект присвячений формуванню vga сигналу за допомогою 8-ми бітних
(Проект про формування VGA сигналу за допомогою 8-ми бітнихMCUфірми AVR)
(Що, свого часу дало мені "добрячого стусана" в справі мотивації
вдосконалення моїх знань в області мікроконтролерів).
Кілька місяців тому, маючи на меті підключити VGA-монітор для виведення текстових даних з микроконтроллерной системи збору інформації - я з подивом виявив, що нічого скільки-небудь "зрозумілої" і доступного для повторення "на коліні" по цій темі в Інтернеті відсутня.
Звичайно, існують промислові плати стандарту PC-104, можна дещо "нарити" і на www.opencores.org для реалізації на FPGA, є графічні контролери Fujitsu. хтось тут недавно на місцевій конференції пропонував за 5000 $ проект на ACEX 'е. але треба визнати - все це страшно далеко від народу ..
Хотілося щось набагато більше "дешеве і сердите". Попередні прикидки показували, що з найбільш поширених і досить швидкодіючих мікроконтролерів підходить продукція фірми ATMEL.
8-ми бітове RISC ядро AVR забезпечує пікову продуктивність близько 16 MIPS на тактовій частоті 16M H z. Плюс на підході більш швидкісні сімейства Mega 48,88,168 підтримують офіційну тактову частоту 20 MHz При цьому швидкість виведення даних через стандартний порт введення-виведення при FOSC = 16 MHz командами виведення в порт (out port x ..) 8 MIPS. До того ж я вже мав достатній досвід розробки пристроїв на мікроконтролерах AVR. І я засукав рукава ..
Результат своєї роботи я представляю на Ваш суд.
Поставлена технічна задача:
Мета яку я поставив для себе, досить проста на перший погляд:
Обмежившись одним корпусом поширеного MCU типу Mega8,16,8535
і т.д. і мінімумом зовнішніх елементів сконструювати символьний дисплей-адаптер з дозволом> 15x15 символів, який би виводив інформацію на VGA монітор при стандартних частотах VGA сигналу. Інформацію символьний адаптер повинен отримувати через стандартний USART порт мікроконтролера. Частота використовуваного мікроконтролера стандартна -16M H z.
Фотографії та схеми проекту:
Принципова схема відкоригована, на старій схемі були переплутані положення порту PAL-синхронізації і джампера PAL - VGA! Через це в "залозі" у багатьох схема НЕ ПРАЦЮВАЛА.

Так все це виглядає в залозі, зібраному на "коліні" за одну годину:

А ось що ми отримуємо на екрані монітора:


Технічні характеристики проекту:
Технічні характеристики VGA-адаптера:
Кількість символів: 20 рядків по 20 символів
Роздільна здатність матриці знакогенератора: 8x12 точок
Кодова таблиця знакогенератора: WIN тисячі двісті п'ятьдесят один
Формований сигнал: VGA
Частота кадрової синхронізації: 60Hz
Швидкість обміну UART 19200 bps
Технічні характерістікіVideo -Адаптер:
Кількість символів: 20 рядків по 38 символів
Роздільна здатність матриці знакогенератора: 8x12 точок
Кодова таблиця знакогенератора: WIN тисячі двісті п'ятьдесят один
Формований сигнал. Composite Video (PAL / SECAM)
Дозвіл: 625 рядків (чересстрочная)
Частота кадрової синхронізації: 50Hz
Швидкість обміну UART 19200 bps
Тип використовуваного мікроконтролера: Mega 8, Mega16. Mega32, Mega8535 і т.д.
Тактова частота мікроконтролера стандартна - 16Mhz
Алгоритм роботи програми:

Пояснення по роботі програми:
Алгоритм рендеринга зображення досить традиційний, головне ноу-хау проекту в використанні для побітного виведення зображення - зсувного регістру SPI SPDR через біт MOSI. При цьому утворюється двоступеневий конвеєр рендеринга:
У той час, як наступний байт для рендеринга вибирається з пам'яті,
попередній байт виводиться через зсувний регістр SPI SPDR MOSI.

