Заголовок сообщения: Видео на связке 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Гиба всётаки
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения