|
Простейшее ЭХО, Применение прерывания на кристале MSP430F449 |
|
|
|
Dec 20 2008, 15:59
|
Группа: Новичок
Сообщений: 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 вообще не пашет ). В результате не получаю ни одного реально нажатого символа - идёт только мусор. В чём загвоздка ?? Как исправить - тыкните носом.
Спасибо БОЛЬШОЕ.
|
|
|
|
|
 |
Ответов
|
Jan 4 2009, 19:53
|
Группа: Новичок
Сообщений: 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
|
|
|
|
|
Jan 4 2009, 20:54
|
Гуру
     
Группа: Свой
Сообщений: 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 что с ними делать ? Использовать по вашему усмотрению. Или не использовать, опять же по вашему усмотрению  Хотя без MCLK программа вообще-то выполняться не будет, т.к. от него процессорное ядро тактируется. Цитата(Zaber @ Jan 5 2009, 00:53)  я понимаю что тут должен быть кварц ??? где найти эти XIN , XOUT Как где?  На самой плате, на выводах ZIF-сокета или непосредственно на кристалле. Цоколевку смотрите на схеме MSP-TS430PZ100 Target Socket Module опять же в документе по самой первой ссылке или в datasheet используемого в нем кристалла MSP430. Update. Ага. Пока я набивал сообщение, появилась фото. На нем видно, что часовой кварц 32768Гц на модуле все-таки установлен. Тогда см. раздел Chapter 5. FLL+ Clock Module в User's Guide, чтобы понять как правильно нужно инициализировать систему тактирования.
|
|
|
|
|
Jan 4 2009, 21:48
|
Частый гость
 
Группа: Свой
Сообщений: 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
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 5 2009, 05:43
|
Частый гость
 
Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059

|
Цитата(rezident @ Jan 5 2009, 00:24)  Вы ошибаетесь. Признаюсь, этот репорт до этого не читал. Но даже в нем говорится скорее о точности системы генерирования, нежели о принципиальной возможности запуска генератора. Причем допуск имеет величины от 0,8ppm до 2,5ppm, что для первого ознакомления с чипом более чем достаточно (а ведь это и требуется автору).
|
|
|
|
|
Jan 5 2009, 16:49
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(korobov_michael @ Jan 5 2009, 10:43)  Но даже в нем говорится скорее о точности системы генерирования, нежели о принципиальной возможности запуска генератора. Причем допуск имеет величины от 0,8ppm до 2,5ppm, что для первого ознакомления с чипом более чем достаточно (а ведь это и требуется автору). Да, для запуска кварцевого генератора и встроенных конденсаоторов в принципе хватит. Но в MSP430F449 часовой кварц используется в модуле FLL, как опорная частота для модулятора. А если опорная частота имеет отвратную точность, то ознакомится-то конечно можно, но будет ли это работать так, как хотелось бы? - это под большим вопросом.
|
|
|
|
|
Jan 5 2009, 18:05
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(korobov_michael @ Jan 5 2009, 22:27)  в данный момент работаю с 148, 248, их точность вполне устраивает, отсюда и такое далекоидущее утверждение. А функцию RTC вы на них видимо еще не реализовывали?  Иначе гораздо серьезнее относились бы к выбору типа и номинала внешних конденсаторов в обвязке кварцевого генератора. Вы видимо вообще внешние не ставите, уповая на внутренние 12,5пФ? А ведь если бы посчитали по формулам, приведенным в вышеупомянутом документе, то поняли, что при использовании часового кварца с CL=12,5пФ, встроенных в MSP430 конденсаторов 12,5пФ явно недостаточно, И номинал внешних должен составлять почти такую же величину - около 12пФ каждый.
|
|
|
|
|
Jan 5 2009, 19:20
|
Группа: Новичок
Сообщений: 5
Регистрация: 20-12-08
Пользователь №: 42 625

|
Снова Большое спасибо за ответы Плата которую я привел на фото является основой учебного проекта и её "впринцыпе" паять нельзя По этому поводу вопрос 1. Можно ли всё таки заставить работать эту платы только изменив программно какие то настройки к примеру перечитав ещё раз и поняв о настроике FLL+ Спасибо
Сообщение отредактировал Zaber - Jan 5 2009, 19:22
|
|
|
|
Сообщений в этой теме
Zaber Простейшее ЭХО Dec 20 2008, 15:59 rezident Нужно начать с чтения User's Guide. Хотя бы те... Dec 20 2008, 18:00 Zaber Цитата(rezident @ Dec 20 2008, 21:00) Нуж... Dec 20 2008, 21:41  zltigo Цитата(Zaber @ Dec 21 2008, 00:41) Значит... Dec 20 2008, 21:50  rezident Цитата(Zaber @ Dec 21 2008, 02:41) кстати... Dec 20 2008, 22:07 CAHTA_1939 Цитата(rezident @ Dec 20 2008, 21:00) Нуж... Dec 21 2008, 00:25  rezident Цитата(CAHTA_1939 @ Dec 21 2008, 05:25) т... Dec 21 2008, 02:16 CAHTA_1939 у человека, возможно, ошибка где ни будь в схеме. ... Dec 21 2008, 09:28 Sergey Reva Цитата(Zaber @ Dec 20 2008, 17:59) // Ba... Dec 22 2008, 06:54 psL А контакт между C1 и C2 и ножками кварца Q1 имеетс... Jan 4 2009, 21:01 rezident И можно и нужно. Иначе теряется смысл обсуждения. ... Jan 5 2009, 19:34 Zaber Цитата(rezident @ Jan 5 2009, 23:34) И мо... Jan 5 2009, 19:59  rezident Цитата(Zaber @ Jan 6 2009, 00:59) Пойду в... Jan 5 2009, 20:14   korobov_michael Цитата(rezident @ Jan 5 2009, 22:14) Сове... Jan 6 2009, 07:53    rezident Цитата(korobov_michael @ Jan 6 2009, 12:5... Jan 6 2009, 14:50     korobov_michael Цитата(rezident @ Jan 6 2009, 16:50) У ме... Jan 6 2009, 15:32      rezident Цитата(korobov_michael @ Jan 6 2009, 20:3... Jan 6 2009, 15:41
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|