Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


3235
SimpleBook - электронная книга

Автор: Василий Сухопаров, 7evgen7@gmail.com
Опубликовано 07.07.2011.
Создано при помощи КотоРед.

Всем добрый день!

Выкладываю на всеобщее обозрение свой проект - SimpleBook на DSP dsPIC33FJ128MC706A. Сие устройство позволяет читать текстовые файлы в кодировке 1251 и юникод. Имееца возможность настройки цвета меню/текста/загрузки и тп. Да, собирать подобное устройство на микроконтроллере - полнейший бред. Однако великодушным Microchipом были предоставленны образцы, когда все остальные отмахивались. Необходимо было "что-то" создать для выставления на конкурс программистов, проходящий в моем городе. Благо под рукой был экран от старого ноутбука. Все остальное выпаивалось из того что было под рукой.

Все фото проекта можно посмотреть здесь.

Основная схема устройства: 

В конечном устройстве был сделан сокет, а DSP помещен на отдельную небольшую плату для простоты изготовления и возможности замены. На печатной плате "MCU" имеются места для установки керамических конденсаторов 0.1 мкф и также на обратной стороне можно поставить керамику 10 мкф для питания ядра.  Но в моем варианте он мешал и его пришлось вынести на основную ПП (C1 C2). 
Весь "агрегат" состоит из разных кусочков, т.к. готовое решение собиралось постепенно.

По интерфейсу SPI подключаются SD карта и RAM память, разьем вынесен на схеме. RAM -23K256 . На ПП "RAM" 2 слота под микрохемы, т.к. были еще кое-какие идеи, но пока не реализованы. CS первой RAM идет на 64-ю ногу DSP. Будте внимательны, на схеме это не указано.

 SD карта памяти подключается по томуже интерфейсу. 1-я нога DSP идет на переключатель, который замыкается на +3.3V если карта в слоте. необходим подтягивающий резистор на землю. На ПП "MMC" есть несколько контактов для установки сих. 4ю ногу сокета замкнуть на VDD и меж 5 и 8 - резистор на 10к в моем случае. У Вас может быть другой разьем под карты памяти, так что смотрите что куда. 2-я нога идет на CS карты памяти.

Также в схеме есть SPI FLASH память. У меня это была W25X40. Должна подойти любая, т.к. в основном алгоритм работы один и тот-же. В ней храняца настройки, которые считываются при запуске и записываются при каждом выходе из меню настроек. 

Теперь самое главное - подключение дисплея lq9d011 (даташит в комплекте)
1    NC
2    NC
3    +5V
4    +5V
5    GND
6    GND
7    ENA    начало цветопередачи(с моим дисплеем что подавать сигнал что не подавать, се равно отображает)
8    NC
9    CLK    тактирование
10    GND
11    Hsync    горизонтальная синхронизация
12    Vsync    вертикальная
13    NC
14    R0   красный
15    R1
16    R2
17    GND
18    G0   зеленый
19    G1
20    G2
21    GND
22    B0   синий
23    B1
24    B2
25    NC
26    NC
27    NC
Также возможно подключение других дисплеев.

Также хочу отметить что проц разогнан до 50 MIPS тк немного не дотягивал до нормальной частоты обновления экрана, и экран жутко пищщал. Практиески на данной основе можно реализовать даже какую-нибуть игру(танчики например) иль еще чего необычного.

Микры U3-U5 питаются от 5ти вольт. И еще один момент: у меня после навешанья всей лапши из RAM и FLASH карта памяти перестала отвечать, тогда на линию SCK советую повесить кондер 15-30pF. В меню настроек есть выбор какой тип SD карты используется, т.к. у меня оч старая карточка работала на SPI-0 а новые отказывались и наобород.

По программам в комплекте:


CharGen - редактирование заков представленных в коде ассемблера. Изначально разрабатывалась под 8-ми битные ПИКи, так что для новых Symbol надо заменить на ".byte". Invert - используется при сохранении, инвертирует последовательность битов символа. А "сеточка" справа используется для ручного задавания точек. Собственно можете открыть "KOI8.asm" в файлах прокта и посмотреть как это выглядит.

ScreenDraw.ASM- тут немного сложнее, программа для рисования "экранов" (например заставка при запуске выполнена на ней)
Сначала открываем таблицу знаков (Open Char code) и вверху появятся все символы. Нажимаем -рисуем. также можно открыть проект, но только сохраненный на ассемблере. для сохранения в асм надо указать начальную позицию в памяти (по умолч. 0х1000) куда будет записываться весь экран. можно сохранить на Си, для этого нажмите "use C?" вместо 0х1000 укажите название переменной в которую будет все записываться.

Файловая система:

Был использован модуль FatFS от Chan-а, за что ему отдельное спасибо :)
При открытии файла первым делом он конвертируеца в другой формат, для удобства работы с файлом. Вверху появится графа загрузки. Ее можно прервать и потом продолжить при повторном открытии файла. После полной загрузки файл появится в Библиотеке (на карте памяти это будет папка library).

Максимальное количество файлов в директории - 256 с длиной имени не более 120 знаков. Все это кэшируется на внешней RAM. Но сортировки нет.

Пролистывание файлов идет построчное(вверх вниз) либо страничное (вправо влево). При закрытии файла сохраняется позиция чтения, и при повторном открытии продолжите с того места где остановились.

 

На этом все! Если возникнут вопросы - спрашивайте, дополню статью. 
Просьба тапками не бить, я не супер электрик или программист, мне всего 16 лет. это мой первый более/менее сурьезный проект.
Удачи!

 

Идея взята отсюда:  Текстовый VGA-терминал на PIC18


Файлы:
Печатные платы (Proteus) 
Софт для ПК 
Прошивка МК с исходниками 


Все вопросы в Форум.





Источник: http://radiokot.ru/circuit/digital/game/11/
Категория: Устройства на микроконтроллерах | Добавил: brys99 (18.11.2011)
Просмотров: 6232 | Теги: SimpleBook - электронная книга | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2024