Цитата(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-контроллере извольте сами формировать и загружать их в графическом виде (как спрайты).
В общем я лишь хочу, чтобы вы сами оценили и сделали выводы. Я если где-то и ошибся в расчетах, то только в меньшую сторону. Т.е. в реальности вывод будет еще медленнее.