Свежие обсуждения
Микроконтроллеры

Генератор текста для TV на PSoC

1 3

Кто в праздники бухает, а кто...

Ради тренировки и оказания помощи сделал такой вот "видеоконтроллер":
http://antiradio.narod.ru/raznoe/cypress/tv_generating/tvgenerating.html

В качестве видеопамяти использованы 144 байт внутреннего ОЗУ. Знакогенератор -- на 96 символов, можно и больше.
CPU можно еще чем-нибудь нагрузить (несильно -- с сохранением регенерации на экране, сильно -- с гашением картинки, но сохранением синхронизации).

Теперь новая головная боль -- как это можно использовать?
Постоянно подключить к телевизору, протянуть концы от датчиков и по нажатию кнопки AV на телевизионном пульте созерцать температуру на улице, в квартире, в подвале, сортире и т.д.?

 

Если этот девайс может видеть датчики - где у него вход?
Можно сделать индикатор для намоточного станка.
"Пусть безумная идея, не рашайте сгоряча..."

 

> где у него вход?
остальные 24 вывода

Это только сырая версия, важно было решить проблему в принципе (получения достаточно информативной картинки на экране TV). В серии CY8C29xxx ОЗУ гораздо больше (2кб), поэтому там его можно использовать как графический массив и получить еще большее разрешение -- ведь не понадобится генерировать знакосимволы "на лету".

Индикатор намоточного станка, часы (с управл. от пульта), настройщик муз.инструментов, частотомер (блин, сколько уже можно!) и т.д. -- далее по годам/месяцам любимого журнала.

PS. Кстати, свежачок-с. Появился простейший программатор для PSoC класса "PonyProg".

 

Hi Idiod,
Попробовал твой проект на 29466. Видимо что то не допер. Развертка генерится нормально, а картинка не синхронизирована с ней. Да и на символы не похоже.
Хотелось бы ввод по СОМ порту добавить как в прототипе.

 

Хотел картинку прицепить но не цепляется

 

Ага вот так наверно

 

Серия CY8C29xxx отличается от серии 27xxx организацией памяти - ее существенно больше, введена страничная организация со специальными указателями.
Появился регистр режимов, который уточняет особенности адресации с некоторыми командами.
Судя по картинке -- данные для знакогенератора берутся не оттуда, откуда надо (с ходу ответить как правильно инициализовать эти регистры не могу -- надо читать AN2218 -- "Large Memory Model Programming for PSoC").

Программа критична к промежутку времени между начальным стартом и местом, где зацикливается. Нужно поиграться с количеством NOP команд.
И вообще, критична к любым дополнениям, иначе появляется "дрожание" строк. Лечится такой артефакт точным просчетом времени выполнения всех участков программы. Это ее основной недостаток.

Один из путей его преодоления -- установить так называемый Stalling-режим и ввести холостое обращение к одному из регистров SC-блока:
M8C_Stall
or reg[SCBLOCK_1_cr0],0
M8C_Unstall

На период такого обращения программа притормаживается и стартует вновь со строго заданного времени -- с появлением очередного фронта тактового сигнала этого блока.

 

Спасибо за ответ, уважаемый IDiod. Не могу сказать что все понял, только начинаю знакомиться с этой семейкой. Но буду пытаться.

 

Конечная моя цель сделать оверлейный вывод на ТВ.

 

А это видели:http://www.nedopc.org/forum/viewtopic.php?t=8553&start=45