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

 
 
 
Reply to this topicStart new topic
> Выборка результатов преобразования из SD16MEM0, ФЦП SD16_A
chainikru
сообщение May 8 2012, 13:03
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 5-12-11
Пользователь №: 68 682



Добрового всем дня. Помогите пожалуйста разобраться с результатами преобразования АЦП.
Как я понимаю результаты преобразования хранятся в регистре SD16MEM0 с периодичностью, равной частоте выборки Fs.
Как использовать эти результаты поотдельности? Я хотел создать массив размером в количество выборок к примеру Result[64] и туда поочередно записывать результаты преобразований:
for (i =0; i < 64; i++)
{
Result[i] = SD16MEM0;
}
Но сделать все это у меня пока не получается. Посоветуйте что нибудь пожалуйста.
p.s я измеряю положительную полуволну для нахождения действующего значения переменного напряжения при фазофом регулировании. Я должен измерять как минимум 40 раз за 20мС
но я измеряю 64 ради надежности т.е частота выборки Fs=64 ? по формуле Fs= Fm/OSR , где
Fm -частота модулятора, а OSR-коэфициэнт передискретизации. Правильную ли формулу я собирабсь использовать? и чему равен и как устанавливать Fm ?

Сообщение отредактировал chainikru - May 8 2012, 13:04
Go to the top of the page
 
+Quote Post
rezident
сообщение May 8 2012, 18:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



У производителя есть примеры (Code Examples), в т.ч. и с использованием модуля SD16_A. Скачайте, например, Code Examples for MSP430F42x0, MSP430FG42x0 или для любого другого кристалла, который имеет в составе означенный модуль SD16_A.
О настройке модуля и выборе оптимальной частоты нужно читать в User's Guide и Application Notes. Но поскольку вы изобретаете настолько секретный прибор, что не вправе даже намекнуть на тип конкретного кристалла, то и я не могу вам дать прямую ссылку на страничку этого продукта. Поэтому поищите сами по сайту TI.
Go to the top of the page
 
+Quote Post
chainikru
сообщение May 8 2012, 18:52
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 5-12-11
Пользователь №: 68 682



Цитата(rezident @ May 8 2012, 22:42) *
Но поскольку вы изобретаете настолько секретный прибор, что не вправе даже намекнуть на тип конкретного кристалла, то и я не могу вам дать прямую ссылку на страничку этого продукта. Поэтому поищите сами по сайту TI.

ни о какой секретности реч не идет. эта программа нужна для фазового регулятора мощности с цифровой индикацией. которуя я делаю на MSP430F2013
на вход ацп подается переменное напряжение которое нужно измерить, а для этого соответственно надо измерять соответственно с определенным интервалом, потом используя полученные значения получить ответ в виде действующего значения и вывести на экран. Насчет Code Examples я их скачал, но покра немере в том что я скачал для SD_16 было 3 примера - 1 для термодатчика и еще два для постоянного тока

Сообщение отредактировал chainikru - May 8 2012, 19:02
Go to the top of the page
 
+Quote Post
rezident
сообщение May 8 2012, 19:18
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Тогда не совсем ясно: у вас проблема в использовании SD16_A или с самим алгоритмом работы?
Чисто умозрительно считаю, что для озвученных вами функций кристалл выбран неудачно. Мниться мне, что вам не хватит размера Flash при реализации всей функциональности. Особенно, если предполагается какой-либо минимальный UI (User Interface), т.е. взаимодействие с пользователем (ввод/изменение параметров, смена режимов работы и/или индикации).
Go to the top of the page
 
+Quote Post
chainikru
сообщение May 9 2012, 09:39
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 5-12-11
Пользователь №: 68 682



Цитата(rezident @ May 8 2012, 23:18) *
Тогда не совсем ясно: у вас проблема в использовании SD16_A или с самим алгоритмом работы?

Скорее с использованием SD16_A т.к. я никак не могу написать код использующий несколько результатов хранящихся в SD16MEM0

Сообщение отредактировал chainikru - May 9 2012, 09:40
Go to the top of the page
 
+Quote Post
rezident
сообщение May 9 2012, 18:33
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Дык в примерах есть обработчик прерывания в котором считывается результат преобразования АЦП. Или вы не хотите использовать прерывания? Ваш код не работает правильно потому, что у вас в цикле нет проверки готовности результата. Каждое преобразование АЦП занимает некоторое время, поэтому нельзя считывать результат из регистра ADC16MEM0 в любой произвольный момент времени. Нужно дожидаться готовности каждого последующего результата перед его считыванием. Готовность можно определить, анализируя бит SD16IFG в регистре SD16CCTL0. Использование прерывания как раз облегчало бы эту задачу, т.к. (разрешенное) прерывание вызывается сразу же после готовности результата преобразования, без необходимости программного анализа флага готовности.
Go to the top of the page
 
+Quote Post
chainikru
сообщение May 10 2012, 05:41
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 5-12-11
Пользователь №: 68 682



Цитата(rezident @ May 9 2012, 22:33) *
Каждое преобразование АЦП занимает некоторое время, поэтому нельзя считывать результат из регистра ADC16MEM0 в любой произвольный момент времени. Нужно дожидаться готовности каждого последующего результата перед его считыванием.

А как тогда измерять переменное напряжение ведь за довольно короткий промежуток времени 20мС необходимо сделать минимум 40 измерений. К томуже в примерах измеряют только постоянный ток. Но если есть какой нибуть полезный пример напишите его пожалуйста.

Сообщение отредактировал chainikru - May 10 2012, 05:44
Go to the top of the page
 
+Quote Post
Psych
сообщение May 10 2012, 09:54
Сообщение #8


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

Группа: Участник
Сообщений: 88
Регистрация: 5-03-11
Пользователь №: 63 410



А точность в 16 бит наобум взята??
Go to the top of the page
 
+Quote Post
chainikru
сообщение May 10 2012, 11:44
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 5-12-11
Пользователь №: 68 682



Цитата(Psych @ May 10 2012, 13:54) *
А точность в 16 бит наобум взята??

В смысле 16 битный АЦП?
если так то потомучто в MSP430f2013 который у меня есть именно 16 битное АЦП.
Go to the top of the page
 
+Quote Post
chainikru
сообщение May 10 2012, 11:44
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 5-12-11
Пользователь №: 68 682



Цитата(Psych @ May 10 2012, 13:54) *
А точность в 16 бит наобум взята??

В смысле 16 битный АЦП?
если так то потомучто в MSP430f2013 который у меня есть именно 16 битное АЦП.Да и возможнестей у него на мой взгляд побольше чем у 12 или 10 битного

Сообщение отредактировал chainikru - May 10 2012, 11:46
Go to the top of the page
 
+Quote Post
Psych
сообщение May 10 2012, 12:28
Сообщение #11


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

Группа: Участник
Сообщений: 88
Регистрация: 5-03-11
Пользователь №: 63 410



Ну хорошо. Частота дексритизации будет отношение тактовой частоты SD16 к OSR. Тактовая макс 1 Мгц и то надо чтобы сигнал был буферезирован (в MSP430F2013 буфера нету). На 40 измерений необходимо преобразование с длительностью не более 500 мкс. OSR не может быть больше 256 в этом случае. Ну а выше вам сказали: сразу считывать результат после запуска нельзя.
Go to the top of the page
 
+Quote Post
rezident
сообщение May 11 2012, 19:22
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(chainikru @ May 10 2012, 10:41) *
А как тогда измерять переменное напряжение ведь за довольно короткий промежуток времени 20мС необходимо сделать минимум 40 измерений.
Похоже мы с вами на разных языках разговариваем sad.gif Может вы уже наконец почитаете документацию? Для вас даже руководство (User's Guide) на русский язык перевели. Только еще раз предупреждаю, что в этом переводе имеются ошибки! Читайте его для лишь ознакомления с общими принципами функционирования периферийных модулей. В справочных целях (для программирования) обязательно используйте оригинальное (англоязычное) руководство (MSP430x2xx Family User's Guide (Rev. I) - slau144i.pdf).
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 23:52
Рейтинг@Mail.ru


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