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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> АЦП MSP430F149, Чего я неправильно делаю?
rezident
сообщение Aug 4 2009, 10:03
Сообщение #16


Гуру
******

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



Цитата(Allregia @ Aug 4 2009, 13:40) *
Выборки я ставлю SHT0_1, т.е. 8 тактов - 8*0.25=2uS, зачем делать 96 тактов ?
А вас точность преобразования совсем не волнует? wink.gif Ведь во время выборки перезаряжается конденсатор схемы выборки-хранения (около 40пФ) от входного сигнала. Даже если предположить, что выходное сопротивление источника сигнала близко к нулю, то проходное сопротивление мультиплексора ADC12 (около 2кОм) вы никуда не денете. Поэтому в даташите MSP430F169 явно указано минимальное время выборки 1,22мкс при 3В питании. Напомню эмпирические правила 5-ти и 20-ти RC. Через время равное 5*RC напряжение на C достигает 99% от входного и соответственно через 20*RC - 99,9% от входного. Следовательно время выборки нужно выбирать в зависимости от выходного сопротивления источника сигнала, но не менее указанного в даташите.
Цитата(Allregia @ Aug 4 2009, 13:40) *
Я пока не разобрался как сам таймер запрограммировать так, чтобы он запускал АЦП ?
Дык программируете его в режим CountUp. Период перезагрузки задается в CCR0. 8МГц/16кГц=500, следовательно в CCR0 заносим число 499. Дополнительно нужно задать режим PWM установкой OUTMOD_x в регистре CCTLx.
Цитата(Allregia @ Aug 4 2009, 13:40) *
Может я конечно совсем тупой, но не понимаю - если CONSEQ_3, то это Repeat-sequence-of-channel, т.е. после преобразования последнего канала сразу начнется преобразование самого первого, и так по кругу, т.е. без участия в этой таймера вообще.
А, пардон! Вы не правы (см. фрагмент из User's Manual во вложении), но и я тоже ерунду предложил cranky.gif . Действительно, если вы хотите синхронизировать начало последовательности преобразований от таймера, то бит MSC в этом режиме (CONSEQ_3) использовать нельзя. Да и SHP тогда использовать тоже не имеет смысла. Надо сигнал SAMPCON полностью формировать таймером с помощью PWM так, как это указано на времянках в User's Manual (Figure 17−3. Extended Sample Mode). Тут другой затык получается - нужно три сигнала SAMPCON за период 1/16кГц сформировать, но при имеющейся тактовой (8МГц) частоту перезагрузки таймера кратную 1/(3*16кГц) точно получить нельзя (8МГц/(3*16кГц)=166,6(6)). laughing.gif Кварц заменить можете? Например, из ряда 7,2МГц, 7,392МГц, 7,488МГц, 7,68МГц, 7,776МГц?
Цитата(Allregia @ Aug 4 2009, 13:40) *
Поэтому я и ставил CONSEQ_1 - Sequence-of-channels.
А вот это неправильно. В этом режиме нужно бит ENC тогглить, в отличие от режима CONSEQ_3.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Allregia
сообщение Aug 4 2009, 12:03
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(rezident @ Aug 4 2009, 13:03) *
А вас точность преобразования совсем не волнует? wink.gif Ведь во время выборки перезаряжается конденсатор схемы выборки-хранения (около 40пФ) от входного сигнала. Даже если предположить, что выходное сопротивление источника сигнала близко к нулю, то проходное сопротивление мультиплексора ADC12 (около 2кОм) вы никуда не денете. Поэтому в даташите MSP430F169 явно указано минимальное время выборки 1,22мкс при 3В питании.


Так у меня 2мкс, будет надо - увеличу, не в этом сейчас проблема.

Цитата
Дык программируете его в режим CountUp. Период перезагрузки задается в CCR0. 8МГц/16кГц=500, следовательно в CCR0 заносим число 499. Дополнительно нужно задать режим PWM установкой OUTMOD_x в регистре CCTLx.


Я это и сделал, но видимо не все что нужно. Собственно, это как раз именно то, что я второй день спрашиваю smile.gif

Цитата
А, пардон! Вы не правы (см. фрагмент из User's Manual во вложении), но и я тоже ерунду предложил cranky.gif . Действительно, если вы хотите синхронизировать начало последовательности преобразований от таймера, то бит MSC в этом режиме (CONSEQ_3) использовать нельзя. Да и SHP тогда использовать тоже не имеет смысла. Надо сигнал SAMPCON полностью формировать таймером с помощью PWM так, как это указано на времянках в User's Manual (Figure 17−3. Extended Sample Mode). Тут другой затык получается - нужно три сигнала SAMPCON за период 1/16кГц сформировать, но при имеющейся тактовой (8МГц) частоту перезагрузки таймера кратную 1/(3*16кГц) точно получить нельзя (8МГц/(3*16кГц)=166,6(6)). laughing.gif Кварц заменить можете? Например, из ряда 7,2МГц, 7,392МГц, 7,488МГц, 7,68МГц, 7,776МГц?
А вот это неправильно. В этом режиме нужно бит ENC тогглить,


В смысле "руками"?

Цитата
в отличие от режима CONSEQ_3.


В общем, выходит что исходя из Ваших обьяснений - сделать автоматический запуск преобразования последовательности по таймер - нельзя.
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 4 2009, 14:04
Сообщение #18


Гуру
******

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



Цитата(Allregia @ Aug 4 2009, 18:03) *
В смысле "руками"?
Не "руками", а программно. Устанавливаете в ADC12IE бит, соответствующий последнему каналу в последовательности. По прерыванию от АЦП считываете содержимое всех нужных регистров ADC12MEMx. Сбрасываете/устанавливаете бит ENC и по следующему импульсу от таймера запускается вновь последовательность преобразований. Только вам нужно будет успевать обработать прерывание ADC12 за промежуток времени между готовностью результатов и следующим импульсом запуска цепочки преобразований. Это примерно 30 тактов MCLK.
Цитата(Allregia @ Aug 4 2009, 18:03) *
В общем, выходит что исходя из Ваших обьяснений - сделать автоматический запуск преобразования последовательности по таймер - нельзя.
Откуда такой вывод? Нафига, спрашивается, я распинался, если вывод с точностью наоборот? laughing.gif Учитывая все ваши исходные данные в режиме повторяющейся последовательности каналов нельзя точно выдерживать интервал 1/16кГц, но сделать автоматическую оцифровку тем не менее можно.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Aug 4 2009, 20:26
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(rezident @ Aug 4 2009, 17:04) *
Не "руками", а программно. Устанавливаете


Это я и имел ввиду, когда говорил "руками".

Цитата
в ADC12IE бит, соответствующий последнему каналу в последовательности. По прерыванию от АЦП считываете содержимое всех нужных регистров ADC12MEMx. Сбрасываете/устанавливаете бит ENC и по следующему импульсу от таймера запускается вновь последовательность преобразований.


Так - понятно.
Собственно, почти так у меня и сделано - только я в таймерном прерывании дергаю ADC12SC.


Цитата
Только вам нужно будет успевать обработать прерывание ADC12 за промежуток времени между готовностью результатов и следующим импульсом запуска цепочки преобразований. Это примерно 30 тактов MCLK.


Почему 30 ?! 30 тактов MCLK это 3.75 мкс, у меня период между измерениями - 62.5мкс, время преобразования я выше говрил - 15мкс, ну дже если увеличу выборку втрое, будет 30мкс, еще ~30мкс остается, это 240 тактов MCLK.




Цитата
Откуда такой вывод? Нафига, спрашивается, я распинался, если вывод с точностью наоборот?


Большое спасибо за "распинание", но видимо у нас разное мнение о том, что такое "автоматическое перобразование", и я описание в даташите понял совсм по другому чем Вы и чем оно есь на самом деле.

Цитата
laughing.gif Учитывая все ваши исходные данные в режиме повторяющейся последовательности каналов нельзя точно выдерживать интервал 1/16кГц, но сделать автоматическую оцифровку тем не менее можно.


Да неважно 16 или сколько - любое число.
Ладно, оставим это, поскольку тут уже все пошло из чистого любоптства, ане необходимости решить задачу. Ее я решил, пусть и не так как планировал с самого начала.

P.S. А кстати, вопрос с определением работоспособности ХТ1 и ХТ2, о чем я спрашивал неделю назад в соседней теме, я тоже решил, теперь выпаиваю любой из квацев (или замыкаю) или оба вместе - и четко выбивает код ошибки.
Go to the top of the page
 
+Quote Post

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

 


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


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