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

 
 
 
Reply to this topicStart new topic
> Захват в MSP430F149
Dog Pawlowa
сообщение May 14 2009, 15:12
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Чет не работает...

Инициализирую TBCCTL6= CM_3 + CCIS_1+ SCS+CAP;

Жду CAPTURE_FLAG= TBCCTL6 & CCIFG. Не приходит, зараза.

Сигнал болтается на TB6/Port4.6.

Подайте мысль, Xриста ради...


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
SSerge
сообщение May 15 2009, 07:44
Сообщение #2


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

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Регистр P4SEL тоже участвует в процессе.
Посмотрите схему порта в доке на процессор, раздел input/output schematic.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
VAI
сообщение May 15 2009, 07:49
Сообщение #3


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

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



А сам таймерВ и P4SEL не забыли настроить?
У меня так:
Код
  P4SEL = BINARY( 01000000 );
  P4DIR = BINARY( 10111111 );
  P4OUT = BINARY( 10110000 );

// + Настройка Capture6
  TBCCTL6 = CM_1                                                  // Захват по нарастающему (переднему) фронту
          | CCIS_0                                                // входной сигнал CCI6A
          | SCS                                                   // Синхронный захват
          | CAP                                                   // Режим захвата
          | CCIE;                                                 // прерывание
// - Настройка Capture6 - измерение периода вращения коленчатого вала автомобиля (тахометр)

// Настроим таймер B
  TBCTL = TBSSEL_2                                                // тактирование от SMCLK
        | ID_3                                                    // входной делитель
        | MC_2                                                    // Непрерывный режим: таймер считает вверх к 0ffffh
        | TBIE;                                                   // прерывание


А в прерывании беру значения TBCCR6.


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 15 2009, 13:51
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Точно, P4SEL забыл! Подзабыл MSP430.

А прерывание по захвату стараюсь не использовать - мало ли что.
Наелся софтовым SIRом. Теперь пошли новые люминисцентные лампы - после замены ламп в помещении приборы перестали работать.
Вложенные прерывания по сигналу инфракрасного приемника от помех убивают стек.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jun 25 2009, 07:10
Сообщение #5


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Вот и мне пришла пора с захватами поиграть...
Сдуру решил отказаться от керамического резонатора на XT2 и подстраивать DCO по часовому кварцу.
Слишком часто отказы пошли, в последних партиях чуть не до 50% не заводятся...
Причём с внешним кондёром - всё нормально, но это ненормально.
Почитал статейки, SLAA074 от ТИ, и всё бы хорошо, но вот в книженции от компэла (перевод руководства по применению F1xx SLAU049)
Так вот, выяснилось, что нужен сигнал CCIxA, который переключается битами CCISx (в смысле выбирается источник).
А дальше обтекаемая фраза, типа смотрите руководство на конкретный кристалл.
Меня интересует в данный момент F169 и мой любимый F149.
И что-то вот не нашёл в явном виде, как на этот CCI0A (допустим) подключить ACLK.
Хотя нет, вот нашёл табличку, пока писал/уточнял:

Прикрепленное изображение


Похоже, оно.
ПС:
Не то обвёл. Надо было на CCR2, там ACLK.

Да и вообще, пожалуй, на TA нехорошо получается. Он у меня будет рулить запуском DAC-а.
Перенесу-ка та TB (CCR6).

ППС:
Вот ведь, работаешь-работаешь, а таки найдётся тёмный уголок, куда ещё не лазил!


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 25 2009, 10:06
Сообщение #6


Гуру
******

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



Цитата(MrYuran @ Jun 25 2009, 13:10) *
Слишком часто отказы пошли, в последних партиях чуть не до 50% не заводятся...
Причём с внешним кондёром - всё нормально, но это ненормально.
Можно более развернуто пояснить смысл этих двух предложений?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jun 25 2009, 10:17
Сообщение #7


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(rezident @ Jun 25 2009, 14:06) *
Можно более развернуто пояснить смысл этих двух предложений?

Более развёрнуто -разве только матом.
Пару лет клепали, всё было нормально.
Резонаторы - трехногие синие и коричневые капельки, с надписями 2М или 4М на боку.
И вот в один прекрасный момент видимо поменялся один китайский поставщик на другого, и похоже что внутренние ёмкости в резонаторы либо вообще не ставят, либо ставят, но не то.
То есть собираем плату - не заводится XT2.
Начинается шаманство.
Иногда помогает переворот резонатора на 180 градусов (видимо, с разных концов разные ёмкости).
Хотя, по идее, надо сразу такой "кварц" выкидывать.
А в последнее время у регулировщиков видимо матерные слова закончились, и они начали напаивать параллельно ногам SMD-ёмкости на 22-75 пик.
В общем, начался бардак.
А мне хочется жить спокойно и не зависеть от капризов природы.
Почему-то кажется, что часовые кварцы намного менее капризные, чем МГц-овые.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 25 2009, 10:59
Сообщение #8


Гуру
******

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



Цитата(MrYuran @ Jun 25 2009, 16:17) *
А в последнее время у регулировщиков видимо матерные слова закончились, и они начали напаивать параллельно ногам SMD-ёмкости на 22-75 пик.
Понятно. У нас кварцев со встроенными конденсаторами никогда не применяли. Видимо поэтому такой "секс" мне незнаком laughing.gif Применяю кварцы в корпусах типа HC-49(S) из диапазона 4...8МГц и по 15 пФ в обвеске.
Цитата(MrYuran @ Jun 25 2009, 16:17) *
А мне хочется жить спокойно и не зависеть от капризов природы.
Почему-то кажется, что часовые кварцы намного менее капризные, чем МГц-овые.
Блажен кто верует rolleyes.gif При использовании часового кварца, на выход XOUT обязательно ставьте резистор 5,1МОм. Хотя в даташите это рекомендуется только при напряжении питания <2,5В, но из опыта сильно помогает со всякими "непонятными" и "китайскими" 32кГц резонаторами и при более высоком напряжении питания. Правда следует помнить, что при этом время старта генератора на нескольких сотен мс увеличивается и применимо только к серии MSP430x1xx. В серии MSP430x2xx этот способ не работает, да и проблем с часовым кварцем почему-то больше. Что-то в TI в пылу борьбы с потреблением часового генератора перемудрили с чувствительностью входа XIN к помехам sad.gif
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jun 25 2009, 13:24
Сообщение #9


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Короче, вот я к чему пришёл.
TB работает в непрерывном режиме, CCR6 выхватывает фронты ACLK/4 и вызывает прерывание.
Там вычитаем защёлкнутое значение TBR из предыдущего, оцениваем.
Рассчитываем масштабную величину типа DCO_Scale (например, DCO в кГц)
Ну и при уплывании от первоначального значения надо переинициировать UART и поменять масштаб таймеров.
Вот сколько гемора из-за экономного снабженца, мать его...
То разъёмы "а-ля РС-ТВ" родом из Китая притаранит, то кварцы хз откуда...

Но всё-таки тешит мысль, что надёжнее DCO вообще ничего нету.
В крайнем случае будет работать немного не на той частоте, но таки будет. А не заткнётся из-за копеечного кварца.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 25 2009, 13:38
Сообщение #10


Гуру
******

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



Цитата(MrYuran @ Jun 25 2009, 19:24) *
Но всё-таки тешит мысль, что надёжнее DCO вообще ничего нету.
В крайнем случае будет работать немного не на той частоте, но таки будет. А не заткнётся из-за копеечного кварца.
"Никогда не говори никогда." sad.gif Почитайте, например, Errata на MSP430F21x2 Rev.A. Баг под номером BCL13. При медленном нарастании напряжения питания у некоторых кристаллов DCO вообще не стартует. Хотя ради справедливости отмечу, что в MSP430F1xx (тех, что имеют встроенный BOR) я с таким не сталкивался, хотя специально эксперименты ставил и принципиально использую только DCO для тактирования MCLK. Да и для MSP430F2xx этот баг постепенно исправляют в новых ревизиях кристаллов.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jun 25 2009, 16:25
Сообщение #11


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(rezident @ Jun 25 2009, 17:38) *
"Никогда не говори никогда." sad.gif

Точно, сегодня один из приборчиков на прогоне странно себя вёл.
При включении ненадолго выдавал ошибку F9, коотрая означает "пробуксовку" основного цикла относительно тактируемого от кварца таймера.
Такое ощущение, что DCO "слетело" на более низкую частоту.
После сброса питания всё восстановилось. Вот, кстати, ещё один плюс калибровки DCO по кварцу: в случае чего они взаимно контролируют друг друга. Вероятность одновременного "слёта" маловероятна


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 02:53
Рейтинг@Mail.ru


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