|
Помогите с алгоритмом для attiny, вывод символов на экран |
|
|
|
Feb 4 2008, 13:14
|
Частый гость
 
Группа: Новичок
Сообщений: 90
Регистрация: 19-12-07
Пользователь №: 33 459

|
Необходимо сделать устройство на МК tiny2313, которое будет накладывать данные (цифры и простую графику), получаемые из другого более мощного МК, на композитный видео-сигнал. Начало реализации я себе представляю - LM1881 ловит строчные и кадровые импульсы, а attiny в нужный момент выдает логическую единичку в видео-линию. Связать tiny с другим МК с целью приема данных по USART тоже не проблема. А вот как реализовать программную часть на Си так, чтобы все было быстро и компактно - не представляю, туго у меня пока с программированием Если сначала описать все возможные символы двухмерными битовыми массивами, а потом в нужные моменты выбирать нужный слой нужного символа (так я делал в другом проекте на atmega16) - выбор из массива занимает много процессорного времени, да и такой массив (даже на 20 символов) на attiny не влезает Может быть можно как-то принимать от другого МК уже готовые битовые "маски" символов, но тогда как их хранить до момента вывода, ведь памяти на attiny для этого тоже не хватит. Передавать по USART прямо к моменту вывода на экран невозможно - скорости не те. Подскажите решение для моего случая, пожалуйста. Если это вообще возможно на tiny2313... P.S. Нужно накладывать на изображение символы размером 6х8 пикселов в количестве около 20 штук и простую графику размером 30х30 пикселов
|
|
|
|
|
 |
Ответов
|
Feb 5 2008, 12:36
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Не получится, по-моему. Первый байт через SPI вы выведете, затем надо перегружать регистр, а времени на перегрузку - нет. Ну смотрите, если брать Mega48/88/168, то у нас есть USART, который мы переключаем в режим SPI и обычный SPI, у которого правда есть вопрос в пропуске одного такта. Давайте посмотрим, есть ли способ быстро шевельнуть лапкой MOSI обычного SPI, в паузе между передачами байт. Если есть - то все пучком. Правда, это получится один поток по 8 бит, другой по 9, ну если уж совсем прижмет, то так можно извращаться  В Tiny2313 видимо вывод таким способом никак не получится, нет подходящей периферии. Правда, есть еще таймеры, которые могут шевельнуть ножкой в нужный момент. Так что если будем продолжать писькомеряться, то можно и продолжить исследования. Но я предлагаю померяться в другом. Не в выводе, а в самом быстродействующем вводе последовательных данных, эту тему еще не копали
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Feb 5 2008, 13:10
|

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

|
Цитата(Rst7 @ Feb 5 2008, 12:36)  В Tiny2313 видимо вывод таким способом никак не получится, нет подходящей периферии. Правда, есть еще таймеры, которые могут шевельнуть ножкой в нужный момент Ну тему вроде замутили для тайни...А так можно взять атмеловский МК с тактовой 48 МГц и с криком ура...назад(:-) Цитата(Rst7 @ Feb 5 2008, 12:36)  Но я предлагаю померяться в другом. Не в выводе, а в самом быстродействующем вводе последовательных данных, эту тему еще не копали SPI-слейв работает на максимум Fclk/4=5МГц, т.е. четыре МЦ на бит, или 32 МЦ на байт, вполне можно принять и разместить, скажем, в кольцевом буфере. Следующая скорость - Fclk/2=10МГц, два МЦ на бит. Если оба МК работают от одного и того же тактового генератора, то думаю, принять можно, хотя сам не пробовал. Если они работают от разных генераторов/кварцев, то имею тень сомнения. Вся проблема состоит в пресловутых пин-синхронизаторах. Последняя скорость - Fclk=20МГц, один МЦ на бит. Можно принять два байта, да и то надо сильно думать, как засинхронизировать начало передачи. Можно принять 4 байта на 40 МГц, но это extraordinary.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Сообщений в этой теме
idono Помогите с алгоритмом для attiny Feb 4 2008, 13:14 GDI Вообще то любой проект должен начинаться с оценки ... Feb 4 2008, 13:53 idono Вопрос именно в возможности реализации на этом МК,... Feb 4 2008, 14:06 =GM= Цитата(idono @ Feb 4 2008, 13:14) Если сн... Feb 4 2008, 14:48 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 Для затравки предлагаю принять пакет с эзернета 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|