Видео на связке AVR + 3310 + SD - нужен конвертор

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
Evgen88
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн мар 09, 2009 02:14:34

Видео на связке AVR + 3310 + SD - нужен конвертор

Сообщение Evgen88 »

Сейчас работаю над связкой AVR + 3310 + SD-карта как базой для дальнейших конструкций. Вроде пока дело движется и получается довольно интересно.
Появилась одна мысль - выводить видео с SD карты на дисплей. Интерес скорей не в самом видео а в возможности вывода анимированных меню, анимированных сообщений, логотипов, разной информации ну и т.д.

Достоинства очевидны:
- места на SD много и его не жалко (1Мбайта хватит минуты на 3 видео) а гиговые SD щас стоят дешевле семечек!
- т.к. в новых AVR есть два аппаратных SPI (я мучаю Mega88) то для вывода меню, даже, непотребуется буфер в ОЗУ размером в полкило - данные напрямую пойдут в дисплей.
- ну и чисто эстетичестое удовлетворение от изображении на дисплее.

Теоритическая раскладка такая:
1. Скорости SD карты и дисплея 3310 с головой хватает на вывод видео (оба девайса легко справляются с максимальной возможной SPI AVR - 10M bps)
2. SD карта читается блоками по 512 байт, что прекрасно влаживается в размер экрана 3310 (84 столбца х 6 банков = 504 байта).
3. SD читается одним SPI и сразу побайтно передается в другой SPI для 3310
4. Частота кадров должна быть в пределах 5 - 10 кадров в секунду (больше неимеет смысла в виду инертности дисплея)

Проблема возникает в следующем:
Файлы видео необходимо конвертировать в BIN-файлы с чередой кадров по 504 байта + 8 байт (чтоб образовался блок 512байт). Преобразовать видео в формат ч/б 84х48 не проблема - например ВиртуалДубом. Можно его конвертировать в Uncompressed RGB (не сжатый формат, где кадры просто записываются поточечно тремя байтами на точку RGB), а дальше затык - я не програмлю на PC.

Кто нибуть может помочь в создании такого конвертора?
А может уже есть такие наработки?
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

вот такое хреновое видео без градаций серого.
Аватара пользователя
Evgen88
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн мар 09, 2009 02:14:34

Сообщение Evgen88 »

dosikus писал(а):вот такое хреновое видео без градаций серого.

Градации серого не нужны если выводиш логотип или меню. Меня больше беспокоит инертность экрана. Как бы она все не спортила :o
Аватара пользователя
Evgen88
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн мар 09, 2009 02:14:34

Сообщение Evgen88 »

Вроде осилил файловую систему!
Позже выложу что нибуть для демонстрации.

Пока никаких идей по конвертированию? Ну хотябы BMP-картинки в бинарный файл?
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

По поводу конвертации картинки в бинарник: есть такие утилитки для графических LCD экранов, сам пользовался. Ели надо - могу прислать.
Оптимизм х (Опыт + Знания) = const
Аватара пользователя
Evgen88
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн мар 09, 2009 02:14:34

Сообщение Evgen88 »

Потратив кучу времени и нервов корвертнул кусочек видео.
Так как конвертировал через ж... - фрагмент маленький.
Смотрите что получилось:
http://www.youtube.com/watch?v=QvaJHAUtGog

Aheir писал(а):По поводу конвертации картинки в бинарник: есть такие утилитки для графических LCD экранов, сам пользовался. Ели надо - могу прислать.

Кинь на мыло пожалуйста - попробую с ними поработать.
Аватара пользователя
Evgen88
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн мар 09, 2009 02:14:34

Сообщение Evgen88 »

Все получилось!
Пришлось конвертор делать самому.
Есть очень интерасная среда програмирования - ХайАсм называется.
Позволяет программировать с нуля. Просто соединяются квадратики.
Не програмируя вообще на PC собрал конвертор за 2 дня.
Кому интересно - http://www.hiasm.com

Вот пример реализации меню - http://www.youtube.com/watch?v=UbPvEjNKjRQ
помоему получается неплохо :)))
Файл меню является своего рода скином - тоесть если нада поменять внешний вид меню микроконтроллер трогать не надо - просто записываеш на флешку новый файл.
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

Мне нравится:)
Оптимизм х (Опыт + Знания) = const
Fighter
Встал на лапы
Сообщения: 94
Зарегистрирован: Ср авг 01, 2007 13:32:33

Сообщение Fighter »

Очень неплохо.
а побольше расписать как да что можно?
а то я сейчас делаю похожее, только для S65 индикатора...
Аватара пользователя
Evgen88
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пн мар 09, 2009 02:14:34

Сообщение Evgen88 »

Fighter писал(а):Очень неплохо.
а побольше расписать как да что можно?
а то я сейчас делаю похожее, только для S65 индикатора...

Все очень просто:
1 Берется микроконтроллер с двумя SPI (можно зделать программно но это расход ресурсов). У меня ATMega88.
2 На один SPI цепляется экран, на другой SD-карта.
у меня так:
Изображение

3 Дальше нужно написать процедуру отображения на экране блока SD-карты. SD карта читается по блоками в 512 байт. Для 3310 хватает 1 блока (504 байта) если экран побольше нада брать несколько блоков. Как работает SD карта лучше всего описано здесь:http://piclist.ru/S-MMC-SD-Cards-RUS/S-MMC-SD-Cards-RUS.html
По моему опыту лучше не создавать FAT систему на карте а работать напрямую. На карте записывается своего рода масив картинок и в зависимости от ситуации выводитя нужная последовательность картинок по индексу. Для плавного видео нужно выводить 10 картинок в секунду. Процедура вывода (если незаморачиваеться с FAT) выходит очень небольшой (в пределах сотни байт). Т.к. вывод идет напрямую с карты на экран память незадействуется вообще.
Если программа пишется на С то в сети валом библиотек с которых просто нада выкинуть все ненужное.

4 Самая сложная часть создание того самого масива кадров (BIN файла). Я делал так: создал презентацию на ПоверПоинте - зделал видео файл при помощи захвата ВиртуалДубом, Темже ВиртуалДубом делал анимированный Гиф с нужным разрешением и монохромный. Дальше Гиф файл разбивал на БМП кадры картинки и своим конвертором собирал их в БИН файл. Знаю замудошно но это от моего несостояния написать конвертор ГИФ в БИН (пе програмлю на РС вообще).

Уфф! Заморился писать. Надеюсь понятно написал?
Fighter
Встал на лапы
Сообщения: 94
Зарегистрирован: Ср авг 01, 2007 13:32:33

Сообщение Fighter »

более чем :)
у меня все подключено и все работает - я именно конвертацию имел ввиду - но вы все подробно описали...

p.s. просто думал у вас конвертер автоматически переводит...
C0oo1D
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Пн дек 29, 2008 14:23:35
Откуда: Донецк, Украина

Сообщение C0oo1D »

Evgen88 писал(а):Вроде осилил файловую систему!
Пока никаких идей по конвертированию? Ну хотябы BMP-картинки в бинарный файл?

Слышал про формат raw? Фотошоп в нем сохраняет.. Я себе шрифты и графику делал на цветную LCD от нокии, 128х128.. и с помощью скриптов делал конвертор в массив данных для CVAVR.. но скрипты это жесть) как освоюсь с питоном - обязательно какой-то конвертор нормальный сделаю =)
p.s. raw это по сути чистый бинарник.. даже блокнотом можно открывать, но лучше hex редактором
Fizikus
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Сб фев 27, 2010 19:23:52
Откуда: Тула
Контактная информация:

Re: Видео на связке AVR + 3310 + SD - нужен конвертор

Сообщение Fizikus »

Скажите пожалуйста, каким образом можно написать на карту памяти бинарник без файловой системы?
Продаю SMD резисторы, конденсаторы.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Видео на связке AVR + 3310 + SD - нужен конвертор

Сообщение Engineer_Keen »

Fizikus писал(а):Скажите пожалуйста, каким образом можно написать на карту памяти бинарник без файловой системы?

Или с помощью самодельной программы на PC, которая работает с картой на низком уровне или с помощью программатора (скорее всего тоже самодельного). В любом случае карточка стандартными средствами ОС больше читаться не будет.
Fizikus
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Сб фев 27, 2010 19:23:52
Откуда: Тула
Контактная информация:

Re: Видео на связке AVR + 3310 + SD - нужен конвертор

Сообщение Fizikus »

А можно по-подробней? В какую сторону копать? Я только начал изучать делфи, написал программку для конвертирования бмп-шников в бинарники, сейчас прикошачиваю карточку SD к микроконтроллеру, файловую систему очень не хочется мудрить, а как напрямую запись на карточку организовать в делфях не знаю. Буду очень признателен за подсказку. :)
Продаю SMD резисторы, конденсаторы.
Fighter
Встал на лапы
Сообщения: 94
Зарегистрирован: Ср авг 01, 2007 13:32:33

Re: Видео на связке AVR + 3310 + SD - нужен конвертор

Сообщение Fighter »

В журнале радио ( годов 2004) была статья переделки сотового в читалку книг, там на дельфи была прога через ЛПТ порт заливающая книги на MMC/SD карту...
поищите статью - будут готовые исходники...
Аватара пользователя
ruslan55
Родился
Сообщения: 14
Зарегистрирован: Пт фев 26, 2010 21:48:43
Откуда: Башкортостан
Контактная информация:

Сообщение ruslan55 »

Заинтересовала меня эта тема, решил я тоже попробовать вывести анимированные картинки, программирую на PIC-ах, взял микроконтроллер PIC16F628A, дисплей решил заюзать Nokia1110i и SD карта на 1 гиг, изучил команды для работы с SD картой, написал прошивку, и таки получилось вывести анимацию.

Файловую систему пока толком не изучал, картинки в виде массива байтов записываю в область данных, при помощи WinHex, не затрагивая загрузочные разделы и таблицы FAT, чтобы потом карта читалась на компе, Микроконтроллер работает на частоте 4МГц, (машинный цикл - 1МГц), прошивка заняла около 700 слов, микроконтроллер считывает с карты пакеты данных в ОЗУ, размер пакета 32 байт, потом из ОЗУ отправляет их на дисплей.

Видео работы http://www.youtube.com/watch?v=VSCKDIHsUZI
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Re: Видео на связке AVR + 3310 + SD - нужен конвертор

Сообщение ELcat »

Evgen88, тоесть, как я понял, ты с файловой системой не заморачивался вообще? Или как организовано пространство? Ты типа всё убил и пишешь "сырые" данные с нулевого адреса и до упора?
Аватара пользователя
ruslan55
Родился
Сообщения: 14
Зарегистрирован: Пт фев 26, 2010 21:48:43
Откуда: Башкортостан
Контактная информация:

Re: Видео на связке AVR + 3310 + SD - нужен конвертор

Сообщение ruslan55 »

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

Кстати теперь я и FAT освоил, сейчас просто кидаю бинарный файл содержащий массив байтов на карту и все, программа микроконтроллера сама выполняет поиск этого бинарного файла, рассчитывает адреса всех кластеров и начинает выводить данные на дисплей) теперь прошивка увеличилась до 1000 слов
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Re: Видео на связке AVR + 3310 + SD - нужен конвертор

Сообщение ELcat »

Блин, убил флешу... Пока разбирался с дисплеем (а он висит на том же SPI что и карта, чип ATmega16+ls020)всё это время на !CS карты висел "0". Теперь вроде как видится, но не пишется и не форматиться ни под каким соусом, так и висят на ней файлы которые были изначально. Видать чего-то хватонула как команду и стала в неизвестную позу :( Помогите плз, мож кто знает как это вылечить. Жалко флеху 2Гиба всётаки :cry:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»