Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: MSP430 & VGA
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
akostin
Есть ли доступные графические контроллеры с VGA/DVI выходом, которые можно использовать совместно с устройствами на MSP430?
Говорю сразу - поставить ПЛИС или DSP не предлагать - не хочу заморачиваться с отладочными средствами для них.
rezident
Мне любопытно, а что должен сможет MSP430 делать возле такого монстра?
Black Pahan
И что вы хотите успеть вывести на VGA и, тем более, DVI этим МК?
Монохромные буквы размером в 50 пикселов? (грубо говоря).
А на счёт отладочных средств ПЛИС, если вы программатор имеете в виду, то он не сложнее FETa для MSP. По крайней мере для Альтер.
akostin
Цитата
Мне любопытно, а что должен сможет MSP430 делать возле такого монстра?

Бывают задачи, где удобнее видеть большой объем информации, например параметры работы какой-нибудь промышленной установки. При цене в 5000 рублей современные ЖК-мониторы выигрывают по соотношению цена/функциональность у индикаторов типа 16*2 символов или 128*64 точки.

Цитата(Black Pahan @ Aug 27 2007, 19:39) *
И что вы хотите успеть вывести на VGA и, тем более, DVI этим МК?
Монохромные буквы размером в 50 пикселов? (грубо говоря).

Успеть вывести? Успевать как раз должен графический контроллер и делать это с частотой 60Гц*640*480=18МГц, а МК должен периодически обновлять информацию в видеопамяти графического контроллера. Периодически - это значит редко, например когда пользователь нажмет клавишу.
Размер букв в пикселах может быть любой и количество цветов тоже.
rezident
Дык а почему MSP430-то? У него нет ни значительного по объему ОЗУ, ни интерфейса внешней памяти. Где вы собираетесь 1024*768 (как минимум) хотя бы монохронных точек хранить? Или как их обрабатывать будете для формирования изображения? Через какой интерфейс с видеочипом общаться собираетесь? Они же все для параллельной шины разрабатывались. Даже старый-престарый чип для EGA/VGA адаптера фирмы OAK для PC/XT и то 8-и разрядную шину данных и 20-и разрядную шину адреса имел. Путем "ногодрыжества" даже 16МГцовый MSP430 больше 1,6МБит/с не осилит. За какое время вы планируете информацию обновлять, весь экран 8-10 секунд? Это даже медленнее, чем в свое время на графической видеокарте в ДВК-3 было и тем более медленнее, чем в ZX-spectrum wink.gif Про потребление и смысл его экономии я вообще молчу, раз рядом видеочип и TFT монитор стоять будут. В общем одни загадки для меня лично smile.gif
akostin
rezident, у меня у самого больше вопросов, чем ответов, но контроллеры я нашел:http://www.gaw.ru/html.cgi/txt/ic/Fujitsu/...ntrol/start.htm. Пока, правда не разобрался, то ли это, что нужно.
MSP430 выбран исходя из моих личных предпочтений и привычки, а не из каких-то технических требований. Обновление целого экрана будет достаточно редко, обновляться будет, как правило, небольшая область экрана, например, будет печататься на экране текст, вводимый с клавиатуры.
А вообще как Вы скорость считали? Для последовательного канала что-ли?
Я же не буду 60 раз в секунду обновлять экран - этим собственно и должен заниматься искомый в данной теме контроллер.
При 8-битной шине данных, глубине цвета 8 бит и разрешении 640х480 достаточно вывести 300кБайт.
Хранить их в MSP не надо, можно хранить текст или векторную графику и преобразовывать их в пикселы непосредственно перед выводом - конечно это увеличит время обновления экрана, но я не собираюсь 3D-игры на MSP писать.
goodwin
Оригинально'с, батенька...
rezident
Цитата(akostin @ Aug 28 2007, 04:08) *
MSP430 выбран исходя из моих личных предпочтений и привычки, а не из каких-то технических требований.

Могу лишь сказать, что я не против MSP430, но в данном случае выбор неверный.
Цитата(akostin @ Aug 28 2007, 04:08) *
Обновление целого экрана будет достаточно редко, обновляться будет, как правило, небольшая область экрана, например, будет печататься на экране текст, вводимый с клавиатуры.

Пока экран заполняется сверху вниз или снизу вверх, то в принципе поток не большой. Но как только он заполнится, то придется формировать сдвиг экрана. А это означает, что нужно перерисовать весь экран, если только не предусмотрено такой функции в контроллере аппаратно.
Цитата(akostin @ Aug 28 2007, 04:08) *
А вообще как Вы скорость считали? Для последовательного канала что-ли?
Я же не буду 60 раз в секунду обновлять экран - этим собственно и должен заниматься искомый в данной теме контроллер.
При 8-битной шине данных, глубине цвета 8 бит и разрешении 640х480 достаточно вывести 300кБайт.

Для USART в режиме SPI (синхронный порт) тактовая частота не выше UCLK/2 может быть, для USART в режиме UART не выше UCLK/3. Так что даже если вы найдете VGA контроллер с интерфейсом SPI, то скорость передачи будет не выше 8Мбит/с на 16МГц кристалле MSP430. Если учесть, что по какой-то причине после вывода каждого байта по SPI возникает пауза в 1 или 2 битового периода (почему так, не разбирался, но это факт), то скорость будет 16МГц/2/10=0,8Мбит/с=100кБайт/с.
Если же управлять контроллером через параллельную шину, то придется формировать временные диаграммы программно. Запись в любой порт MSP430 4 или 5 тактов MCLK. 8 бит данных=1порт и 16 адресных линий (для адресации 0,5МБ RAM видеоконтроллера)=2порта и вспомогательные типа CS/WR/RD и прочие это еще как минимум один порт. Итого 4 порта. Для формирования временной диаграммы записи нужно
- вывести адрес в два порта
- вывести данные в один порт
- установить сигналы, сформировав как минимум 4 перепада уровней (может и больше в зависимости от конкретной времянки VGA-контроллера)
Итого 2+1+4=7 команд записи * 4 такта>=28тактов. Допустим источники все в РОН находятся, тогда 16МГц/28тактов<=0,5МБ/с. С учетом того, что нужно будет делать какие-то операции типа инкремента адреса и забора нового байта данных добавим еще как минимум 12-15 тактов. Итого скорость вывода упала до 370кБ/с. А ведь вы еще хотели "на лету" что-то делать с данными. Координаты там считать или векторное пробразование.
Цитата(akostin @ Aug 28 2007, 04:08) *
Хранить их в MSP не надо, можно хранить текст или векторную графику и преобразовывать их в пикселы непосредственно перед выводом - конечно это увеличит время обновления экрана, но я не собираюсь 3D-игры на MSP писать.

Какие нафиг 3D игры?!!! Для того только чтобы как-либо тупо "выпихнуть" из MSP430 информацию объемом с один экран вам нужно больше секунды! Что толку надеяться хранить в MSP430 текст, если все равно придется преобразовывать его графический объект и выводить графику. Это в символьном LCD-модуле уже имеется знакогенератор, а в VGA-контроллере извольте сами формировать и загружать их в графическом виде (как спрайты).
В общем я лишь хочу, чтобы вы сами оценили и сделали выводы. Я если где-то и ошибся в расчетах, то только в меньшую сторону. Т.е. в реальности вывод будет еще медленнее.
Black Pahan
У меня сейчас в работе девайс со следующей функциональностью:
оцифровка Ч/Б ТВ-синала -> вывод на OLED-дисплей VESA 800x600 60Гц + менюшка одной стройкой (температура, батарейка, яркость, контрастность и пр. настройки).
Тракт следующий АЦП(AD9203) - ПЛИС (Cyclone II 8) - ОЗУ (SDRAM 16M16) - ЦАП(AD7123). Формированием кадра, времянок и пр. занимается ПЛИС. К плиске по SPI (3,7МГц) подцеплена ATMEGA168 (7,4МГц). Мега занимается формированием менюшки. Одна строка меню представляет из себя массив 200х7 пикселов по 4 бита на пиксел (она многоцветная). На экран выводится увеличенным в 4 раза по обеим координатам. Мега засылает строчку только в случае необходимости её изменить, если кнопочку нажали или температура-напряжение поменялось. Время передачи одной строчки меню ~= 2 мс.
Может понадобиться выводить 2 сточки - сделаем. Но чтоб полноэкранку делать мелкоконтроллером - нет уж, увольте.
jorikdima
MSP430 для этой задачи - не естественный выбор. И рано или поздно вы напоритесь на это и поимеете проблемм. MSP делался для батарейных устройств и упор там на малое потребление ЗА СЧЕТ других характеристик. Что не естественно, то безобразно.
Al Volovich
Цитата(jorikdima @ Aug 28 2007, 11:36) *
MSP430 для этой задачи - не естественный выбор. И рано или поздно вы напоритесь на это и поимеете проблемм. MSP делался для батарейных устройств и упор там на малое потребление ЗА СЧЕТ других характеристик. Что не естественно, то безобразно.

Если все это - ради интереса, в виде хобби, то почему и нет.
jorikdima
Цитата(Al Volovich @ Aug 28 2007, 12:26) *
Если все это - ради интереса, в виде хобби, то почему и нет.

пусть тогда на рассыпухе делает
akostin
Всем спасибо, отговорили.
rezident, отдельное спасибо за предоставленные расчеты.
Black Pahan, это вы ради вывода одной строки такую хренотень нагородили? Наверное, спонсор у вас хороший.
Black Pahan
Эту "хренотень" я нагородил ради вывода ТВ изображения на 19мм OLED-дисплей. А мега с менюшкой - второстепенно.
Camelot
2akostin

Все можете сделать на одной ПЛИСине, к примеру Cyclone + NIOS и DAC,
любая SDRAM и наслаждайтесь жизнью (16бит+60Гц+800*600 как минимум).
Единственный минус, если вы не имели дело с этим то придется учится.
dimka76
я на одной ATmega делал вывод на ТВ символов 8х12 пикселей, тактовая частота МК 16 МГц, формирование сигнала в стандарте SECAM, черно-белое. А вы Cyclonы городите :-)))
Vladimir_T
Посмотрите в этот пост, интересное решение реализовано.
http://electronix.ru/forum/index.php?showt...mp;hl=Аргуссофт
rv3dll(lex)
щас доделываю нечто вроде ускорителя

управляет АРМ 9200
сделано на циклоне1- 12
занимает 14 процентов.

1024 768 1=60гц 15 бит цвет 25ый цап. память ZBT
2 порта PS2
аппаратный загружаемый 32*32 курсор мыши - вычисление координат аппаратно от PS2
аппаратно прямоугольники
аппаратно копирование областей
вывод по точкам - медленно
быстный вывод из буфера 16*16
MrYuran
Цитата(akostin @ Aug 27 2007, 18:11) *
Есть ли доступные графические контроллеры с VGA/DVI выходом, которые можно использовать совместно с устройствами на MSP430?
Говорю сразу - поставить ПЛИС или DSP не предлагать - не хочу заморачиваться с отладочными средствами для них.


Вот есть пример в MSPGCC: игра тетрис с выходом на PAL TV:
#

MSP430F1121 or larger device (probably any from the F1x series)
#

8MHz crystal with two 22p caps
#

buttons, each with 10k to 100k pullup: on Port 1:

P1.3 FIRE1
P1.4 UP1
P1.5 DOWN1
P1.6 LEFT1
P1.7 RIGHT1

on Port 2:

P2.4 FIRE2
P2.3 UP2
P2.2 DOWN2
P2.1 LEFT2
P2.0 RIGHT2

#

video out

This is a simple 2 bit D/A converter with nonlinear distribution of the levels. The impedance of the TV makes this working...

I'm not sure if these values are correct... i had to figure out what value the SMD chip resistors have.

P1.0 +-------+
O-----+ 220R +-------+------O Video output
+-------+ |
|
P1.1 +-------+ |
O-----+ 680R +-------+
+-------+

#

audio out

This is surely not a good cicuit but it works somehow ;-)

P1.2 +-------+
O-----+ 1k8 +----+-----+---O Audio output
+-------+ | |
+++ |
| | ---
100k | | --- 100n
+++ |
GND | |
O------------------+-----+

#

optionaly a LED on P2.5 (470 Ohms series resistor to GND)
#

powered with 3.0 to 3.3 Volts
rezident
MrYuran, ну и в чем смысл вашего сообщения? Вы хотели удивить или поразить или возразить? wink.gif Тетрис на MSP430? Да запросто! Синхронизироваться по заранее выделенным из видеосигнала синхроимпульсам и синхронно с ним формировать врезки в видеосигнал квадратиков изображения для тетриса, плюс клава и звук это далеко не то же самое, что обслуживать графический контроллер, о котором шла речь в начале топика.
Andrey_I
так если для "забавы", то есть PROPELLER - вывод до 1600х1200 , готовые библиотеки мыши, клавы, SD-карты... - славная игрушка smile.gif - кабы к ней приделать принтер, так сразу купил бы.
__Alexander
Цитата(Andrey_I @ Mar 11 2008, 05:13) *
так если для "забавы", то есть PROPELLER - вывод до 1600х1200 , готовые библиотеки мыши, клавы, SD-карты... - славная игрушка smile.gif - кабы к ней приделать принтер, так сразу купил бы.



Не может он 1600х1200, плавали. Разве что текст (128х64), или 1600х1200, но при этом разбивается все на областя, и каждая область может иметь только один цвет. Короче, Денди видели? Самое оно.
Мне бы 1024х768 и чтобы каждый пиксель своим цветом. Есть для этого штучка mb86290 называется, только дороговато и геморно с ней марочится. Может что попроще есть?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.