Текстовый VGA-модуль для микроконтроллеров

В своих разработках я часто использую операционную систему реального времени (ОСРВ) OSA

OSA — кооперативная многозадачная операционная система реального времени (ОСРВ) для микроконтроллеров фирмы Microchip серий

PIC10PIC12PIC16PIC18PIC24 и dsPICAVR 8-bit фирмы Atmel, а также микроконтроллеров STM8 фирмы STMicroelectronics.

Простая, работает на самых младших камнях, не требовательна к ресурсам, а главное позволяет задавать приоритет задачам. Подробнее про нее можно почитать тут: pic24.ru

На том же сайте мне понравился один проект текстового vga-терминала на pic18

Схемы, прошивки, всё выложено и разжевано. Но электрическая схема это далеко не плата и я решил наколбасить свою версию платы для этого устройства. Уж очень захотелось выкинуть все эти 1602, 2004, 12864 дисплеи. На VGA-то места гораздо больше.

Путем неимоверных страданий и боли долгой ручной трассировки, родилась на свет плата размером 75х27мм.

Плату моментально воплотил в текстолите, залил прошивку и обломался. Точнее просто расстроился. Половина заявленных в статье функций просто отсутствует. Но на экран выводит, то есть работает.

В статье упоминается про Игоря Ковалева (Украина), который доработал этот терминал с 30х30 символов до 51х30. Я списался с Игорем. Оказалось дело было давно, и у него есть версия 64х30, которой он со мной любезно поделился.

Софт пришлось сильно перелопачивать в плане функций отрисовки, допиливания недоделанных и вырезания не нужных кусков. Пришлось возвращаться в старый добрый MPLab и копаться в чужом ASM-коде. До сих пор пупырчатые мурашки от этого. В конечном итоге я заточил этот текстовый терминал под свои нужды. И со стороны модуля и со стороны клиента по SPI.

Заказал с десяток плат на заводе

И по-быстрому запаял

С тех пор использую их как «на коленке», когда нужно по-быстрому что-то проверить, так и в законченных устройствах.

Следующие 2 фото не рекомендуется к просмотру лицам со слабой психикой, беременным женщинам и детям.

А вот эти можно смотреть без ограничений

VGA-монитор, PS/2 клавиатура, CAN-шина

CAN-Ethernet-VGA аж с тремя камнями pic18f67j60, pic18f46k20 и pic32mx170f256b — это тема для отдельной статьи 🙂

Об авторе demid

Однажды открыл для себя микроконтроллеры и с тех пор не отпускает...
Запись опубликована в рубрике VGA-модуль. Добавьте в закладки постоянную ссылку.

7 комментариев на «Текстовый VGA-модуль для микроконтроллеров»

  1. Олег говорит:

    Вот дешевле.
    https://youtu.be/qJ68fRff5_k

    https://www.tindie.com/products/bitluni/esp32-vga-black-edition/

    На esp32. Ничего не поделаешь. Они дешевле. Но с практической точки зрения вашего модуля вполне хватит для многих задач.

    • demid говорит:

      Есть небольшая разница между 200х150 и 640х480.
      Раз в 10,24 если быть точным.

      • Олег говорит:

        Я не те ссылки скинул) прошу прощения. Есть именно на stm32 проект. (Тут вообще esp32 и низкое разрешение) А там 800х600 было. Потерялся в ссылках. Можете удалить мои комментарии.

        • demid говорит:

          там режим экрана 800х600
          А физическое разрешение, доступное 400х300

          • Олег говорит:

            Вы правы. Вот: https://www.artekit.eu/vga-output-using-a-36-pin-stm32/

            Но пока я ковырялся, понял что решение использовать монитор для большинства проектов — не целесообразно.

            1. Вы правы, что цена не значима для серьезных проектов. Но в таком случае, можно купить новый полноценный дисплей. Так ещё и с сенсором. Если нужен именно большой дисплей, (монитор) — значит там уже совсем другие цели. (например крутить рекламу) А для этого не используют Ардуино. Можно прикрутить какой-то плеер или компьютер и управлять по сети.
            2. Если это домашняя поделка и мне нужен большой экран — я купил старый тонкий клиент HP. Они сейчас стоят 15-20 долларов. Но это полноценный компьюр с vga выходом, звуком, сетью и т.д. Там можно выводить любую информацию. Например, собирать информацию с датчиков по сети и выводить на экран. Так ещё и видеонаблюдение можно выводить на экран и т.д.

          • demid говорит:

            1) Курсы валют в виде таблиц на нескольких мониторах. Достаточно одной ESP и несколько модулей VGA. Без ОС, без компьютеров.
            2) Самодельные станки, где nextion дорого и мало размера
            3) 100 датчиков температуры на одном дисплее с одним микроконтроллером. Без ОС, без компьютеров. Мгновенный старт и работа.
            4) Встраиваемые системы с текстовыми терминалами диагностики.
            5) Мониторинг параметров работы самодельного генератора. Модуль ставится прямо в самодельный ЭБУ.
            6) Мониторинг периметра охраны. Окна/двери, 2 этажа, 2 монитора. Без ОС, без компьютера, CAN-сеть. Всё на МК. Дополнение к СКУД без компа работающее.
            Еще вспомню для чего брали модули — допишу.
            400х200 это конечно интерфейс будущего Nostromo, но 640*480 ч/б вполне себе замена дисплеям 128*64 чтобы просто вывести побольше всего.

  2. Олег говорит:

    Есть ещё такое))

    https://youtu.be/MUeIY_gLn3c

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *