ABCom — компьютер на ATmega1284P

Краткое описание и предназначение устройства

Данное устройство собирал ради интереса, какой-то конкретной цели не ставил, но получилось довольно любопытно. Идеально подойдет для освоения азов бэйсика. В планах расширить бэйсик, добавить команды для управления внешними устройствами и считывания информации с датчиков. Записав программы в EEPROM и отладив взаимодействие контроллера с периферией можно найти не мало применений этому девайсу. Один из главных плюсов которого будет заключаться в автономности и для того, что-бы переписать программу не придется тащить контроллер к программатору, а просто подключив дисплей с клавиатурой сразу через среду TinyBasic вести необходимые поправки.
А пока немного о самом устройстве.

Основные технические характеристики

  • Ширина шины данных — 8 bit
  • Тактовая частота — 16 МГц
  • Размер ОЗУ — 16 Кб
  • Тип ОЗУ — SRAM
  • Размер ПЗУ — 4 Кб
  • Тип ПЗУ — EEPROM
  • Рабочее напряжение контроллера: от 4.7 до 5.5 В
  • Питание: от 5 до 35 В (за счет L7805AB)
  • Рабочая температура: от -40 до +85 С

Принципиальная схема

Описание работы принципиальной схемы

На питании установил стабилитрон с 2мя конденсаторами соответственно (для того, что-бы Атмега работала стабильно от 5 Вольт). Поставил кварц на 16 Мгц и 2 SMD конденсатора (для 16 Мгц можно брать в диапазоне от 10 до 30 пФ, а то может не стартовать). По большому счету особенностей в схеме больше нет. А еще Reset вывел на +5В, что-бы избежать случайного сброса.

Используемые радиоэлементы в схеме. Цена

Цены списал с накладной, которая пришла мне вместе с радиоэлементами.

  • х1 ATmega1284P-PU — 600р
  • х1 L7805AB — 20р
  • х1 Кварцевый резонатор на 16МГц —  14р
  • х1 Светодиод зеленый — 
  • х1 Вилка штыревая (PLS-40) — 15р
  • х2 Конденсатор на 22 пФ х 50В —
  • х1 Mini DIN (6 pin) — 22р
  • х1 Разъем питания 2,1х5,5х14мм (NP-119B) — 17р
  • х1 Гнездо питания на плату 2.0х5,5мм (K375A) — 21р
  • х1 Тюльпан на плату (RS-105A) — 13р
  • х1 DIP панель 40 контактов широкая (SCL-40) — 18р
  • х1 Cтеклотекстолит 1-сторонний, фольгированный (FR4 100х150мм) — 170р
  • х1  Конденсатор электролитический 0.33мкФ, 50В (К50-35 мини) —
  • х1 Конденсатор электролитический 0.1мкФ, 50В (К50-35 мини) —  
  • х1 Резистор углеродистый 1 кОм —
  • х2 Резистор углеродистый 470 Ом —

Общая стоимость всех компонентов: 930 рублей.

Описание ПО и прошивки, фьюзы

Сразу по фьюзам:
LOW: 0xFF
HIGH: 0xD9
EXTENDED: 0xFF

Различия от заводских:
— убрал делитель
— переключил Атмегу на внешний кварц
— отключил JTAG 

Прошивал контроллер через USBasp.
Для особо ленивых оставлю hex файл, а если у вас будет желание поработать с кодом, то оставлю архив с прошивкой (TinyBasic Plus) и библиотеками (TvOut — отвечает за вывод видео-сигнала, Keyboard — связь с клавиатурой, TVoutFonts — шрифт, а так-же Spec и Pollserial).

Поподробнее о прошивке

TinyBasic — это один из диалектов языка Basic, который использовали для экономии памяти на микроконтроллерах, тк он был достаточно урезан и занимал 2-3 Кб. TinyBasic Plus в свою очередь переписанный энтузиастами TinyBasic под Ардуино.
Документация по языку ниже.

Печатная плата

Печатал по лазерно-утюжной технологии.
Трафареты прикрепил ниже.

Фото собранного устройства

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
MK1 МК AVR 8-бит ATmega1284P 1
Линейный регулятор L7805AB 1
LED1 Светодиод 5В, 3мм 1
C1 Электролитический конденсатор 0.33мкФ. 50В 1
C2 Электролитический конденсатор 0.1мкФ. 50В 1
C3, C4 Конденсатор 22пф, 50В 2
R1, R2 Резистор 470 Ом 2
R3 Резистор 1 кОм 1
Q1 Кварцевый резонатор 16Мгц 1
Вилка штыревая (PLS-40) 1
Разъем Mini DIN (6 pin) 1
Разъем питания 2.1х5.5х14мм (NP-119B) 1
Гнездо питания на плату 2.0х5.5мм (K375A) 1
Тюльпан на плату (RS-105A) 1
DIP панель 40 контактов широкая (SCL-40) 1