Всем известно, как легко разработать доказательство концепции встраиваемого устройства на Rasbperry Pi или даже ПК, хотя когда дело доходит до выбора микропроцессора для вашего продукта, трудно быть уверенным, что ваш выбор позволит вашей концепции работать оптимально.
В настоящее время у меня есть проект потоковой передачи мультимедиа, успешно работающий на Raspberry Pi, хотя он слишком большой и громоздкий, чтобы его можно было использовать как конечное устройство. Также заявлено, что конечное устройство является заказным. Мне трудно найти уверенность в процессорах, которые я могу использовать.
Что хорошего в том, чтобы выяснить, достаточно ли мощный процессор для запуска моего приложения?
В основном мои требования:
- USB-хост или встроенный стек TCP / IP для работы WiFi
- Медиа-протокол I2S / PCM
- I2C для периферийной конфигурации
Найти чипы с такими свойствами очень просто. Честно говоря, не может быть проще. Проблема заключается в том, чтобы определить, достаточно ли быстродействует чип, обрабатывает и работает ли он.
Я немного посмотрел на LPC4337 и чувствую, что он подойдет, хотя среда разработки доставляет мне немало хлопот, поэтому я все еще осматриваюсь, что привело меня к CC3200 от Texas Instruments , хотя этот контроллер работает только на частоте 80 МГц, и я не уверен, будет ли он достаточно сильным для потоковой передачи мультимедиа в реальном времени.
Какие шаги нужно сделать, чтобы процессор был достаточно быстрым для моего приложения? Например, как узнать, будет ли достаточно 80 МГц процессор или мне нужно что-то порядка 204 МГц или даже выше?
Ответы:
Это зависит от того, насколько вы уверены в себе. Я работаю в космической отрасли, и это обычно достигается через то, что мы называем «ЦП, ОЗУ, ПЗУ бюджетов». Бюджет, будь то удельный вес или что-то еще, разбивает ваш процесс на управляемые элементы, которые вы можете определить количественно и суммировать, чтобы получить общий спрос. Затем вы берете коэффициент безопасности, который зависит от зрелости вашего проекта, и уменьшается со временем, чтобы учесть рост спроса. На раннем этапе он в значительной степени опирается на опыт, а затем совершенствуется с течением времени по мере выбора технологий.
Выше очень сложно точно определить, когда включаются планировщики, как только у вас есть потоки (если потоки не распределены вручную по ядрам) и операционные системы. Он должен быть управляемым для простых кодов микроконтроллеров, но стоит ли это для вашего приложения?
Это только мое участие: несмотря на то, что я разрабатываю интегрированные системы, я не несу ответственности за эти конкретные бюджеты (которые являются входными данными для меня), и мне на самом деле очень интересно узнать истории экспертов по этому вопросу.
Приложение: В системах реального времени обычно легче оценить адекватность системы задаче по максимальному времени выборки, которое зависит от задержки / задержек при передаче информации в течение всего рабочего процесса и максимального времени, затрачиваемого каждым из них. образец задания.
источник
avrdude
может дать оценку того, сколько оперативной памяти занято глобальными переменными, но вы должны запустить ее с опцией пробного запуска, потому что это по сути инструмент загрузки.Я собираюсь упростить ваш вопрос: «Как узнать, достаточно ли быстрый микропроцессор »?
Вам необходимо определить процесс / процедуру, которая требует самого быстрого времени выполнения. Если ваш процессор может выполнять инструкции, требуемые в данное время или меньше, то это достаточно быстро.
Давайте рассмотрим пример: ваше самое быстрое требование - обработать прерывание потери питания ; для этого требуется 10 000 инструкций за 10 миллисекунд. Вам понадобится процессор с минимум 1 MIP. Чтобы преобразовать это в «МГц», вам нужно знать количество тактов на инструкцию (cci). Предположим, что это 10 cci, ваш процессор должен работать на 10 МГц или быстрее.
источник
Если вы смотрите на снижение стоимости BOM, иногда у этих производителей в Шэньчжэне появляются удивительные предложения. Один пример: Allwinner A10 имеет больше вычислительной мощности и возможностей подключения, чем Raspberry Pi, но, вероятно, будет дешевле, если использовать его в своем дизайне. Если вы смотрите на ту же цену, что и Pi, Allwinner A31s в 6-8 раз мощнее.
источник