Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Будьте бдительны при просмотре документации
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
KARLSON
Здравствуйте.
Произошёл со мной казус по неопытности. Выбирал я мк от STM c высокоскоростным SPI (не менее 36 Мбит/с). Прошёлся по ихнему сайту, наткнулся на 429, про который говорят, что у него аж 6 SPI до 45 Мбит. Посмотрел на главную страницу документации, правда, "Up to 6 SPIs (45 Mbits/s)".
Как оказалось, да ни фига подобного. В дебрях документации написано. "The devices feature up to six SPIs in slave and master modes in full-duplex and simplex communication modes. SPI1, SPI4, SPI5, and SPI6 can communicate at up to 45 Mbits/s, SPI2 and SPI3 can communicate at up to 22.5 Mbit/s. "
Будьте бдительны, коллеги. Проверяйте все частоты тактирования всей необходимой периферии хотя бы в Cube.
ViKo
Так многие пишут - в рекламных строчках суперпараметры, в дебрях даташита всплывают нюансы. На ОУ от Analog Devices, например. Но ведь не врут. Просто недоговаривают. :-) Для того и дана голова за плечами.
KARLSON
"Как принимать правильные решения?
Нужно приобрести опыт.
Как приобрести опыт?
Нужно какое-то время принимать не правильные решения."
jcxz
Цитата(ViKo @ May 13 2017, 08:09) *
Так многие пишут - в рекламных строчках суперпараметры, в дебрях даташита всплывают нюансы. На ОУ от Analog Devices, например. Но ведь не врут. Просто недоговаривают. :-) Для того и дана голова за плечами.

Так эти параметры тактирования они в самом начале описания системы тактирования в UG описаны. "Clock tree". Как можно было не заметить?
А дальше - просто посмотреть карту распределения периферии по шинам и всё становится понятным.
Да и вообще - выбор STM32F429 для "высокоскоростного" SPI - весьма странный выбор.
Из почти всех знакомых мне Cortex-M, STM32F4x обладают наверное самым скромным по скоростным характеристикам SPI.
Ни FIFO (без него плохо на больших скоростях) ни режимов dual-/quad-SPI (всего-то single? crying.gif , а dual уже при той же SCLK даёт вдвое больший поток) ни DDR.
И возможности по аппаратному управлению сигналами CS сильно ограничены (или вообще нет? что-то не помню).
Взять тот же Tiva TM4C129xx - есть и FIFO и dual-/quad- и SCLK=30МГц я на нём получал при 120МГц тактовой (может можно больше - не помню).
Reflector
Цитата(KARLSON @ May 12 2017, 19:16) *
Как оказалось, да ни фига подобного. В дебрях документации написано. "The devices feature up to six SPIs in slave and master modes in full-duplex and simplex communication modes. SPI1, SPI4, SPI5, and SPI6 can communicate at up to 45 Mbits/s, SPI2 and SPI3 can communicate at up to 22.5 Mbit/s. "

Можно уменьшить делители для обоих APB в 2 раза, тогда скорость SPI будет 90 и 45 Mbits/s.
Шаманъ
Цитата(Reflector @ May 13 2017, 14:22) *
тогда скорость SPI будет 90 и 45 Mbits/s.

Открываем первую страницу референс мануала (раздел про SPI) и читаем:
Цитата
8 master mode baud rate prescalers up to fPCLK/2.
Slave mode frequency up to fPCLK/2.

fPCLK помнится у одной шины 90МГц max, у второй 45МГц max. Так что на 90Mbit/s SPI никак не поедет, а на 45 только те SPI, которые на более скоростной APB шине сидят (там их 4шт).
Reflector
Цитата(Шаманъ @ May 13 2017, 14:43) *
fPCLK помнится у одной шины 90МГц max, у второй 45МГц max. Так что на 90Mbit/s SPI никак не поедет, а на 45 только те SPI, которые на более скоростной APB шине сидят (там их 4шт).

Да, у APB2 максимум 90 MHz, но при делителе 2, а реально оно работает и с делителем 1, даже при разгоне до 260MHz.
jcxz
Цитата(Reflector @ May 13 2017, 13:55) *
Да, у APB2 максимум 90 MHz, но при делителе 2, а реально оно работает и с делителем 1, даже при разгоне до 260MHz.

Объясните потом дяде заказчику, почему Вы нарушили требования документации и подсунули ему заведомо нерабочую железку...
scifi
Цитата(jcxz @ May 13 2017, 19:43) *
Объясните потом дяде заказчику, почему Вы нарушили требования документации и подсунули ему заведомо нерабочую железку...

А если для дома, для семьи? Я бы тоже поразгонял ради спортивного интереса yeah.gif
adnega
Цитата(KARLSON @ May 12 2017, 19:16) *
Произошёл со мной казус по неопытности.

А что за задачка? Может, лучше другие блоки подойдут: FMC, DCMI и т.п.?
Шаманъ
Цитата(scifi @ May 13 2017, 20:46) *
А если для дома, для семьи?

Для дома тоже разные применения бывают. ИМХО, делать такое стоит только:
Цитата
ради спортивного интереса yeah.gif

Reflector
Цитата(Шаманъ @ May 14 2017, 07:40) *
Для дома тоже разные применения бывают. ИМХО, делать такое стоит только:

ТП нужно SPI на хотя бы 36 MHz, для этого нужно APB1 заставить работать на 72. У меня F407, который даже чуть медленнее F429, работает на 260 MHz с делителями шин 1/1/2, т.е. APB1 там 130 MHz. Что такое нужно собирать для дома чтобы бояться выставить частоту чуть ли не в 2 раза ниже максимально возможной? Ядерный реактор? sm.gif
adnega
Цитата(Reflector @ May 14 2017, 10:53) *
ТП нужно SPI на хотя бы 36 MHz

А для чего ему этот SPI и эти 36MHz? Поток-то не малый.
Я, к примеру, на через шустрый SPI генерировал картинку для VGA-монитора, но для этого отлично подходит LTDC.
Шаманъ
Цитата(Reflector @ May 14 2017, 10:53) *
Что такое нужно собирать для дома чтобы бояться выставить частоту чуть ли не в 2 раза ниже максимально возможной? Ядерный реактор? sm.gif

Ну она не в два раза ниже возможной, а прилично выше максимальной по докам. Как пример, у меня пеллетником управляет stm32 и я бы ее не стал разгонять в этом применении.
KARLSON
Цитата(adnega @ May 13 2017, 22:36) *
А что за задачка? Может, лучше другие блоки подойдут: FMC, DCMI и т.п.?

Брать данные с трёх АЦП.
Reflector
Цитата(KARLSON @ May 14 2017, 23:46) *
Брать данные с трёх АЦП.

При помощи шести SPI?
jcxz
Цитата(Reflector @ May 15 2017, 10:06) *
При помощи шести SPI?

Зачем 6? Достаточно 3-х. Просто надо выбрать такой МК, в котором они есть.
Или достаточно одного в режиме quad-SPI. На том-же LPC43xx - без проблем. Да и на куче других МК.
А ещё хорошо такое ложится на McBSP техасовских сигнальников. Я когда-то как раз 3 АЦП через один McBSP читал без проблем. Да и возможности по обработке такого потока там есть.

Цитата(Reflector @ May 15 2017, 10:06) *
При помощи шести SPI?

Объединить в "daisy chain" и читать на большей SCLK через один SPI?
Reflector
Цитата(jcxz @ May 15 2017, 12:17) *
Зачем 6? Достаточно 3-х. Просто надо выбрать такой МК, в котором они есть.

Так суть темы в том, что был выбран мк с шестью SPI, но оказалось, что на 45Mbits/s могут работать только 4 и очевидно, что этих 4-х почему-то не хватает sm.gif

Цитата
Или достаточно одного в режиме quad-SPI. На том-же LPC43xx - без проблем. Да и на куче других МК.

Есть и STM32F4 с quad-SPI, FIFO и DDR. F446, например.
adnega
Цитата(jcxz @ May 15 2017, 12:20) *
Объединить в "daisy chain" и читать на большей SCLK через один SPI?

А, может, поискать АЦП с параллельной шиной?
Или через ПЛИС организовать взаимодействие МК и внешнего АЦП?
К SPI (номер точно не помню) в STM32F42x у меня какие-то сомнения были при вводе данных
в режиме мастера, типа непонятной единички в старшем разряде, даже когда MISO железно на земле...
jcxz
Цитата(Reflector @ May 15 2017, 11:29) *
Так суть темы в том, что был выбран мк с шестью SPI, но оказалось, что на 45Mbits/s могут работать только 4 и очевидно, что этих 4-х почему-то не хватает sm.gif

Лень открывать даташит, но не хватать может например по той причине, что для работы на такой скорости нужны DMA. А их и может не хватить на всё - каналов DMA в МК маловато, есть ограничения по их коммутации на разную периферию. И часть DMA-каналов наверняка уже занята другой периферией.
В своё время отказались от STM32F4xx для одного из проектов по этой причине.
KARLSON
Цитата(Reflector @ May 15 2017, 11:06) *
При помощи шести SPI?

Нет. использовать буду 3. Просто в описании на мк говорилось про шесть.

Цитата(jcxz @ May 15 2017, 12:20) *
Или достаточно одного в режиме quad-SPI.

Ещё плюс в знания)

Цитата(Reflector @ May 15 2017, 12:29) *
что этих 4-х почему-то не хватает sm.gif

Хватает. Только плату уже развёл и заказал, под выбранные модули.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.