Новичок
Регистрация: 04.11.2008
Сообщений: 438
Репутация: 37
|
За один период сети 220 (10 мс) - делается 256 измерений АЦП (10 бит) по двум каналам - ток и напряжение. Пока идет следующий цикл измерений, по полученным данным делаются рассчеты - средние, среднеквадратичные значения, постоянная составляющая, косинус фи и т.п. - кучка небольшая но емкая, при этом всем производится управление тиристорами по весьма непростому алгоритму с кучей таймингов. Когда было сделано на проце от SiLabs с тактовой в 100 МГц ( одна команда - один такт ), и спец. модулем МАС, проблем не было - пикуха же на 40 МГц не тянет по скорости на 10 %, проверял осциллографом.
|
||
Оценка
|
Новичок
Регистрация: 13.02.2008
Адрес: Ставрополь
Сообщений: 493
Репутация: 39
|
На PIC16F877 я делал на частоте 1000Гц (1кГц) измерения по двум каналам, управлял импульсным блоком питания - проблем не было. Частота кварца 16МГц. Но у меня практически не было математики.
|
||
Оценка
|
Новичок
Регистрация: 04.11.2008
Сообщений: 438
Репутация: 37
|
Здесь как раз все дело в математике, и при том что некоторые операции приходится делать с числами с плавающей запятой.
|
||
Оценка
|
Новичок
Регистрация: 13.02.2008
Адрес: Ставрополь
Сообщений: 493
Репутация: 39
|
Математика пашется чаще на готовых решениях, а там вряд ли что можно изменить.
Хотя однажды я делал умножение для преобразования результатов АЦП, я заметил в исходном коде ненужные манипуляции с регистрами, подправил код под мою задачу, в итоге %10 сэкономил времени. Задача умножения решалась в общем виде, а мне нужен был частный случай. Поэтому я убрал лишнее. Это вот этот проект http://www.yakorev.com.ru/adc485.html . О нем также была статья в журнале "Схемотехника". Если надо могу поделиться исходниками на ASM |
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |