реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> сигма-дельта модулятор + МК
skyv
сообщение Oct 20 2010, 12:35
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606



Цитата(hobgoblin @ Oct 20 2010, 16:25) *
но лучше, ИМХО, простую плисину прикрутить, благо написать CIC-дециматор не составляет особых проблем


Реализация на ПЛИС сомнений не вызывает, но хотелось бы
оценить требования к МК для этой задачи.
Go to the top of the page
 
+Quote Post
hobgoblin
сообщение Oct 20 2010, 12:54
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 202
Регистрация: 2-10-06
Из: Петербург
Пользователь №: 20 881



Цитата(skyv @ Oct 20 2010, 16:35) *
Реализация на ПЛИС сомнений не вызывает, но хотелось бы
оценить требования к МК для этой задачи.

В принципе, в той статье, на которую я ссылку дал, есть описание расчета ресурсов. Но во-первых, как здесь уже говорили, есть проблема с вводом данных в МК на такой частоте (в статье используется последовательный порт блэкфина, но у него частота тактовая может быть довольно высокая, не уверен что в ARMе есть что-то подобное). Во-вторых, делать CIC, который напрямую будет, децимировать в 16000 раз, нежелательно. а) Разрядность на выходе будет большой: ceil(K*log2(M)). K -порядок фильтра, M - коэффициент децимации. Например, для CIC третьего порядка, арифметика должна быть для чисел с разрядностью больше 32 бит (3*15). б) у Вас все равно останется много внеполосного шума, который по любому надо будет отфильтровать, например halfband фильтром.
Go to the top of the page
 
+Quote Post
skyv
сообщение Oct 20 2010, 13:27
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606



По поводу ресурсов увидел, что использован BF533 с частотой 594 MHz.
SAM9 у меня по SPI работает на 25 MHz без проблем, но под другой задачей.
А для этой похоже ему не дотянуть.
Go to the top of the page
 
+Quote Post
skyv
сообщение Oct 21 2010, 07:58
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606



Цитата(sysel @ Oct 20 2010, 14:04) *
Отпишите, пожалуйста, что у Вас выйдет


Решил посмотреть в симуляторе какое число тактов затратит SAM9
на вычисление трех интеграторов sinc3 фильтра. Ядро ARM9 работает на 200 МГц,
т. е. 1 такт = 5нс.
Условия для себя принял следующие:
- Частота модулятора = 20 МГц. Частота формирования выходных отсчетов
примерно 10 кГц. Из этих условий я нахожу необходимый размер буфера = 1984 бит
или 62 32-х разрядных слова. Время заполнения буфера составит 1984 * 0.05 мкс = 99.2 мкс.
- В программе я обрабатываю весь буфер = 1984 бит за 10305 тактов, а это соответствует
времени 10305 * 5нс = 51.5мкс. Программный код на обработку 1-го бита такой:
Integr_3 += Integr_2; - 1 такт
Integr_2 += Integr_1; - 1 такт
Integr_1 += ( input >> .... ) & 0x00000001; - 4 такта
Когда использовал цикл по битам, то получил 18672 такта (99 мкс). Пришлось
его развернуть.
Итого из 99.2 мкс потратили 51.5 мкс. Запас в 50 мкс обнадеживает.





Go to the top of the page
 
+Quote Post
sysel
сообщение Oct 25 2010, 09:25
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Мой результат, используя таблицу инкрементов

Фильтр CIC (4 интегратора -> децимация в 200 раз -> 4 дифференциатора) -> Фильтр FIR (компенсация CIC + НЧ для дальнейшей децимации) (36 коеф. 32 бита) с децимацией в 5 раз.
Итого децимация в 1000 раз.

Алгоритмы реализованы на С, компилятор из IAR, оптимизация по скорости.

Процессор LPC1754 (Cortex-M3) на частоте 100 МГц.

На вычисление одного выходного отсчета сигнала (CIC+FIR) требуется 53 мкс.
Go to the top of the page
 
+Quote Post
skyv
сообщение Oct 25 2010, 11:14
Сообщение #21


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606



Цитата(sysel @ Oct 25 2010, 13:25) *
...
Процессор LPC1754 (Cortex-M3) на частоте 100 МГц.

На вычисление одного выходного отсчета сигнала (CIC+FIR) требуется 53 мкс.

Вот интересно как 100 МГц МК LPC1754 вычисляет быстрее, чем 200 МГц SAM9?
Go to the top of the page
 
+Quote Post
sysel
сообщение Oct 25 2010, 11:23
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Цитата(skyv @ Oct 25 2010, 15:14) *
Вот интересно как 100 МГц МК LPC1754 вычисляет быстрее, чем 200 МГц SAM9?

Я использую таблицу инкрементов и оперирую в алгоритме байтами, а не битами. Что само по себе быстрее.
Как допишу алгоритм полностью, вышлю Вам реализацию.
Go to the top of the page
 
+Quote Post
skyv
сообщение Oct 25 2010, 11:38
Сообщение #23


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606



Тогда еще один вопрос. Просто для себя я его пока не рассматривал детально.
Данный АЦП предназначен для непосредственного подключения к шунтам с целью
измерения тока. У Вас АЦП также используется или нет? Я собираюсь его использовать для
измерения напряжений +- 10В.
Go to the top of the page
 
+Quote Post
sysel
сообщение Oct 25 2010, 11:43
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Цитата(skyv @ Oct 25 2010, 15:38) *
Тогда еще один вопрос. Просто для себя я его пока не рассматривал детально.
Данный АЦП предназначен для непосредственного подключения к шунтам с целью
измерения тока. У Вас АЦП также используется или нет? Я собираюсь его использовать для
измерения напряжений +- 10В.


Я тоже мерю ток с шунта.
По ТЗ Rшунт = 1 Ом и он находиться внутри девайса, так что я его могу разбить на несколько последовательно включенных резисторов.

Для измерения напряжения я эту схему не рассматривал. Хотя что-т подобное видел в даташите на TI.
Скорее всего Вам нужно будет перед модулятором ставить буфер на операционнике.
Go to the top of the page
 
+Quote Post
skyv
сообщение Oct 25 2010, 12:09
Сообщение #25


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606



С вашей схемой понятно. В моем случае надо будет оценить
итоговое разрешение после приведения входного сигнала с помощью ОУ.
У TI как раз видел использование различных АЦП в схеме привода.
Go to the top of the page
 
+Quote Post
Spider
сообщение May 20 2012, 13:11
Сообщение #26


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Ребят, можно разворошить старое? Чем всё кончилось? sm.gif
Нет ли у кого PDM -> PCM ?
Go to the top of the page
 
+Quote Post
sysel
сообщение May 25 2012, 11:00
Сообщение #27


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Цитата(Alexey Belyaev @ May 20 2012, 17:11) *
Ребят, можно разворошить старое? Чем всё кончилось? sm.gif

Кончилось всё запуском этого решения в серию. Довольно удачно получилось:
LPC1754, 96 Мгц.
AD7401A подключен на SSP порт.
клок на модулятор 6МГц.

Поток обработки:
Вход(6 MSPS, 1-bit) -> CIC (3 секции, децимация 80) -> CIC (5 секций, децимация 5) -> FIR (порядок = 54, разрядность коэф. 32 бита, децимация 5) -> Выход (3 KSPS, 24 bit)
т.е. произвожу децимацию в 2000 раз.

Загрузка процессора = 22 % (оценивал осциллографом)
т.е. на обработку одного бита с модулятора затрачивается 3.5 такта (с учетом всех трёх секций фильтра).

Цитата(Alexey Belyaev @ May 20 2012, 17:11) *
Нет ли у кого PDM -> PCM ?

У меня нет.
Go to the top of the page
 
+Quote Post
dumb
сообщение Dec 14 2012, 11:55
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 10-10-08
Пользователь №: 40 839



Цитата(sysel @ May 25 2012, 14:00) *
Кончилось всё запуском этого решения в серию. Довольно удачно получилось:
LPC1754, 96 Мгц.
AD7401A подключен на SSP порт.
клок на модулятор 6МГц.

Поток обработки:
Вход(6 MSPS, 1-bit) -> CIC (3 секции, децимация 80) -> CIC (5 секций, децимация 5) -> FIR (порядок = 54, разрядность коэф. 32 бита, децимация 5) -> Выход (3 KSPS, 24 bit)
т.е. произвожу децимацию в 2000 раз.


Тоже разворошу былое sm.gif
И сколько получилось реальное разрешение из этих 24 бит?
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 00:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01475 секунд с 7
ELECTRONIX ©2004-2016