Хочу разогнать F107 до максимальных 72МГц.
программа:
Последним циклом дергаю порт E6 и снимаю с него частоту.
(Е6 настроен на 50Гц - MODE=11b, CNF=00b)
Частота на осциллографе 8МГц - это 3 команды последнего цикла вместе
То есть реальная частота тактирования 24 МГц.
Почему не умножается на коэффициент???
Думаю если бы был сбой и контроллер переключился на HSI, то частота на осциллографе
должна стать 8 / 3 = 2,6 МГц.
Тыкал всяко коэффициенты умножения/деления, а больше 8МГц не могу поднять осциллограф.
Даже 5 команд при 8 МГц на ноге - это 40 млн. команд в секунду. Порт настроен на 50МГц - это ограничивает скорость? Или ассемблеровские команды съедают по 2-3 такта? При скорости в 72 МГц и сигнале на ноге 8 МГц выходит что за цикл процессор отрабатывает 9 тактов. Вроде команды несложные...
Кто-нибудь может разъяснить это?
насчет fast gpio mode на том же электрониксе был тред, сошлись на том, что это фуфло.. сути не помню, но 50МГц - это величина подтяжки и якобы будет быстрее работать.. могу наврать - поищите тот тред в разделе АРМы
Спасибо, Jury093. Ваш совет как всегда очень дельный.
А что пользуется популярностью?
Просто для решения моих задач один хороший человек сказал "только контроллер", и он же указал на эту плату. Он раньше работал только с ATMega, показал светодиодные примеры на ней, и сказал что веб-камеры атмеги не потянут, а ARM'ы - современные. В Промэлектронике кроме 107-й были GSM и GPS ориентированные модули. Вот уже полгода осваиваю 107-ю и начальную электронику в свободное время. Для изучения, экспериментирования вполне хорошая штука.
Но мне нужен контроллер, принимающий фотографии с 2-х веб-камер (стандартные USB 2.0) с частотой 1-2 снимка в секунду (с одной камеры), 4 входа АЦП, 2 выхода ЦАП, 4 выхода ШИМ и экранчик с тачскрином.
Только не хочется связываться с ОСями (Windows, Android). В крайнем случае - Linux с текстами исходных кодов.
Сейчас вижу что 107-я не тянет эти запросы. Может посоветуете что-нибудь подходящее?
во-во, у меня эта плата валяется 2+ года, иногда посматриваю и обратно в коробку складываю - ибо там писанины немеряно, а результат будет минимальным..
не знаю насколько подойдут параметры АЦП, но под вашу задачу неплохо ложится например mat91sam9g45, стоимость 4000 против 2000 за хх107
в два разъема USB вставили две камеры, АЦП - 4 канала выведены в виде входа touchscreen -есть готовый драйвер для АЦП, каналов ШИМ как минимум 3 (подключал rgb led - работает), экран либо свой либо тут что-то типа mio480x272+touch, ЦАП внешний чип на SPI канал - т.о. по железу примитивно просто, в качестве ОС линукс с готовой поддержкой железа..
софтово поддержать тоже несложно.. либо скрипты и внешние софтины либо самописная сишная прога..
в качестве бонуса полная сетевая поддержка..
Jury093, очень интересное предложение. Поверхностно все просмотрел, есть несколько вопросов:
1.У рекомендованных экранов (SK-MI0430FT-Plug или SK-ATM0700D4-Plug) на борту ADS7843. Выход SPI от ADS7843 включен в шлейф (SK-MI0430FT-Plug)-Х3? Или его надо отдельно лепить?
2.К плате SK-MAT91SAM9G45 может быть подключена SK-VideoADC-Plug для оцифровки видеоизображения. В заголовке указано что 6 входных каналов. Это можно с 6 аналоговых камер одновременно принимать изображения?
3.SK-AT91SAM9G45-XC6SLX - там разъемов для самоделок 6 штук против 2 у SK-MAT91SAM9G45 (не считая JTAG). Большая ли разница у них по части освоения новичком?
4.Для заливки софта JTAG-программатор, как я понял, не является необходимым? Но все же как подобрать (для IAR)? Имеется ST-Link/V2 (от STM32F107) - подойдет?
5.Софт пишу на IAR. Там прописан данный камень. Вот с Linux'ом вообще не сталкивался. Они же как-то сращиваются? В смысле IAR может рожать проги под Linux? И где можно нарыть подробную настройку IAR'а для AT91SAM9G45? типа вот этой?
мнэ.. я не предлагал, а всего лишь высказал свое мнение..
по пунктам
1. в исходной комплектации железо состегивается и у АРМа используются пины в режиме spi-gpio - программная эммуляция интерфейса spi - этим достигается универсальность подключения практически к любой плате, в качестве жертвы легкое снижение производительности..
в теории чуть порезав провода, можно подключиться на нативный SPI АРМа, с т.з. логики ничего не изменится..
2. у меня есть такая плата (вроде из первых поставок), из многих попыток одна оказалась почти успешной.. тут на форуме народ ее успешно запускал, но в режиме переключения даже между 2 камерами были недовольства..
полистайте даташит - там входной коммутатор и 1 видеоАЦП.. исхо, для slowTV подойдет, но не более..
3. гора разъемов - это от ФПГА, если хочется их задействовать, то надо писать прошивку для ФПГА и организовывать мост между АРМом и ФПГА - направление интересное, но надо внимательно смотреть схему и понимать, как и чего достичь..
4. проще Павлу написать на почту и спросить, он проектирует эти платы и лучше знает, что использовать.. я как-то исторически не люблю jtag, хотя успешно подключался к альтере, ксайлинксу и латтису. ну и к АРМам в режиме ознакомления..
5. по JAR ничего не скажу, ибо даже не знаю что это.. смотрите в доках или по форумам.. в системах под линукс я пишу прямо в линуксе на обычном Си..
перед тем, как покупать кит под вашу задачу, прикиньте требования к АЦП, возможно характеристики набортного вас не устроят, аналогично с ЦАП - тип интерфейса, скорость трансфера.. почитайте о шиме.. etc
с камерами тоже бывает засада - желательно иметь или купить такие, которые поддержаны в ядре и не сильно глючные.. как вариант искать камеру с поддержкой на выходе jpeg - будет меньше нагрузка на основной процессор - на форуме это обсуждалось..
авторитетное мнение. Я действительно неправильно выразился. Виноват.
Павла спросить не получится в отпуске
И заказать плату оперативно - тоже.
IAR (JAR - очепятка) - среда программирования для STM32F107 и других камней, позволяет сразу прошивать корневую прогу через JTAG-программатор и выполнять отладку в процессе работы МК. Для SK-AT91SAM9G45-XC6SLX на сайте уже рекомендован Xerxes. читать надо было внимательней чтобы не задавать лишних вопросов.
Требования к АЦП не великие - периодически опрашивать показания приборов (вольтметры). Анализировать всю кривую в реальном времени пока не вижу необходимости. В случае чего можно будет FPGA озадачить этим. (может глупость сморозил - только сегодня узнал о его существовании, почитал шапки, рекламы... )
Так-то видно что это уже совсем другой уровень по сравнению с STM32F107 и тем более с ATMega32...
Очень понравился SK-AT91SAM9G45-XC6SLX, но смущает еще SK-iMX6Q, SK-iMX53, SK-DM8148. Сильно подкупает High Speed USB-Host'ами и годом выпуска... Но пугает неизвестностью в плане освоения - скорее всего мало что еще о них написали. Скажите плз свое мнение по этому поводу, а то "лезу в воду не зная брода".
Для меня очень важный параметр выбора - осваяемость. Программировать люблю, но Си начал осваивать только в этом году по причине МК. Еще даже рефлексы нужные не наработались - не часто пишу, язык нравится - более вёрткий чем Delphi, Basic или Assembler. Стал изучать USB-протокол для написания своего хост-драйвера и драйвера для веб-камеры ... Современные веб-камеры на USB 2.0 (480 Мбит/с) - этим обоснован интерес к SK-IMX.
Могу ли рассчитывать на Вашу поддержку в процессе освоения?
Ну или хотя бы ссылок толковых накидайте...
Аглицкий даташит вряд ли осилю. Про STM32-то всю информацию брал отсюда.
Главное - запустить экранчик с тачскрином и помигать светодиодами. А дальше эмпирическим путем.
С Уважением, A-Soft.
я когда-то начинал с однокристалок, вполне нормально для стартапа.. их и сейчас вполне можно применять в связке с тем же АРМом для отделения критичных по времени задач..
ну.. на вкус и цвет фломастеры разные.. я беру киты для хобби, мне нравится к ним подпаивать железячки или просто реализовывать свои интересы..
какой кит вам подойдет, решать вам (запросы и деньги ваши).. на мой взгляд семейство atmel будет попроще в изучение и освоение - архитектура попроще, доки получше, ядра хорошо поддерживают (3.6, что новее не смотрел)..
freescale и Sitara(ti) - _очень_ запутанные исходники, очень навороченные процы.. это цена за мощь медийной и периферийной части..
имхо, тут примерно как с языками.. поймешь принципы построение софтовой системы, на новые потребуется в разы меньше усилий..
на полноценную врядли - работа, дом съедают массу времени и сил.. спрашивайте тут или в почту, что знаю - посоветую, ну и форум еще существует - там много полезного написано..
ссылка одна и главная - www.google.com и это без шуток
ещё есть масса полезной информации на форуме electronix.ru, там пасется большое число stm32-водов..
английских технический достаточно прост, сложные абзацы вполне можно скармливать гугле-переводчику..
путь правильный по направлению, но быстро надоедает.. потом хочется функционала - прикручиваем шрифты, выводим первый текст, потом графику, пишем либы и пытаемся пристегнуть чужие - как гимнастика - безумно интересно, но с т.з. КПД совершенно неэффективно.. (пройдено и не раз)..
У меня все так же. Однажды даже пытался поработать программистом. Не то пальто! Хочется делать что хочется, а не то что надо.
Сейчас реализую идею в области своей работы. Может и прибыль какую принесет. Поэтому средств и сил не жалею. Только надо чтобы все сам, своей головой.
Возможно так сделано чтобы программный код хорошо делился на параллельные потоки в процессе работы? Чтобы многоядерный процессор мог ускорить? На что может повлиять путаница в исходниках?
Переводил паспорт осциллографа гугл-переводчиком. Были бракозябры. Например что ACQUIRE означает "выборка" - всю голову изломал. Если бы не читал про осциллографы - половина паспорта была бы непонятной. А то что абзацы переводит - огромный плюс. Только даташит даже на STM32 ну очень не маленький. А на более мощные чипы по-любому еще больше. Хотя сначала придется ОСь осваивать, а уж потом непосредственно железо.
Это и есть эмпирический путь. Написал прогу, которая работает, потом на ее базе экспериментируешь в том направлении где больше нравится.
У меня на STM32 светодиоды-ШИМ трехцветные светодиоды-энкодеры-экранчик-прерывания-таймеры-ШИМ сервопривода-тактирование... В пень въехал на USB. 1,5 Мбита/с как-то вообще тухло.
А как по-другому изучать? Литературы мало, надо экспериментировать.
label1: Загрузил голову, ухватил что-то, освоился, покачался в стороны, понял пределы, поставил следующую цель, goto label1
А КПД какого процесса имелось ввиду?
Все таки USB 2.0 думаю перевесят. Трудностей в электронике и программировании как-то не боюсь. Хотя очень хочется побыстрее освоить...
Так-то оно так, но именно у Ваших ответов и советов гораздо больше попаданий в яблочко.