Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216

Как выбрать архитектуру и характеристики контроллера

29.11.2015, 17:40. Показов 1690. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Собственно вот в чем трабл. Как выбрать нужный контроллер и его частоты ? В интернете ничего не нашел, быть может тут подскажете ?
Суть проекта: обращение к платам ацп(пока ардуино) минимум 4000 раз в секунду, получение от нее измерений на минимум 10 байт, обработка полученных данных, упаковка их в специализированный протокол на 128 байт и отправка в сеть, требуемая задержка между измерением и отправкой в сеть должна быть не более 10 мкС... Понятно что по большей степени это оптимизация кода, но пока без этого фактора... Как выбрать подходящий мк и его частоту? или же это уже не мк, а полноценный мини ПК ? Помогите советом, что-то совсем не знаю как быть
На данный момент проект написан на C++ и при запуске первой версии программы на ноутбуке с i5 2.27 GHz дает задержку при обработке 10-35 мкС и стабильно держит время между пакетами. Запуск того же кода на Raspberry Pi B+ показал что она вообще не годится... Обработка может занимать до 1 мС.... Может смотреть уже в сторону ПЛИС ? Подскажите советом
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2015, 17:40
Ответы с готовыми решениями:

Как выбрать архитектуру из 32x и 64x?
Помогите пожалуйста выбрать между 32-х битной и 64-х битной системой. Характеристики компа: процессор Intel(R) Pentium(R) Dual CPU...

Выбрать архитектуру приложения с БД
Доброго времени суток, уважаемые программисты! Помогите разобраться. Пытаюсь написать приложение с базой данных, которую заполняет...

Какую архитектуру предпочтительнее выбрать?
Всем приветов! Возник небольшой вопрос. Допустим имеется приложение, простенькая регистрация. Как правильнее организовать...

28
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
29.11.2015, 18:03
Цитата Сообщение от Fobes Посмотреть сообщение
минимум 4000 раз в секунду, получение от нее измерений на минимум 10 байт,
фантаст.
0
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
29.11.2015, 18:27  [ТС]
magirus, нужно оцифровывать 4 тока и 4 напряжения промышленной частоты(50Гц) со скоростью 80 выборок за период... 1/50/80 = 0,00025 c. между опросами или же 4000 раз в секунду... все 8 значений 10 разрядного АЦП строкой отправляются на ПК...
Или я где-то косячу ?
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,859
29.11.2015, 19:01
Цитата Сообщение от Fobes Посмотреть сообщение
4 тока и 4 напряжения промышленной частоты(50Гц) со скоростью 80 выборок за период... 1/50/80 = 0,00025 c. между опросами или же 4000 раз в секунду... все 8 значений 10 разрядного АЦП строкой отправляются на ПК...
stm32F103 Вроде бы должна с этим справится
http://www.compel.ru/lib/ne/20... aet-mnogoe
http://catethysis.ru/stm32-adc/
1
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
29.11.2015, 21:54  [ТС]
ValeryS, Должен или справится ? По каким принципам подбирать ? Встроенных АЦП не хватит, только в качестве поделки на вроде ардуины... точность нужна от 16 разрядов и выше Сможет ли он дать требуемую задержку на обработку, сможет ли быстро собрать пакет 128 байтный и отправить в сеть... также нужно будет АЦП опрашивать 256 раз за период... Как определиться с контроллером ?
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,859
29.11.2015, 22:09
Цитата Сообщение от Fobes Посмотреть сообщение
точность нужна от 16 разрядов и выше
Цитата Сообщение от Fobes Посмотреть сообщение
10 разрядного АЦП
уж определись
Цитата Сообщение от Fobes Посмотреть сообщение
Встроенных АЦП не хватит,
Цитата Сообщение от Fobes Посмотреть сообщение
4 тока и 4 напряжения промышленной частоты(50Гц)
8 каналов,а в самой задрипаной СТМке на 1АЦП 16 каналов, как так не хватит
Цитата Сообщение от Fobes Посмотреть сообщение
Сможет ли он дать требуемую задержку на обработку,
это смотря какая обработка частота камня может достигать 72мГц 90 MIPS
время оцифровки 16мкс, что гораздо быстрее
Цитата Сообщение от Fobes Посмотреть сообщение
0,00025 c
250мкс
если мало возьми stm32F4 там скорость еще выше,памяти еще больше
стоимость рублей 600
вот например
http://www.promelec.ru/catalog... 00/#148200
1
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
29.11.2015, 22:24  [ТС]
ValeryS, Сразу извиняюсь за глупые и абсурдные вопросы, самоучка, с мк практически дел не имел, а сейчас приперло... 10 разрядов это в ардуине, с которой я играюсь сейчас, в реальном устройстве должно быть от 16 разрядов и выше; то что не хватит, имелась ввиду разрядность, я косяк))) 16 мкС ? У устройства заявлен класс точности 0.2S и если я опять ничего не перепутал, то время, от начала оцифровки, до отправки кадра в сеть должно быть не больше 9.6 мкС (фазовая погрешность), но вроде не перепутал... это вообще возможно ? >_< 0,00025c это время между пакетами...
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,859
29.11.2015, 22:36
Цитата Сообщение от Fobes Посмотреть сообщение
. 10 разрядов это в ардуине, с которой я играюсь сейчас, в реальном устройстве должно быть от 16 разрядов и выше;
я не видел микропроцессоров, так скажем ширпотребовских, с 16 разрядными АЦП, тогда или внешнюю(внешние) или спецовый камень
Цитата Сообщение от Fobes Посмотреть сообщение
16 мкС ?
это в пиковом случае, вообще там несколько настроек времени оцифровки, наименьшая 1.5 цикла это около 14 тактов процесссора
при частоте 14мГц(скорость шины АЦП) это одна микросекунда
вот посмотри
https://hubstub.ru/programming/66-stm32-acp.html
1
 Аватар для Papayaved
75 / 75 / 8
Регистрация: 24.09.2015
Сообщений: 342
29.11.2015, 23:16
Fobes, На формирование 128 байтного пакета я думаю лучше зарезервировать 320 тактов 32х разрядного процессора. В IDE для мк обычно есть моделирование или режим симуляции. Можно посмотреть сколько тактов уходит на алгоритм формирования пакета (с помощью точек останова).

Т.е. есть 5 мкс на измерение и 5 микросекунд на формирование, то получается 62.5 МГц тактовая. Если хочется внешний АЦП, что безусловно даст большую точность, в плане шумов, то скорее всего потребуется SPI на 5 мкс/16 бит = 3.125МГц

Еще смущает сеть - не факт что удастся попадать в сеть с требуемой точность, линия может быть занята другим сообщением (что за сеть? - UART, CAN, USB, Ethernet). Кто принемает сообщение? Может ему просто линию LDVS бросить от последовательного АЦП

Добавлено через 26 минут
Если получатель ПК с ОС не реального времени, то он не обеспечит точность приема в 10МГц
2
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
29.11.2015, 23:28  [ТС]
Papayaved, Сеть - Ethernet... получатели соответственно любые устройства в локальной сети(терминалы РЗиА, если это поможет)) + ко всему этому в дальнейшем подводка по протоколу PTPv2 планируется...
Нашел вот такую игрушку http://www.ebay.com/itm/Stm32f... SwBahVE9EC подойдет ли она для моих задач ? Реально ли на ней будет реализовать отправку самособранного пакет в ethernet? Или есть варианты проще ?
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,859
30.11.2015, 00:01
Цитата Сообщение от Fobes Посмотреть сообщение
Нашел вот такую игрушку
вот она же
http://www.promelec.ru/catalog... 70/#147170
но к ней лучше еще прикупить вот такую, чтобы самому не заниматься пайкой
http://www.promelec.ru/catalog... 91/#153991
1
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
30.11.2015, 01:00  [ТС]
ValeryS, 1.1к на плату не жалко, но вот 3к на обвязку жаба душит отдать)) нет ли отдельно чисто ethernet модуля ? нашел у себя ENC28J60 от ардуинки, получится с ним сдружиться?)
п.с. а что за сайт ? доверять стоит ?) привык на ебее заказывать)
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,859
30.11.2015, 06:40
Цитата Сообщение от Fobes Посмотреть сообщение
п.с. а что за сайт ?
это наш магазин "Промэлектроника", я в нем в живую покупаю, по интернету не пробовал
привожу его просто показать порядок цен, да и даташиты они обычно выкладывают
Цены них конечно резко возросли,но можешь взять модель и поискать на том же ебее
Цитата Сообщение от Fobes Посмотреть сообщение
нет ли отдельно чисто ethernet модуля ?
по сути для сети там стоит канальная микросхема и разъем
можно взять схемку и самому спаять
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
30.11.2015, 10:09
Цитата Сообщение от Papayaved Посмотреть сообщение
Fobes, На формирование 128 байтного пакета я думаю лучше зарезервировать 320 тактов 32х разрядного процессора. В IDE для мк обычно есть моделирование или режим симуляции. Можно посмотреть сколько тактов уходит на алгоритм формирования пакета (с помощью точек останова).
Не понял, простите, логики. Причем тут такты контроллера и причем тут количество байт в пакете? Что дают Ваши вычисления?

Цитата Сообщение от Papayaved Посмотреть сообщение
Т.е. есть 5 мкс на измерение и 5 микросекунд на формирование, то получается 62.5 МГц тактовая. Если хочется внешний АЦП, что безусловно даст большую точность, в плане шумов, то скорее всего потребуется SPI на 5 мкс/16 бит = 3.125МГц
А если использовать несколько внешних АЦП?

Цитата Сообщение от Papayaved Посмотреть сообщение
Если получатель ПК с ОС не реального времени, то он не обеспечит точность приема в 10МГц
Слава богу производители пром.оборудования с Вами не согласны. Вот модуль 16ти-канального АЦП с частотой 200kS/s (это понятно, что частота делится на количество принимаемых каналов). А вот модуль 2х канального АЦП 200MS/s, но двухканальный.
В этих модулях используют обычных FIFO, чтобы передавать данные в ПК. Тоже самое касается и внешних модулей, через USB2.0.

ЗЫ: во времена погони за "мегасемплами" (лет 10 назад) мне встречались платки АЦП с 1GS/s и более. И на все з них были дрова под Windows (как минимум).

Добавлено через 7 минут
... и да, поддерживаю идею с кортексом F4. На F1 есть примеры использования внутреннего АЦП на один канал с выборкой 1МГц. При этом данные выводятся на экран и могут писаться на флешку (китайцы делают такие "осциллографы"). Но... Для собственного написания нужен конечно запас по мощности, и опять же - внешний АЦП. Поток данных будет чуть больше. Посему, платка с F4 и дополнительным SRAM'ом - самое оно.
0
 Аватар для Papayaved
75 / 75 / 8
Регистрация: 24.09.2015
Сообщений: 342
30.11.2015, 10:25
Voland_,
1. Я просто заложил 10 тактов на формирование одного 32х разрядного поля пакета.
2. Надо смотреть мк с несколькими SPI, либо с SPI на 50 МГц. Новые АЦП имеют SPI 50 МГц.
3. Вы про пакетную скорость передачи данных, а я про скорость реакции - если надо с периодом 10 мкс производить регулирование. Прерывание ПК обрабатываются максимум с частотой 10кГц, чтобы не пропускать пакеты делают аппаратные буфера. Но быстрой реакции это все равно не поможет. Вход в прерывание и в обработку у ПК очень длинный, особенно если ОС не реального времени.
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
30.11.2015, 11:18
Цитата Сообщение от Papayaved Посмотреть сообщение
1. Я просто заложил 10 тактов на формирование одного 32х разрядного поля пакета.
Ну а почему не 20? Ведь изначально непонятно, чего хочет ТС. Формирование "пакета" или его буфера может происходить автоматически, через DMA, например. И точно также и отправляться, причем, FIFO может работать одновременно и "ездить по одному и тому же куску памяти, что многократно ускорит обработку. Подобные вещи я встречал (и делал), например, при воспроизведении звковых файлов с флешки. - один DMA-канал читает, другой - выводит в ЦАП. При этом, проц использует процентов 20 тактов на обработку этих задач.

Добавлено через 3 минуты
Цитата Сообщение от Papayaved Посмотреть сообщение
3. Вы про пакетную скорость передачи данных, а я про скорость реакции - если надо с периодом 10 мкс производить регулирование.
Тут всецело "за". Но ТС же не говорил о реакции, не так ли? Речь шла лишь о задержке между замером и выдачей данных. 10мкс, конечно, это не так и много - всего 720 тактов на частоте кортекса М3, на один замер и передачу данных. Требуется использование аппаратных интерфейсов (то есть SPI+DMA, DMA+USORT/Ethernet/USB, чтобы это организовать. Ну, и конечно, принимающая стороная должна быть не менее "проворной".
1
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
30.11.2015, 12:37  [ТС]
Voland_, в общем распечатал кватанцию об оплате http://www.promelec.ru/catalog... 70/#147170 уже) Последнее уточнение >_< Мне хватит этого мк для моих задач ?) по даташиту это уже кортекс М4, DMA присутствует, частота до 168 МГц. Задача: опрос 8 каналов АЦП, упаковка этих данных в ethernet фрейм на 128 байт и отправка его в сеть. все это с частотой 4000 раз в секунду, время с начала оцифровки до отправки пакета в сеть должно быть не больше 10 мкС, помимо этого в дальнейшем должна быть реализована подводка часов по протоколу PTPv2 тоже через ethernet
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
30.11.2015, 16:17
Получается, SPI -> DMA -> RAM (2(4) x FIFO 128байт). По двум прерываниям отправка через UDP-пакеты. Без остальных прерываний. Пакет-то будет слаться через Ethernet, но куда вы его подключать будете? Вам же советовали уже использовать готовую платку со всеми необходимыми интерфейсами.

Добавлено через 2 минуты
...по-моему, в этих кортексах есть 2 АЦП, так что их можно заставить работать в синхронном режиме, чтобы получать данные без сдвига. Этот сдвиг будет на максимальной частоте <1мкс, но все же его можно убрать.

Добавлено через 3 минуты
...либо использовать два и более АЦП по параллельным SPI-интерфейсам и работать с ними в параллель.
0
Эксперт .NET
 Аватар для Rius
13096 / 7655 / 1672
Регистрация: 25.05.2015
Сообщений: 23,327
Записей в блоге: 14
30.11.2015, 16:18
ADuCM36x есть, с двумя АЦП на борту.
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
30.11.2015, 16:45
Цитата Сообщение от Voland_ Посмотреть сообщение
по-моему, в этих кортексах есть 2 АЦП
есть плюс коммутатор http://www.st.com/web/en/catalog/mmc/SC1169/SS1577
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2015, 16:45
Помогаю со студенческими работами здесь

Какую архитектуру программы лучше выбрать?
Помогите, пожалуйста, определиться с подходом для решения следующей задачи: Реализую предметы, для какой-нибудь RPG игры, т.е....

Какую архитектуру выбрать под простой аналог Ютуба на php?
Всем привет. Кто подскажет варианты архитектуры? Я хочу попробовать сделать свой видеохостинг на примере Ютуба. На Symphony и Ангуляре...

Как выполнить редирект с одного метода контроллера в другой, без пересоздания контроллера
Я делаю в одном из методов RedirectToAction() , в результате чего, перед перенаправлением обновляется текущий контроллер. Как сделать...

Как получить совмещенные графики передаточной характеристики и характеристики тока потребления для КМОП инвертора?
Вот моя схема КМОП инвертора(1-ый скриншот), я снял передаточную характеристику(2-ой и 3-ий скриншот), как снять характеристику тока...

Как передать из одного контроллера объект модели в строго типизированное представление другого контроллера
Есть строго типизированное представление в контроллере Main, в методе ListOrders. Как в него можно передать модель, класса Customer из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru