Перейти к содержанию
    

Как посмотреть MCLK у MSP430F449

Народ помогите советом. Мучаю "MSP430F449IPZ rev G" под IAR321 c помощью MSP-FETP430IF v1.4.

стоит 2 кварца: 32768 и 4 MHz, процессор работает от DCO. Включаю второй кварц на 4 MHz, видно как он начинает генерить.

програмирую Р1.1_DIR Р1.4_DIR Р1.5_DIR на вывод и переключаю на алтернативную функцию

Р1.1_SEL Р1.4_SEL Р1.5_SEL. Смотрю осцилографом и вижу тоько ACLK на 82 выводе(Р1.5).

На ножках Р1.4-83(SMCLK) Р1.1-86(MCLK) висят 1. Порты исправны в режиме вывода всё выводится нормально.

Для меня это первый проект на 430 серии поэтому просьба сильно не пинать и по возможности ткнуть носом где чего я не дочитал.

привожу пример кода

 

void init_per(void)

{

asm ("BIC.B #0x20, 0x0054 "); // XT2OFF=0

 

// init_P1

asm ("BIS.B #0x02, 0x0022"); // P1.1_DIR

asm ("BIS.B #0x10, 0x0022"); // P1.4

asm ("BIS.B #0x20, 0x0022"); // P1.5

 

asm ("BIS.B #0x02, 0x0026"); // P1.1_SEL

asm ("BIS.B #0x10, 0x0026"); // P1.4

asm ("BIS.B #0x20, 0x0026"); // P1.5

}

"Заранее спасибо за ответы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Три вопроса.

1. Зачем используете ассемблер в СИшном файле?

2. Почему бы вам не придерживаться обозначений регистров принятых TI. Ведь в комментариях же вы их указываете, а в тексте программы почему-то не используете. Вы думаете что все программисты адреса всех регистров в уме держат? :)

3. Где у вас процедура инициализации источников тактирования? Приведите уж и ее тоже. Если она заключена только в первой строчке данного кода, то она неверная. RTFM.

А ваш пример я бы модифицировал таким способом.

void init_per(void)
{
   asm ("BIC.B #0x20, 0x0054 ");   //   XT2OFF=0

// init_P1
//    asm ("BIS.B #0x02, 0x0022");   //    P1.1_DIR
//    asm ("BIS.B #0x10, 0x0022");   //    P1.4
//    asm ("BIS.B #0x20, 0x0022");   //    P1.5
; вместо трех коммагд одна
 P1DIR |= PIN1+PIN4+PIN5;
//    asm ("BIS.B #0x02, 0x0026");   //    P1.1_SEL
//    asm ("BIS.B #0x10, 0x0026");   //    P1.4
//    asm ("BIS.B #0x20, 0x0026");   //    P1.5
; вместо еще трех комманд одна
 P1SEL |= PIN1+PIN4+PIN5;
}

 

Процедуру инициализации источников тактирования я приводил в другом сообщении. См. тему UART+System Clock

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Большое спасибо за ссылки и примеры, для меня это не только первый проект на MSP430, но и первый проект на Си. Всё что там описано мне ещё предстоит сделать, так что помощь очень кстати. У меня проблема в другом: кристал стартует и работает по умолчанию на DCO, меня это в данный момент пока устраивает, но вывести этот сигнал наружу (на порт Р1.1/MCLK-(86)) и посмотреть я не могу. То же самое с сигналом Р1.4/SMCLK-(83)) :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще раз спрашиваю, как вы инициализируете источники тактирования? User's Manual хорошо прочитали? Хотя бы и по-русски.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Источники тактирования я не инициализирую, они остаются по умолчанию после сброса, тоесть MCLK=DCO. Единственное что я сделал я разрешил генерацию ХТ2 и ХТ1 и попытался вывести наружу MCLK, ACLK, SMCLK. И смог увидеть лишь ACLK. Полная процедура инициализации насколько я понял нужна когда переходиш на тактирование от кварца (нужно его включить, дождаться стабилизации генерации и лишь после этого переключаться на него). У меня всё пока работает от DCO и MCLK тактируется от DCO, но вывести этот сигнал на вывод Р1.1/MCLK-(86) не получилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

какой либо режим спячки используется?

програмку выкладывай целиком (файлик пристёгивай). на замечания "реагируйте положительно", то есть не обижайтесь :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отправил сообщение в пятницу - по видимому прокси сожрал :( повторюсь сегодня. У меня создалось впечатление что это глюк железа:

Посмотрел silicon errata на сайте у TI там последнее обновление от 2004.07 и моей ревизии нет.

Скачал файл с примерами slac019e.zip, откомпилировал файл fet440_fll_02.c - не работает!!!

На всякий случай приведу сведения о своём кристалле MSP430F449IPZ 42DFROT revG.

В присоединённом файле приведено как я это всё делаю, покритикуйте :)

primer.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня тоже когда-то было тако впечатление, тоже с 449м, оказалось, что часовой кварц далеко находился от процессора и сбоил, соответственно FLL работал криво и проц постоянно на dco слетал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сорри за поднятие древней темы, но актуально. Почему на 1611 я не вижу клока SMCLK на выходе P1.4 или P5.5, хотя тактирование перифирии им ведется правильно. MCLK на P5.4 вижу успешно. Спячки нету.

BCSCTL1 = RSEL0 + RSEL1 + RSEL2 + XT2OFF;       
DCOCTL  = DCO0 + DCO1 + DCO2;             //DCO ~= 5MHz 
BCSCTL2 = DIVS_1;

P5SEL и P5DIR тоже иничу как надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему на 1611 я не вижу клока SMCLK на выходе P1.4 или P5.5, хотя тактирование перифирии им ведется правильно.

По правилам русского языка вопросительное предложение должно заканчиваться вопросительным знаком. У вас же одни утверждения ;) А не видя кода можно предположить банальные вещи: а) ошиблись номером пина, б) отпадает контакт в щупе осциллографа, в) очки запотели :rolleyes:

Приведите исходный код, если хотите нормального совета/ответа.

 

Update. Пока писал ответ код вы привели, но неполный. Где инициализация портов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

P5SEL = BIT5;
P5DIR = BIT5;

Вот так порты инициализирую. Вочдог отключен, очки не ношу, с пинами и щупами все ок, MCLK то вижу.

Зато у меня было вопросительное слово "почему" :)

Кстати, кварц на XT2 не пользую. Это ведь не должно играть роли?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Знаете, меня давно уже не увлекает игра в допрос партизана :( Раз вам сложно привести весь код, то мне-то какой резон телепатией заниматься? В приведенных вами пяти строчках криминала нет. А дьявол, как всем известно, кроется в мелочах :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо, весь так весь.

main()
{     
   
    WDTCTL = WDTPW + WDTHOLD;  
    BCSCTL1 = RSEL0 + RSEL1 + RSEL2 + XT2OFF;       
    DCOCTL  = DCO0 + DCO1 + DCO2;             //DCO ~= 5MHz 
    BCSCTL2 = DIVS_1;     
   
    P5SEL = BIT5;
    P5DIR = BIT5;
   
    while(1);
}

 

Проблема глубже судя по всему. Я не могу установить выход в 1 на пинах P5.5/SMCLK, P1.4/SMCLK, P2.0/ACLK, P5.6/ACLK. На любых соседних могу, на тех, которые делят клоки на выход - нет. Потом выяснилось еще больше, клок на выход я все-таки могу подать, но размах меандра... 70 мВ, поэтому я и не видел его с обычной разверткой осциллографа, а как уменьшил стало видно. Частота на выход при этом идет правильная, соответствующая SMCLK. Что это? :cranky:

Скажите пожалуйста, вы пробовали вывести эти сигналы наружу в контроллерах 1 серии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что это? :cranky:
Проблемы со щупом осциллографа или с самим осциллографом. У осциллографа какая полоса? Щуп с делителем или без?

Скажите пожалуйста, вы пробовали вывести эти сигналы наружу в контроллерах 1 серии?
Да, конечно же. И неоднократно. Причем именно на P5.5 выводил. И на кристаллах серии 24xx тоже. Все работает штатно в соответствии с описаниями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблемы со щупом осциллографа или с самим осциллографом. У осциллографа какая полоса? Щуп с делителем или без?

100МГц, MCLK то вижу без проблем на 5МГц. Контакт вроде проверил. Спасибо, посмотрю на другой плате.

 

На другой плате работает. Видимо что-то с контактом в кроватке на платке от ТИ, идущей в комплекте с FET

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...