В один прекрасный день мой старый добрый компьютер с 9-ти летним стажем приказал долго жить. Моя радость была неописуемой, ведь помимо отсутствия возможности добраться к нужной информации, находящейся на старых винчестерах, пропала возможность проводить отладку микроконтроллерных поделок с помощью вывода контрольных сообщений через COM-порт на терминальную программу. Уже хотел было сделать преобразователь интерфейсов RS232-USB для ноутбука, как пришла идея собрать автономный COM-терминал – устройство, позволяющее принимать и с помощью клавиатуры передавать символы в ASCII-кодировке, с отображением всей этой информации на жидкокристаллическом индикаторе. Результат поиска уже разработанных подобных устройств меня не порадовал – попалась только одна разработка, на которую у меня не было необходимого дисплея (да и искать его не особо-то хотелось:-) а автор предлагал только файл-прошивку. Ну что же, мы не ищем лёгких путей - решено разработать такой приборчик самому.
Дальше, злой рок наконец перестал вмешиваться в мою работу, поэтому через пару недель свободного времени COM-терминал был готов!
Собственно, устройство.
Основа устройства – контроллер Atmega8A. В качестве дисплея был выбран LPH8731-3C, библиотеку для работы с которым я описывал ранее. Однако, в данном проекте, библиотека была полностью переделана и оптимизирована для быстрого вывода текстовой информации.
Информацию об интерфейсе клавиатуры PC/AT можно найти на данном сайте, в моей же программе был применён код, основанный на аппноуте AVR313 фирмы Atmel (прилагается в архиве).
Терминал поддерживает следующие скорости работы UART: 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 и 76800 бод/с.
В программе используются 3 кольцевых буфера: один на приём данных по UART, второй – на отправку сообщений и третий – буфер данных клавиатуры. В принципе, при небольшой скорости печатания на клавиатуре можно было обойтись и без последних двух, но мне работать с ними удобнее.
В начале каждого запуска терминала появится окошко, в котором кнопкой SELECT необходимо выбрать требуемую скорость работы, а кнопкой ENTER установить её. При необходимости изменить скорость работы UART, нажимаем SELECT и выполняем опять описанные действия. Кнопка CLEAR производит очистку дисплея.
В схеме, помимо стандартного интерфейса RS-232, предусмотрена возможность подключиться напрямую к выводам TX и RX испытуемого микроконтроллера, блока GPS или другого устройства, имеющего интерфейс UART и необходимую нам скорость работы. Также предусмотрена гальваническая опторазвязка выводов TX и RX терминала, выполненная на оптопарах PC817. В этом случае для связи с испытываемым устройством нам понадобится на 1 соединительный провод больше, чтобы подать от него независимое питание (+3…+5В) на вывод Vcc разъёма X2. Насколько такое решение удачно – судить вам!
Принимаемые по UART символы отображаются на экране синим цветом, передаваемые с помощью клавиатуры – красным цветом. На дисплее организован сдвиг текстовых данных подобно тому, как он организован в Microsoft Word, что позволяет удобно отслеживать диагностическую информацию.
Плата создавалась по принципу «что есть в наличии», поэтому представляет собой симбиоз SMD-компонентов с «нормальными» деталями.
Все необходимые коммуникационные выводы представлены на плате в виде разъёмов, а сами гнёзда COM-порт и PS/2 расположены в корпусе прибора. В качестве источника питания используется 9-вольтовая батарейка типа "Крона".
Разъём для программирования микроконтроллера на плате не предусмотрен, из-за чего придётся самостоятельно подпаять проводники программатора к нужным выводам, для этого предусмотрены небольшие контактные площадки возле ножек микроконтроллера.
Конфигурация:
Биты конфигурации:
Печатная плата в Proteus (v 7.10):
И в железе:
Готовое устройство:
На видео представлен пример работы терминала с его первым, не особо удачным прототипом и блоком GPS-приёмника Lassen iQ
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
DD1 | МК AVR 8-бит | ATmega8A-AU | 1 | Поиск в магазине Отрон | ||
DD2 | ИС RS-232 интерфейса | MAX232 | 1 | Поиск в магазине Отрон | ||
DA1 | Линейный регулятор | LM7805CT | 1 | Поиск в магазине Отрон | ||
VD1 | Стабилитрон | BZX55C3V0 | 1 | Любой стабилитрон 3В, 0.5 Вт | Поиск в магазине Отрон | |
U1, U2 | Оптопара | PC817 | 2 | Поиск в магазине Отрон | ||
ZQ1 | Кварц | 16 МГц | 1 | Поиск в магазине Отрон | ||
C1, C2 | Конденсатор | 22 пФ | 2 | Поиск в магазине Отрон | ||
C3-C6 | Конденсатор | 0.1-1 мкФ | 4 | Поиск в магазине Отрон | ||
C7 | Электролитический конденсатор | 4.7мкФ 20В | 1 | Поиск в магазине Отрон | ||
C8 | Электролитический конденсатор | 47 мкФ 10В | 1 | Поиск в магазине Отрон | ||
C9 | Конденсатор | 47 мкФ | 1 | Поиск в магазине Отрон | ||
R1-R4, R18, R19 | Резистор | 4.7 кОм | 6 | Поиск в магазине Отрон | ||
R5 | Резистор | 510 Ом | 1 | Поиск в магазине Отрон | ||
R6-R10 | Резистор | 15 кОм | 5 | Поиск в магазине Отрон | ||
R11, R12 | Резистор | 240 Ом | 2 | Поиск в магазине Отрон | ||
R13-R17 | Резистор | 22 кОм | 5 | Поиск в магазине Отрон | ||
LCD | LPH8731-3C | 1 | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Прикрепленные файлы:
- COM-terminal - Плата под ЛУТ.rar (302 Кб)
- Интерфейс PC AT клавиатуры.pdf (151 Кб)
- COM-terminal - проект.rar (149 Кб)
Комментарии (12) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
[Автор]
[Автор]
В разьёме Com с внешним питанием Gnd висит в воздухе в то время как внешняя линия питания сидит на земле. Во втором разьёме контакт TX сидит на земле. Поправьте если ошибаюсь. Придётся править уже вытравленную печатку.