|
О производительности микроконтроллеров, ARM, AVR, Pic |
|
|
|
Dec 29 2008, 00:14
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(rezident @ Dec 28 2008, 19:05)  На вашем месте я бы привел все результаты к каким-то одним единицам измерения. Либо кол-во вычислений функции в секунду, либо период вчисления функции. А вообще, о чем этот топик-то?  Прелюдия к очередной войне PIC vs AVR (с ARM сравнивать его немного странно) или сравнение компиляторов или обсуждение способа измерения напряжения RMS или что? 1. Лень. 2. Информация к размышлению, чтоб знать какой контроллер брать для задачи. (форум - для начинающих). Я например, тоже думал какой - взять контроллер чтоб потянул мп3 декодирование. Кстати, на Атмеле скомпилированная программа была поряка 4 килобайта (AVR-Studio).
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Dec 31 2008, 03:25
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(defunct @ Dec 29 2008, 10:43)  2.4 милисекунды? или каких операций - то? СЕКУНДЫ! не милли. 20000 вызовов функций calc() описаной здесь же. Кстати, стоимость вызова подсчета одного косинуса/синуса/тангенса примерно равна стоимости вызова calc()
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Dec 31 2008, 17:11
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 26-12-07
Пользователь №: 33 639

|
Цитата(A. Fig Lee @ Dec 29 2008, 02:52)  Пишу здесь, так как ориентируюсь на AVR.
Хочу померять напряжение переменного тока (сети) без выпрямления. Можно применить RMS, как мне посоветовали или другой способ - ..... A = sqr( (x2 - (x1*cos(d))/sin(d))**2 + x1**2) Зачем так сложно?! А померить !1! раз за период в максимуме (минимуме) никак? (всеравно вы для вашего способа должны разность фаз измерять!) Так и измеряйте на 90 градусов. Причем т.к. вершина достаточно пологая, то точность этих самых 90 градусов далеко не критична! Фиксируете момент перехода через 0, пускаете таймер, и по событию от таймера автоматом пускается АЦП (autotriggered), ну или вручную в обработчике прерывания.
|
|
|
|
|
Jan 2 2009, 17:43
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 26-12-07
Пользователь №: 33 639

|
Цитата(A. Fig Lee @ Jan 1 2009, 03:17)  точность конечно будет хромать.. так как момент перехода через 0 тоже не мгновенен. Знаю человека который так решал эту задачу, и ничего у него не хромало Да, не мгновенено, но т.к. напряжение по амплитуде около 300В, то переход от "нуля" к "еденице" на ноге МК будет весьма быстр. Да и синус в окрестности нуля имеет большую крутизну. И еще раз: вершина, ну очень пологая! Смоделируйте, и увидете допустимую ошибку по фазе, при заданной допустимой ошибке по амплитуде. PS напряжение фазы подается напрямую на ногу МК через 2 резистора (не чипы!) по мегаому. + ставите диоды быстрые для защиты. Цитата(ARV @ Jan 1 2009, 14:01)  в сети практически никогда не бывает чистой синусоиды (я имею ввиду реальную сеть конечного потребителя). а если брать промышленную сеть - то и подавно. мерить напряжение по одной или нескольким точкам - это означает, получать результат "грубо приблизительный". если нужно действительно измерять, то либо применять RMS-преобразовательные микросхемы, либо делать на основе интегрирования. если учесть, что и частота сети далеко не всегда ровно 50 гц (ее порой умышленно снижают до предельно допустимого уровня), то получение точных результатов - не очень тривиальная задача Частоту можно измерять программно и отслеживать ее изменения. Никто и не говорит, что надо брать ОДНОКРАТНОЕ измерение! Понятное дело, что каким-то образом результат надо фильтровать, будь то простое усреднение, или полноценная цифровая фильтрация. Т.е. строим оценку на основе N простых измерений.
|
|
|
|
|
Jan 6 2009, 04:40
|

Знающий
   
Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044

|
Производительность микроконтроллера - это категория довольно шаткая. Ибо назначение его - принять сигнал от АЦП или с GPIO и его обработать. Предположим, вы используете AVR и принимаете на GPIO сигнал от компаратора, который, в свою очередь, настроен на сеть 220 В. Вся сетевая помеха воспринимается микроконтроллером как полезный сигнал и у вас возникает необходимость программно от этого защищаться. В ту же схему вы вставляете старый 12-тактовый 51-контроллер и он, вследствие своей тихоходности, без всякой фильтрации совершенно точно воспринимает сигнал. Его самого-то можно, как фильтр, использовать. Так что - смотря какие задачи у вас основные. Если вам нужно информацию брать откуда-то со стороны и её обрабатывать, тогда точно нужен высокопроизводительный проц, а если он сам принимает аналоговый сигнал - какой толк от производительности? Тут другой критерий - стабильность. У однотактовых микроконтроллеров она конкретно хуже.
--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
|
|
|
|
|
Jan 6 2009, 09:36
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 3-08-05
Из: Новосибирск
Пользователь №: 7 334

|
Цитата(repairDV @ Jan 6 2009, 10:40)  Производительность микроконтроллера - это категория довольно шаткая. Ибо назначение его - принять сигнал от АЦП или с GPIO и его обработать. Предположим, вы используете AVR и принимаете на GPIO сигнал от компаратора, который, в свою очередь, настроен на сеть 220 В. Вся сетевая помеха воспринимается микроконтроллером как полезный сигнал и у вас возникает необходимость программно от этого защищаться. В ту же схему вы вставляете старый 12-тактовый 51-контроллер и он, вследствие своей тихоходности, без всякой фильтрации совершенно точно воспринимает сигнал. Его самого-то можно, как фильтр, использовать. Совершенно неверное утверждение, скорость выборки АЦП можно настраивать. Цитата(repairDV @ Jan 6 2009, 10:40)  Так что - смотря какие задачи у вас основные. Если вам нужно информацию брать откуда-то со стороны и её обрабатывать, тогда точно нужен высокопроизводительный проц, а если он сам принимает аналоговый сигнал - какой толк от производительности? Как минимум иметь возможность всю программу реализовать на Си. Цитата(repairDV @ Jan 6 2009, 10:40)  Тут другой критерий - стабильность. У однотактовых микроконтроллеров она конкретно хуже. Странное заявление, всё зависит от прямоты рук. МК NEC и Renesas позиционирующиеся как особонадёжные имеют RISC систему комманд, инструкции исполняются в основном за 1 такт. У меня устройства на основе ARM, AVR проходили испытания ЭМС на категорию А, по самым жестким нормам(промышленные условия).
--------------------
Всяк хорошая мысля к нам приходит опосля.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|