Здраствуйте.
Хотел бы уточнить, может кто замечал, на каких контроллерах - какая "досягаемая" скорость
"ногодрыгания" - к чему может быть привязанна?
В процентах от тактовой частоты например, либо для определенного семейства микросхем?
Разумеется без учета программной части...
1 команда на поднятие ноги вверх, 1 команда на "поднятие вниз" --- вот сколько тактов отъедают эти 2 команды--вот столько и будет длительность периода.
RusL писал(а):Здраствуйте.
Хотел бы уточнить, может кто замечал, на каких контроллерах - какая "досягаемая" скорость
"ногодрыгания" - к чему может быть привязанна?
Разумеется без учета программной части...
"Скорость ногодрыгания" определяется тем, сколько тактов требуется на машинный цикл и сколько машинных циклов выполняется команда вывода в порт.
Например, на контроллерах x51 на один машинный цикл требуется 12 тактов, команда вывода в порт требует 2 машинных цикла, т.е. команда будет выполнена за 24 такта. При тактовой частоте, к примеру, 12МГц команда будет выполнена за 2мс
Для генерации меандра требуется циклично подавать две команды - установку "1" и сброс в "0", значит, один период меандра составит 4мс, частота меандра, соответственно, 250кГц. Но это в теории - если Вам нужно сгенерировать небольшую пачку импульсов. Если нужна длительная генерация - не обойтись без организации цикла, то есть, ввести команду возврата на начало цикла. Эта команда увеличит скважность импульсов, поэтому для сохранения меандра потребуется ввести задержку для увеличения длительности импульса.
У AVRов на машинный цикл требуется 1 такт, команда вывода в порт выполняется за один машинный цикл. Поэтому в теории возможна генерация меандра с частотой, в два раза меньшей тактовой. Но это лишь в теории - смотрите объяснения выше.
И не учитывать программную часть никак не получится.
В данном случае кроме как тактов на код и время на переключение - больше нет никаких ограничений?
Т.е. имея проц в 200 мГц с переключением "за такт" - в теории можно достичь 100 мГц?
RusL писал(а):В данном случае кроме как тактов на код и время на переключение - больше нет никаких ограничений?
В теории - нет, на практике при работе на высоких частотах вряд ли удастся получить прямоугольные импульсы - нужно смотреть в параметрах конкретного контроллера время нарастания и время спада фронтов. Ну и схемотехника выходных цепей будет играть существенную роль в форме выдаваемого сигнала...
Вы вопрос конкретизируйте. Или это вопрос из серии: "А что будет, если в футбольный мяч под давлением закачать вакуум?"
По цепям это понятно, это другое
Грубо говоря есть AT91SAM9260, но к нему пока нету флеши
Вот и думаю есть ли смысл собирать дальше и пытать или с него можно выжать хотяб процентов 10 от тактовой частоты
А проц - да - интересный - бум перемещения планет отслеживать
Gudd-Head писал(а): ФАПЧ с выводом на 3 пина и скоростью до 240 МГц.
Если бы все ноги были под ФАПЧ...
В моем случае трабл в том, что нужно управлять гораздо большим количеством устройств с жесткой синхронизацией, и естественно все устройства критичны ко времени
Это ARM9, у него доступ к GPIO происходит через внутренние шины, которые работают на частоте значительно ниже частоты ядра. Именно с этим МК я не работал, но другие МК такого класса имеют по 10 и больше тактов на одно обращение к GPIO, к тому же это время зависит от кучи разных факторов типа выравнивания данных и вероятности попадания в кэш предварительной выборки. Вероятнее всего выше 10МГц ногодрыгом здесь не получится.
МК с ядром Cortex-M3 в этом отношении получше, там в среднем 2-3 такта на одно обращение к GPIO
В любом случае если нужна очень высокая скорость, то нужно смотреть в сторону использования аппаратных модулей контроллера (DMA, таймеры, возможно SPI/SSP или ещё что-то - смотря зачем нужен быстрый ногодрыг) или внешней логики