Заголовок сообщения: Видео на связке AVR + 3310 + SD - нужен конвертор
Добавлено: Пн мар 23, 2009 23:40:09
Первый раз сказал Мяу!
Зарегистрирован: Пн мар 09, 2009 02:14:34 Сообщений: 30
Рейтинг сообщения:0
Сейчас работаю над связкой 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.
Кто нибуть может помочь в создании такого конвертора?
А может уже есть такие наработки?
Зарегистрирован: Пн мар 09, 2009 02:14:34 Сообщений: 30
Рейтинг сообщения:0
Потратив кучу времени и нервов корвертнул кусочек видео.
Так как конвертировал через ж... - фрагмент маленький.
Смотрите что получилось:
http://www.youtube.com/watch?v=QvaJHAUtGog
Aheir писал(а):
По поводу конвертации картинки в бинарник: есть такие утилитки для графических LCD экранов, сам пользовался. Ели надо - могу прислать.
Кинь на мыло пожалуйста - попробую с ними поработать.
Зарегистрирован: Пн мар 09, 2009 02:14:34 Сообщений: 30
Рейтинг сообщения:0
Все получилось!
Пришлось конвертор делать самому.
Есть очень интерасная среда програмирования - ХайАсм называется.
Позволяет программировать с нуля. Просто соединяются квадратики.
Не програмируя вообще на PC собрал конвертор за 2 дня.
Кому интересно - http://www.hiasm.com
Вот пример реализации меню - http://www.youtube.com/watch?v=UbPvEjNKjRQ помоему получается неплохо Файл меню является своего рода скином - тоесть если нада поменять внешний вид меню микроконтроллер трогать не надо - просто записываеш на флешку новый файл.
Зарегистрирован: Пн мар 09, 2009 02:14:34 Сообщений: 30
Рейтинг сообщения:0
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 файла). Я делал так: создал презентацию на ПоверПоинте - зделал видео файл при помощи захвата ВиртуалДубом, Темже ВиртуалДубом делал анимированный Гиф с нужным разрешением и монохромный. Дальше Гиф файл разбивал на БМП кадры картинки и своим конвертором собирал их в БИН файл. Знаю замудошно но это от моего несостояния написать конвертор ГИФ в БИН (пе програмлю на РС вообще).
Вроде осилил файловую систему! Пока никаких идей по конвертированию? Ну хотябы BMP-картинки в бинарный файл?
Слышал про формат raw? Фотошоп в нем сохраняет.. Я себе шрифты и графику делал на цветную LCD от нокии, 128х128.. и с помощью скриптов делал конвертор в массив данных для CVAVR.. но скрипты это жесть) как освоюсь с питоном - обязательно какой-то конвертор нормальный сделаю =)
p.s. raw это по сути чистый бинарник.. даже блокнотом можно открывать, но лучше hex редактором
Скажите пожалуйста, каким образом можно написать на карту памяти бинарник без файловой системы?
Или с помощью самодельной программы на PC, которая работает с картой на низком уровне или с помощью программатора (скорее всего тоже самодельного). В любом случае карточка стандартными средствами ОС больше читаться не будет.
А можно по-подробней? В какую сторону копать? Я только начал изучать делфи, написал программку для конвертирования бмп-шников в бинарники, сейчас прикошачиваю карточку SD к микроконтроллеру, файловую систему очень не хочется мудрить, а как напрямую запись на карточку организовать в делфях не знаю. Буду очень признателен за подсказку.
В журнале радио ( годов 2004) была статья переделки сотового в читалку книг, там на дельфи была прога через ЛПТ порт заливающая книги на MMC/SD карту... поищите статью - будут готовые исходники...
Заинтересовала меня эта тема, решил я тоже попробовать вывести анимированные картинки, программирую на PIC-ах, взял микроконтроллер PIC16F628A, дисплей решил заюзать Nokia1110i и SD карта на 1 гиг, изучил команды для работы с SD картой, написал прошивку, и таки получилось вывести анимацию.
Файловую систему пока толком не изучал, картинки в виде массива байтов записываю в область данных, при помощи WinHex, не затрагивая загрузочные разделы и таблицы FAT, чтобы потом карта читалась на компе, Микроконтроллер работает на частоте 4МГц, (машинный цикл - 1МГц), прошивка заняла около 700 слов, микроконтроллер считывает с карты пакеты данных в ОЗУ, размер пакета 32 байт, потом из ОЗУ отправляет их на дисплей.
Заголовок сообщения: Re: Видео на связке AVR + 3310 + SD - нужен конвертор
Добавлено: Чт сен 09, 2010 20:25:23
Друг Кота
Карма: 46
Рейтинг сообщений: 590
Зарегистрирован: Вт май 19, 2009 09:27:30 Сообщений: 3258 Откуда: Украина
Рейтинг сообщения:0
Evgen88, тоесть, как я понял, ты с файловой системой не заморачивался вообще? Или как организовано пространство? Ты типа всё убил и пишешь "сырые" данные с нулевого адреса и до упора?
ELcat, он же писал что не стал заморачиваться с FAT, просто начинает писать массив байтов с определенного адреса (скорее всего при помощи WinHex), а потом просто считывает этот массив с этого же адреса, и кстати не обязательно удалять загрузочные разделы и таблицы FAT, можно начинать писать сразу в область данных, как я и делаю, при этом карта будет читаться на компе.
Кстати теперь я и FAT освоил, сейчас просто кидаю бинарный файл содержащий массив байтов на карту и все, программа микроконтроллера сама выполняет поиск этого бинарного файла, рассчитывает адреса всех кластеров и начинает выводить данные на дисплей) теперь прошивка увеличилась до 1000 слов
Заголовок сообщения: Re: Видео на связке AVR + 3310 + SD - нужен конвертор
Добавлено: Ср сен 22, 2010 13:11:51
Друг Кота
Карма: 46
Рейтинг сообщений: 590
Зарегистрирован: Вт май 19, 2009 09:27:30 Сообщений: 3258 Откуда: Украина
Рейтинг сообщения:0
Блин, убил флешу... Пока разбирался с дисплеем (а он висит на том же SPI что и карта, чип ATmega16+ls020)всё это время на !CS карты висел "0". Теперь вроде как видится, но не пишется и не форматиться ни под каким соусом, так и висят на ней файлы которые были изначально. Видать чего-то хватонула как команду и стала в неизвестную позу Помогите плз, мож кто знает как это вылечить. Жалко флеху 2Гиба всётаки
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения