rekcuf 0 12 декабря, 2013 Опубликовано 12 декабря, 2013 · Жалоба Начал изучать ARM с платки STM32F4-Discovery. Первым делом решил подергать выводом с максимальной скоростью. Смотрю в даташит: GPIO подключены к шине AHB1, макс. скорость шины - 168 МГц. При этом нигде не сказано, что выводами можно дергать с такой частотой. Везде речь идет о 84 МГц. Написал код, при включенной оптимизации он скомпилировался в 3 инструкции. while (1) { GPIOA->BSRRL = 2; GPIOA->BSRRH = 2; } Что и подтвердилось на осциллографе. На одном канале системная частота, на другом - вывод, которым дергаю. Так вот, кто-нибудь может объяснить, как так: GPIO висят на AHB1, частота которой 168 МГц, а фактическая скорость работы оказывается 84 МГц, что больше похоже на шину APB2 ?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
coolbassnik 0 12 декабря, 2013 Опубликовано 12 декабря, 2013 (изменено) · Жалоба В даташите на первой странице с характеристиками написано : Up to 140 I/O ports with interrupt capability – Up to 136 fast I/Os up to 84 MHz – Up to 138 5 V-tolerant I/Os Это ограничение частоты именно портов ввода-вывода. И далее в описании портов ввода-ввывода читайте: 2.2.34 General-purpose input/outputs (GPIOs) .... Fast I/O handling allowing maximum I/O toggling up to 84 MHz. Изменено 12 декабря, 2013 пользователем coolbassnik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 1 12 декабря, 2013 Опубликовано 12 декабря, 2013 · Жалоба Не очень понятно, за что боритесь? Выясняя то, что прописано, и то что и так понятно, ... то чего обычно не читаете. Если ранее делали проекты на 1..3xx серии, то тут в 4xx много отличий и подводных камней, ... столкнулся переводя пару проектов на эти 4-ки. Чую "народ" копья поломает еще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rekcuf 0 13 декабря, 2013 Опубликовано 13 декабря, 2013 · Жалоба Я ни за что не борюсь, просто начал изучать STM32 после PIC18, поэтому некоторые вещи мне непривычны. При чтении доков показалось странным, что GPIO работают с частотой 84 МГц, а сидят на шине 168 МГц... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 1 13 декабря, 2013 Опубликовано 13 декабря, 2013 · Жалоба Переходя с PIC18 ещё много чего интересного будет, с дма, прерываниями, плавающими векторами итд. Потом, почитав попробовав отладиться, вдруг поймете: "и чего я раньше не пререшёл с PIC18 на STM32F ... " Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 13 декабря, 2013 Опубликовано 13 декабря, 2013 · Жалоба Так вот, кто-нибудь может объяснить, как так: GPIO висят на AHB1, частота которой 168 МГц, а фактическая скорость работы оказывается 84 МГц, что больше похоже на шину APB2 ?? судя по картинке между GPIOA->BSRRL = 2; и GPIOA->BSRRH = 2; прошел ровно 1 такт 168МГц, что не так? один такт на GPIOA->BSRRL = 2; один на GPIOA->BSRRH = 2; еще три на переход, получили 168/5=33. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться