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

 
 
> Простейшее ЭХО, Применение прерывания на кристале MSP430F449
Zaber
сообщение Dec 20 2008, 15:59
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 20-12-08
Пользователь №: 42 625



Всем привет
Начал только знакомиться с этим видом процессора, пытаюсь написать первую программу на основе кода с производителя:

//******************************************************************************
// MSP-FET430P440 Demo - USART0, 9600 UART Echo ISR, DCO SMCLK
//
// Description: Echo a received character, RX ISR used. Normal mode is LPM0.
// USART0 RX interrupt triggers TX Echo.
// Baud rate divider with 1048576hz = 1048576Hz/9600 = ~109.23 (06Dh|03h)
// ACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO = 32 x ACLK = 1048576Hz
// //* An external watch crystal between XIN & XOUT is required for ACLK *//
//
// MSP430F449
// -----------------
// /|\| XIN|-
// | | | 32kHz
// --|RST XOUT|-
// | |
// | P2.4|----------->
// | | 9600 - 8N1
// | P2.5|<-----------
//
//
// M. Buccini
// Texas Instruments Inc.
// Feb 2005
// Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.21A
//*****************************************************************************
#include <msp430x44x.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP18PF; // Configure load caps
P2SEL |= 0x30; // P2.4,5 = USART0 TXD/RXD
ME1 |= UTXE0 + URXE0; // Enable USART0 TXD/RXD
UCTL0 |= CHAR; // 8-bit character
UTCTL0 |= SSEL1; // UCLK = SMCLK
UBR00 = 0x6D; // 1MHz 9600
UBR10 = 0x00; // 1MHz 9600
UMCTL0 = 0x03; // modulation
UCTL0 &= ~SWRST; // Initialize USART state machine
IE1 |= URXIE0; // Enable USART0 RX interrupt
P2DIR |= 0x10; // P2.4 output direction

_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt


}


#pragma vector=USART0RX_VECTOR
__interrupt void usart0_rx (void)
{
while (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready?
TXBUF0 = RXBUF0; // RXBUF0 to TXBUF0
}

Пытаюсь общаться через TeraTerm через COM порт частота 2400 ( 9600 вообще не пашет ).
В результате не получаю ни одного реально нажатого символа - идёт только мусор.
В чём загвоздка ?? Как исправить - тыкните носом.

Спасибо БОЛЬШОЕ.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 25)
rezident
сообщение Dec 20 2008, 18:00
Сообщение #2


Гуру
******

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



Нужно начать с чтения User's Guide. Хотя бы те разделы его, которые относятся к тем периферийным модулям, что вы используете.
При просмотре "по диагонали".
1. не сконфигурирован полностью модуль тактирования
2. неправильный порядок инициализации регистров USART
3. а где у вас в main-е "вечный цикл"? Функция main выполняется только один раз.

Используйте для вставки исходника соответствующие тегаи. В редакторе сообщения это кнопочка
Go to the top of the page
 
+Quote Post
Zaber
сообщение Dec 20 2008, 21:41
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 20-12-08
Пользователь №: 42 625



Цитата(rezident @ Dec 20 2008, 21:00) *
Нужно начать с чтения User's Guide. Хотя бы те разделы его, которые относятся к тем периферийным модулям, что вы используете.
При просмотре "по диагонали".
1. не сконфигурирован полностью модуль тактирования
2. неправильный порядок инициализации регистров USART
3. а где у вас в main-е "вечный цикл"? Функция main выполняется только один раз.

Используйте для вставки исходника соответствующие тегаи. В редакторе сообщения это кнопочка

Большое спасибо за ответ
Значит пример программы с сайта разработчика неверен, я правильно понял ?
Я просто взял его как аксиому, что это полностью рабочий вариант
Буду пробовать решать эти проблемы
кстати User Guide (RUS) найден тут
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 20 2008, 21:50
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Zaber @ Dec 21 2008, 00:41) *
Значит пример программы с сайта разработчика неверен, я правильно понял ?

Это значит, что править примеры нужно зная, что делаешь.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 20 2008, 22:07
Сообщение #5


Гуру
******

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



Цитата(Zaber @ Dec 21 2008, 02:41) *
кстати User Guide (RUS) найден тут
Можете скачать копию книги Семейство микроконтроллеров MSP430x4xx: руководство пользователя из библиотеки Компэла и читать ее в офф-лайне.
Go to the top of the page
 
+Quote Post
CAHTA_1939
сообщение Dec 21 2008, 00:25
Сообщение #6


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

Группа: Участник
Сообщений: 142
Регистрация: 11-08-07
Пользователь №: 29 713



Цитата(rezident @ Dec 20 2008, 21:00) *
Нужно начать с чтения User's Guide. Хотя бы те разделы его, которые относятся к тем периферийным модулям, что вы используете.
При просмотре "по диагонали".
1. не сконфигурирован полностью модуль тактирования
2. неправильный порядок инициализации регистров USART
3. а где у вас в main-е "вечный цикл"? Функция main выполняется только один раз.

Используйте для вставки исходника соответствующие тегаи. В редакторе сообщения это кнопочка


по поводу 3его пункта... там вечный цикл не нужен! мк уходит в режим LMP0.
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 21 2008, 02:16
Сообщение #7


Гуру
******

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



Цитата(CAHTA_1939 @ Dec 21 2008, 05:25) *
там вечный цикл не нужен! мк уходит в режим LMP0.
Да, согласен. Я обратил внимание на бит GIE, а LPM0 "проспал". sad.gif Ну дык сразу и сделал оговорку, что "по диагонали" смотрел исходник laughing.gif
Go to the top of the page
 
+Quote Post
CAHTA_1939
сообщение Dec 21 2008, 09:28
Сообщение #8


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

Группа: Участник
Сообщений: 142
Регистрация: 11-08-07
Пользователь №: 29 713



у человека, возможно, ошибка где ни будь в схеме. перепутал tx и rx, хз... какой драйвер поставил...

у меня почти все исходники от ТИ шли нормально. проблема возникла с P8 у 2618. туда вместе с IO выведен вход для XT2. и как получилось, оно по умолчанию действует, так что пришлось через SEL вводить порт в режим IO...
Go to the top of the page
 
+Quote Post
Sergey Reva
сообщение Dec 22 2008, 06:54
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 22-04-07
Из: Poltava/Kharkov
Пользователь №: 27 243



Цитата(Zaber @ Dec 20 2008, 17:59) *
// Baud rate divider with 1048576hz = 1048576Hz/9600 = ~109.23 (06Dh|03h)
// ACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO = 32 x ACLK = 1048576Hz

FLL_CTL0 |= XCAP18PF; // Configure load caps

В результате не получаю ни одного реально нажатого символа - идёт только мусор.


Раз идёт мусор то больше всего что УАРТ и порты настроены правильно. В описании примера видно что весь расчёт сделан на частоту около 1мгц, но в вашем исходнике настройки генератора нету (поидее осталась только одна строчка smile.gif )
Go to the top of the page
 
+Quote Post
Zaber
сообщение Jan 4 2009, 19:53
Сообщение #10





Группа: Новичок
Сообщений: 5
Регистрация: 20-12-08
Пользователь №: 42 625



Добрый вечер
Плата на которой всё это бежит значится как MSP-TS430PZ100 REv 1.2 with M430F449 Rev G
Просидел последние 2 дня всухую и пришёл к выводу
1. У моей платы нет скорее всего нет кварца и поэтому частота которая выставлена в коде неверна
2. Проверил ещё раз все соединения они вроде бы правильные
пытался работать на частоте 9600 с приведенным выше исходником результат таков:
Принимаются только определёные символы , а отражаются всякий мусор
Мысли такие :
Sergey Reva скорее всего прав о том , что не верна частота
Вопрос :
1. Как узнать правильную частоту ? ( формулу расчёта )
2. Как быть увереным что нет кварца на плате ну и следовательно что с этим делать
3. MCLK , SMCLK , DCO = 32 x ACLK = 1048576Hz
что с ними делать ?
4. Как сдвинуться с этой мёртвой точки ? Мануал прочёл ,но даже запустить первую программу пример -мигание лампочек не получилось. В результате код бежит , но лампочки не мигают . А почему ? не хватает знаний.
5. Беспокоют вот эти строки
| XIN|--------
| 32kHz
|RST XOUT|--

я понимаю что тут должен быть кварц ???
где найти эти XIN , XOUT

Постараюсь скоро сделать снимок платы
БОЛЬШОЕ Спасибо



Сообщение отредактировал Zaber - Jan 4 2009, 20:28
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 4 2009, 20:54
Сообщение #11


Гуру
******

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



Цитата(Zaber @ Jan 5 2009, 00:53) *
Плата на которой всё это бежит значится как MSP-TS430PZ100 REv 1.2 with M430F449 Rev G

Схема ее имеется в MSP-FET430 Flash Emulation Tool (FET) (for Use With IAR v3+) User's Guide на странице 58.
Цитата(Zaber @ Jan 5 2009, 00:53) *
1. Как узнать правильную частоту ? ( формулу расчёта )
Частоту чего именно? Какого сигнала? Сигналы ACLK, SMCLK и MCLK, можно вывести наружу, использовав альтернативные функции соответствующих пинов MSP430. Все формулы расписаны в Users's Guide. Читайте его еще раз.
Цитата(Zaber @ Jan 5 2009, 00:53) *
2. Как быть увереным что нет кварца на плате
Посмотреть глазами. Кварцевый осциллятор обычно выглядит так

или так

или так
.
Кстати, на типовой схеме MSP-FET430P440 по ссылке на FET, указанной выше, оба кварца обозначены как not assembled, то бишь "не установлен".
Цитата(Zaber @ Jan 5 2009, 00:53) *
ну и следовательно что с этим делать
Купить и впаять, если вы считаете, что без него (них) никак не обойдетесь. Только не забудьте об паре конденсаторов в обвязке каждого кварца.
Цитата(Zaber @ Jan 5 2009, 00:53) *
3. MCLK , SMCLK , DCO = 32 x ACLK = 1048576Hz
что с ними делать ?
Использовать по вашему усмотрению. Или не использовать, опять же по вашему усмотрению biggrin.gif Хотя без MCLK программа вообще-то выполняться не будет, т.к. от него процессорное ядро тактируется.
Цитата(Zaber @ Jan 5 2009, 00:53) *
я понимаю что тут должен быть кварц ???
где найти эти XIN , XOUT
Как где? 07.gif На самой плате, на выводах ZIF-сокета или непосредственно на кристалле. Цоколевку смотрите на схеме MSP-TS430PZ100 Target Socket Module опять же в документе по самой первой ссылке или в datasheet используемого в нем кристалла MSP430.

Update. Ага. Пока я набивал сообщение, появилась фото. На нем видно, что часовой кварц 32768Гц на модуле все-таки установлен. Тогда см. раздел Chapter 5. FLL+ Clock Module в User's Guide, чтобы понять как правильно нужно инициализировать систему тактирования.
Go to the top of the page
 
+Quote Post
psL
сообщение Jan 4 2009, 21:01
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



А контакт между C1 и C2 и ножками кварца Q1 имеется? Частота на выходе генератора 32768?
Go to the top of the page
 
+Quote Post
korobov_michael
сообщение Jan 4 2009, 21:48
Сообщение #13


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

Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059



Цитата(rezident @ Jan 4 2009, 22:54) *
Только не забудьте об паре конденсаторов в обвязке каждого кварца.


Конденсаторы не нужны. Они являются частью генератора. Их емкость настраивается парой битов XCAPxPF
00 ~1 pF
01 ~6 pF
10 ~8 pF
11 ~10 pF
Так что можно несколько упростить схему

Сообщение отредактировал korobov_michael - Jan 4 2009, 21:49
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 4 2009, 22:24
Сообщение #14


Гуру
******

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



Цитата(korobov_michael @ Jan 5 2009, 02:48) *
Конденсаторы не нужны.
Вы ошибаетесь. Встроенных подключаемых конденсаторов недостаточно для нормальной работы и точной установки частоты генератора при использовании широкораспространенных часовых кварцев с нагрузочной емкостью 12,5пФ. Фрагмент из MSP430 LFXT1 Oscillator Accuracy - slaa225
Go to the top of the page
 
+Quote Post
korobov_michael
сообщение Jan 5 2009, 05:43
Сообщение #15


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

Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059



Цитата(rezident @ Jan 5 2009, 00:24) *
Вы ошибаетесь.

Признаюсь, этот репорт до этого не читал. Но даже в нем говорится скорее о точности системы генерирования, нежели о принципиальной возможности запуска генератора. Причем допуск имеет величины от 0,8ppm до 2,5ppm, что для первого ознакомления с чипом более чем достаточно (а ведь это и требуется автору).
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 5 2009, 16:49
Сообщение #16


Гуру
******

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



Цитата(korobov_michael @ Jan 5 2009, 10:43) *
Но даже в нем говорится скорее о точности системы генерирования, нежели о принципиальной возможности запуска генератора. Причем допуск имеет величины от 0,8ppm до 2,5ppm, что для первого ознакомления с чипом более чем достаточно (а ведь это и требуется автору).
Да, для запуска кварцевого генератора и встроенных конденсаоторов в принципе хватит. Но в MSP430F449 часовой кварц используется в модуле FLL, как опорная частота для модулятора. А если опорная частота имеет отвратную точность, то ознакомится-то конечно можно, но будет ли это работать так, как хотелось бы? - это под большим вопросом.
Go to the top of the page
 
+Quote Post
korobov_michael
сообщение Jan 5 2009, 17:27
Сообщение #17


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

Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059



Развожу руками smile.gif с 449 не работал вообще, в данный момент работаю с 148, 248, их точность вполне устраивает, отсюда и такое далекоидущее утверждение. Большое спасибо за пояснения
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 5 2009, 18:05
Сообщение #18


Гуру
******

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



Цитата(korobov_michael @ Jan 5 2009, 22:27) *
в данный момент работаю с 148, 248, их точность вполне устраивает, отсюда и такое далекоидущее утверждение.
А функцию RTC вы на них видимо еще не реализовывали? wink.gif Иначе гораздо серьезнее относились бы к выбору типа и номинала внешних конденсаторов в обвязке кварцевого генератора. Вы видимо вообще внешние не ставите, уповая на внутренние 12,5пФ? А ведь если бы посчитали по формулам, приведенным в вышеупомянутом документе, то поняли, что при использовании часового кварца с CL=12,5пФ, встроенных в MSP430 конденсаторов 12,5пФ явно недостаточно, И номинал внешних должен составлять почти такую же величину - около 12пФ каждый.
Go to the top of the page
 
+Quote Post
Zaber
сообщение Jan 5 2009, 19:20
Сообщение #19





Группа: Новичок
Сообщений: 5
Регистрация: 20-12-08
Пользователь №: 42 625



Снова Большое спасибо за ответы
Плата которую я привел на фото является основой учебного проекта и её "впринцыпе" паять нельзя
По этому поводу вопрос
1. Можно ли всё таки заставить работать эту платы только изменив программно какие то настройки
к примеру перечитав ещё раз и поняв о настроике FLL+
Спасибо

Сообщение отредактировал Zaber - Jan 5 2009, 19:22
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 5 2009, 19:34
Сообщение #20


Гуру
******

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



И можно и нужно. Иначе теряется смысл обсуждения. Зачем мы тут копья ломаем? laughing.gif
Go to the top of the page
 
+Quote Post
Zaber
сообщение Jan 5 2009, 19:59
Сообщение #21





Группа: Новичок
Сообщений: 5
Регистрация: 20-12-08
Пользователь №: 42 625



Цитата(rezident @ Jan 5 2009, 23:34) *
И можно и нужно. Иначе теряется смысл обсуждения. Зачем мы тут копья ломаем? laughing.gif

Пойду вникать
СПасибо
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 5 2009, 20:14
Сообщение #22


Гуру
******

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



Цитата(Zaber @ Jan 6 2009, 00:59) *
Пойду вникать
Советую вам при модификации кода программы проинициализировать каждый регистр модулей тактирования и UART явными значениями. Читая при этом User's Guide и осознанно формируя каждое из этих значений.
Go to the top of the page
 
+Quote Post
korobov_michael
сообщение Jan 6 2009, 07:53
Сообщение #23


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

Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059



Цитата(rezident @ Jan 5 2009, 22:14) *
Советую вам при модификации кода программы проинициализировать каждый регистр модулей тактирования и UART явными значениями. Читая при этом User's Guide и осознанно формируя каждое из этих значений.

У меня в электронном виде есть книга "Embedded Systems Design using the TI MSP430 Series by Chris Nagy" Я хотел бы ее выложить. Куда кидать вопрос не знаю. Подскажете? pdf-ник весит около 12МБ.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 6 2009, 14:50
Сообщение #24


Гуру
******

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



Цитата(korobov_michael @ Jan 6 2009, 12:53) *
У меня в электронном виде есть книга "Embedded Systems Design using the TI MSP430 Series by Chris Nagy" Я хотел бы ее выложить. Куда кидать вопрос не знаю. Подскажете? pdf-ник весит около 12МБ.
У меня тоже она есть. Года три уже как. И на фтп есть. И наГуглить ее можно. Для кого выкладывать-то ее вы собрались?
Go to the top of the page
 
+Quote Post
korobov_michael
сообщение Jan 6 2009, 15:32
Сообщение #25


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

Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059



Цитата(rezident @ Jan 6 2009, 16:50) *
У меня тоже она есть. Года три уже как. И на фтп есть. И наГуглить ее можно. Для кого выкладывать-то ее вы собрались?

на фтп я не могу зайти, ибо не свой, по поводу гуглить - надо знать что гуглить. ко мне эта книга попала абсолютно случайно, но именно из нее я понял, что low-power - это иная парадигма проектирования. Ну и подумал, а вдруг еще кто-то про нее не знает smile.gif где-то так
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 6 2009, 15:41
Сообщение #26


Гуру
******

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



Цитата(korobov_michael @ Jan 6 2009, 20:32) *
Ну и подумал, а вдруг еще кто-то про нее не знает smile.gif где-то так
Вы просто сами не очень внимательны и видимо принципиально не читаете "привешенные" темы wink.gif
http://electronix.ru/forum/index.php?s=&am...st&p=179491
Go to the top of the page
 
+Quote Post

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

 


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


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