реклама на сайте
подробности

 
 
> Помогите с алгоритмом для attiny, вывод символов на экран
idono
сообщение Feb 4 2008, 13:14
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 90
Регистрация: 19-12-07
Пользователь №: 33 459



Необходимо сделать устройство на МК tiny2313, которое будет накладывать данные (цифры и простую графику), получаемые из другого более мощного МК, на композитный видео-сигнал.
Начало реализации я себе представляю - LM1881 ловит строчные и кадровые импульсы, а attiny в нужный момент выдает логическую единичку в видео-линию. Связать tiny с другим МК с целью приема данных по USART тоже не проблема.
А вот как реализовать программную часть на Си так, чтобы все было быстро и компактно - не представляю, туго у меня пока с программированием crying.gif

Если сначала описать все возможные символы двухмерными битовыми массивами, а потом в нужные моменты выбирать нужный слой нужного символа (так я делал в другом проекте на atmega16) - выбор из массива занимает много процессорного времени, да и такой массив (даже на 20 символов) на attiny не влезает 07.gif

Может быть можно как-то принимать от другого МК уже готовые битовые "маски" символов, но тогда как их хранить до момента вывода, ведь памяти на attiny для этого тоже не хватит.
Передавать по USART прямо к моменту вывода на экран невозможно - скорости не те.

Подскажите решение для моего случая, пожалуйста. Если это вообще возможно на tiny2313...

P.S. Нужно накладывать на изображение символы размером 6х8 пикселов в количестве около 20 штук и простую графику размером 30х30 пикселов
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
=GM=
сообщение Feb 4 2008, 14:48
Сообщение #2


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(idono @ Feb 4 2008, 13:14) *
Если сначала описать все возможные символы двухмерными битовыми массивами, а потом в нужные моменты выбирать нужный слой нужного символа (так я делал в другом проекте на atmega16) - выбор из массива занимает много процессорного времени, да и такой массив (даже на 20 символов) на attiny не влезает 07.gif Нужно накладывать на изображение символы размером 6х8 пикселов в количестве около 20 штук и простую графику размером 30х30 пикселов

1) Прежде всего надо прикинуть, какая нужна скорость выдачи пикселей. Прямой ход строки порядка 64 мкс, пусть на строку укладывается 640 пикселей, значит, на один пиксель приходится 0.1 мкс или 2 машцикла.

2) Теперь надо решить вопрос о программной или аппаратной реализации. Программно можно выдать один пиксель за два такта (с разрывом в один такт между символами текста), графику без разрыва - сомнительно.

3) Остаётся делать аппаратно, используя USI с максимальной скоростью Fck/2, что как раз соответствует вашей скорости 10Мпиксель/с. Написать программу на си, даже для аппаратного интерфейса, будет проблематично.

4) Для хранения пикселей одной тв-строки вам надо 20 байт. Для 8 тв-строк вам понадобится 160 байт, в тайни их всего 128. Для решения проблемы можно использовать 120 байт озу для 6 тв-строк, остальные 40 байт подкачивать из главного МК по мере освобождения озу.

5) Никаких двумерных массивов, всё должно быть строго линейно.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- idono   Помогите с алгоритмом для attiny   Feb 4 2008, 13:14
- - GDI   Вообще то любой проект должен начинаться с оценки ...   Feb 4 2008, 13:53
- - idono   Вопрос именно в возможности реализации на этом МК,...   Feb 4 2008, 14:06
- - GDI   Подобные проекты уже обсуждались воспользуйтесь по...   Feb 4 2008, 14:51
- - idono   Спасибо =GM= Прикинул, что действительно для полно...   Feb 4 2008, 15:32
|- - =GM=   Цитата(idono @ Feb 4 2008, 15:32) Спасибо...   Feb 4 2008, 16:09
- - =VRA=   Все уже придумано до нас   Feb 4 2008, 15:41
|- - idono   Цитата(=VRA= @ Feb 4 2008, 18:41) Все уже...   Feb 4 2008, 15:56
- - =VRA=   А можно узнать - ЧТО именно не по теме? У меня две...   Feb 4 2008, 16:07
- - Liseev   Помните о чересстрочной развертке в телевидении. В...   Feb 4 2008, 16:13
- - =GM=   Цитата(idono @ Feb 4 2008, 13:14) P.S. Ну...   Feb 4 2008, 18:59
|- - singlskv   Цитата(=GM= @ Feb 4 2008, 21:59) Подумал ...   Feb 4 2008, 21:44
|- - =GM=   Цитата(singlskv @ Feb 4 2008, 21:44) Госп...   Feb 4 2008, 22:32
||- - singlskv   Цитата(=GM= @ Feb 5 2008, 01:32) Фрагмент...   Feb 4 2008, 23:33
|- - idono   Цитата(singlskv @ Feb 5 2008, 00:44) Наве...   Feb 11 2008, 11:23
- - Rst7   Что-то я не совсем пойму, какая проблема. Берем AT...   Feb 5 2008, 06:12
|- - =GM=   Цитата(Rst7 @ Feb 5 2008, 06:12) Что-то я...   Feb 5 2008, 10:29
|- - defunct   Цитата(=GM= @ Feb 5 2008, 13:29) Лично я ...   Feb 5 2008, 10:46
- - Rst7   Цитатачерез CPLD. Не спортивно . Если бы там, ну...   Feb 5 2008, 11:12
|- - =GM=   Цитата(Rst7 @ Feb 5 2008, 10:54) Програмн...   Feb 5 2008, 11:18
- - Rst7   ЦитатаНе получится, по-моему. Первый байт через SP...   Feb 5 2008, 12:36
|- - =GM=   Цитата(Rst7 @ Feb 5 2008, 12:36) В Tiny23...   Feb 5 2008, 13:10
- - Rst7   Для затравки предлагаю принять пакет с эзернета 10...   Feb 5 2008, 13:42
|- - =GM=   Цитата(Rst7 @ Feb 5 2008, 13:42) Для затр...   Feb 5 2008, 14:22
- - Rst7   ЦитатаКакой длины пакет, какая структура, сколько ...   Feb 5 2008, 20:05
- - =GM=   Цитата(Rst7 @ Feb 5 2008, 20:05) И это, е...   Feb 5 2008, 22:47


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 06:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016