Только вот толку что "заниматься плотным изучением" камня? Если есть задача - нужно подбирать под эту задачу схемотехническое решение, а если нет задачи? Создается впечатление, что народ идет "от противного", выбирая камень и впихивая в него задачу.
Angel71 писал(а):blindman, а в сторону SEAforth 40C18 не посматривал? немного дороже и менее достовабельный, но тоже очень неплохой спецфический камушек
Да много чего интересного. У Silicon Labs 51-я серия очень интересная. Но пока интересует Propeller.
Добавлено спустя 8 минут 31 секунду:
Сергей писал(а):Только вот толку что "заниматься плотным изучением" камня? Если есть задача - нужно подбирать под эту задачу схемотехническое решение, а если нет задачи? Создается впечатление, что народ идет "от противного", выбирая камень и впихивая в него задачу.
Чтобы выбрать, надо иметь представление о том, из чего выбираешь. Порой весьма детальное представление.
Модератор "blibdman":Попрошу в этом топике больше вопросы типа "круче", "лучше", "зачем" и т.п. не поднимать. И наооборот, приветствуются вопросы "а можно ли на пропеллере сделать вот такое?" "а как на пропеллере сделать вот это?"
Думаю, вопрос можно разделить на 2 части: 1. Сможет ли он достаточно быстро читать данные с камеры? 2. Сможет ли он достаточно быстро проанализировать изображение?
1. Да. С той же TCM8240 при тактовой 6 МГц и разрешении 320*240 2 процессора в лёгкую справятся. 2. Думаю, что да. AVRCam вполне управляется со слежением за цветными объектами - а у пропеллера всё же мощи чуть поболее будет
Ещё идея по применению - осциллограф. С 8-битным разрешением, можно сделать частоту выборок 20 МГц по 2 каналам (пропеллер к тому же нормально разгоняется до 100 МГц - тогда частота выборок будет 25 МГц). 4 процессора будут читать сэмплы с АЦП, 1 - ловить синхронизацию, 1 - рисовать, 1 - интерфейс с ПК, 1 - читать органы управления.
Добавлено спустя 2 минуты 46 секунд: Разрешение может быть и больше, главное чтоб все выходы АЦП можно было завести на ноги пропеллера, и осталось достаточно свободных ног для органов управления. У пропеллера 32 вывода, 4 из которых заняты под загрузчик.
Добавлено спустя 7 минут 36 секунд: Отсчётов правда будет всего 1024 - из-за ограничений объёма памяти.
{{ Цикл записи сэмплов с АЦП в основную память. Сигналом остановки служит изменение состояния одного из выводов чипа. Это удобно тем, что линии ввода/вывода доступны всем процессорам без доступа к концентратору }}
ORG 0 { WRORD пишет в основную память, а значит требует синхронизации с концентратором - отсюда переменное число тактов. } loop wrword INA, addr '7..22 add addr, #1 '4 and addr, addr_mask '4
addr long 0 stop_mask long $0800_0000 addr_mask long $1FFF ' 8 КиБ под буфер сэмплов
Ну да, ничего особенного, ассемблер как ассемблер Но пара интересных особенностей всё же есть. В большинстве процессоров, выполнение арифметических и логических операций безусловно влияет на флаги. Здесь же нужно явно указывать модификаторы WZ, WC - что и используется в моём коде. После тестирования бита остановки цикла, времени на условный переход не остаётся, иначе пропустим окно доступа к концентратору. Но так как модификатор WZ больше не используется, можно спокойно проверить условие в конце цикла. Ещё интересная возможность - условное выполнение любой операции. Существует 16 модификаторов IF_*, проверяющая различные комбинации флагов. Наличие условия не влияет на время исполнения операции - очень удобно, когда важно точно задать время выполнения участка кода. Есть также модификатор NR, который отменяет запись результат операции. Например, если надо проверить, возникнет ли переполнение при сложении двух чисел, не изменяя операнды, пишем
С Си на нём не очень хорошо дела обстоят, из-за ограниченного объёма памяти непосредственно доступного процессору. Есть компилятор от Imagecraft, который эти ограничения пытается обходить, но по сравнению с ассемблером значительные тормоза. Есть ещё SPIN - "родной" язык, компилируемый в байт-код. Типичная схема - 1-2 процессора выполняют SPIN, остальные - на ассемблере, для задач, требующих скорости
Поднесущая цвета генерируется таймером с PLL. Можно также генерировать сигнал высокой частоты (до 128 МГц), модулированный видеосигналом + звук, и подавать на антенный вход ТВ. Качество картинки слабовато - мерцает заметно. Возможно, надо подстраивать точнее PLL на использованный кварц.