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

 
 
> Так все таки нужен ВЧ кварц для правильной работы UART ?
muller11
сообщение Oct 27 2009, 07:11
Сообщение #1





Группа: Участник
Сообщений: 3
Регистрация: 7-10-08
Пользователь №: 40 742



Уважаемый All,
Столкнулся с тем, что с часовым кварцем неточно работает UART. Процессор MSP430F2232.
UART работает на скорости 115200, но довольно много мусора.
На других скоростях мусора еще больше.
Пробовал DCO настраивать на 1 МГц и на 8 МГц, одна и та же картина.

Код
  WDTCTL = WDTPW + WDTHOLD;
   BCSCTL3 |=XCAP_2;

  BCSCTL1= CALBC1_8MHZ;  // =0x88;                 // Set DCO
  DCOCTL = CALDCO_8MHZ;

//-----------------UART init --------------------

  UCA0CTL0 |= UCPEN;    
  UCA0CTL0 |= UCPAR;        
  
  UCA0CTL0 |= UCMODE_3;

  UCA0CTL1 |= UCSSEL_2;                     // SMCLK
                                        
  UCA0BR0 = 4;                         // 8MHz 115200
  UCA0MCTL = 59;                         // 8MHz 115200
  
UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt
IE2 |= UCA0TXIE;

//-------------------------------------------------------------------------

Посему вопрос нужно ли все-таки впаивать вместо часового кварц на 8 Мгц для того,
чтобы UART работал на всех скоростях ?
Кто-нибудь использовал это в серийных изделиях ?
Есть ли подводные камни ?
Я в одной плате впаял кварц на 8 МГц, так она прошиваться перестала.
Прошиваю MSP-FET430UIF
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
V_G
сообщение Oct 27 2009, 07:42
Сообщение #2


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

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Класс!
Если под часовым кварцем имеется в виду 32 кГц, то как он может обеспечить работу на 115 кБод?
Я не знаю вашего проца, но по ходу это очень крутая штука! Там умножение, что ли, как в Пентиумах?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 27 2009, 08:06
Сообщение #3


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

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



Можно и с часовым, но тактировать UART нужно от DCO, предварительно откалибровав его по часовому кварцу.
У TI аппликуха есть на этот счёт. (на счёт калибровки DCO)
Либо - термостабилизировать DCO (с внешним термостабильным резистором уход частоты порядка 1%, что допустимо для UART-а), тогда можно обойтись без кварца вообще.

Первый способ я лично испытал - работает. Второй - не пробовал, но есть вероятность. Кварцы день ото дня всё новые фокусы выдают laughing.gif

Всё вышенаписанное справедливо для серии 1xx, для второй - возможно, есть навороты.
Например:
Цитата
Basic Clock Module Configurations:

* Internal Frequencies up to 16 MHz With
Four Calibrated Frequencies to ±1%
* Internal Very-Low-Power Low-Frequency Oscillator
* 32-kHz Crystal
* High-Frequency Crystal up to 16 MHz
* Resonator
* External Digital Clock Source
* External Resistor

К сожалению, тесно со второй серией не работал


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Slash
сообщение Oct 27 2009, 08:33
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 10-04-05
Из: Санкт-Петербург
Пользователь №: 4 011



Судя по таблице 15-4 на странице 15-22 документа msp430x2xx Family User Guide, на частоте 8МГц и скорости 115200, ошибка приема\передачи будет не больше 2%. Должно работать.

Попробуйте поставить значения Baud Rate Control Register, как я оставил ниже.

Цитата(muller11 @ Oct 27 2009, 11:11) *
Код
  

  BCSCTL1= CALBC1_8MHZ;  // =0x88;                 // Set DCO
  DCOCTL = CALDCO_8MHZ;

//-----------------UART init --------------------

                                    
  UCA0BR0   = 0x45;                         // 8MHz 115200
  UCA0BR1   = 0x00;
  UCA0MCTL = 0x00;                         // 8MHz 115200
  
//-------------------------------------------------------------------------


ЗЫ Мало работал со второй серией, уарт настроил по аналогии с первой.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 27 2009, 08:38
Сообщение #5


Гуру
******

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



Цитата(V_G @ Oct 27 2009, 10:42) *
Там умножение, что ли, как в Пентиумах?

Не бывает контроллеров кроме AVR? Оглянитесь кругом - PLL давно уже повседневная реальность в массовых контроллерах за несколько баксов, а не у "Пентиумов".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 27 2009, 20:20
Сообщение #6


Гуру
******

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



Цитата(Slash @ Oct 27 2009, 13:33) *
ЗЫ Мало работал со второй серией, уарт настроил по аналогии с первой.
В модуле USCI по сравнению с USART есть существенные отличия. Например бит управления разрядностью символа (7 бит/8 бит) проинвертирован. Регистр модуляции по-другому устроен. В общем рекомендую найти и почитать Migration Guide, где описаны различия.
Go to the top of the page
 
+Quote Post
muller11
сообщение Oct 28 2009, 14:27
Сообщение #7





Группа: Участник
Сообщений: 3
Регистрация: 7-10-08
Пользователь №: 40 742



Всем спасибо за участие !
Разобрался сам.
Впаял кварц 8 МГц, нормально работает на MSP430F4250 и MSP430F2232.
UART работает четко на всех скоростях, мусора нет совсем.
Вывод такой: если собираетесь использовать UART лучше ставить
кварц на 1-16 МГц вместо 32768.
Всем удачи
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Oct 28 2009, 15:17
Сообщение #8


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(muller11 @ Oct 28 2009, 17:27) *
Всем спасибо за участие !
Вывод такой: если собираетесь использовать UART лучше ставить
кварц на 1-16 МГц вместо 32768.
Всем удачи

не связанные вещи.

Цитата(zltigo @ Oct 27 2009, 11:38) *
Оглянитесь кругом - PLL давно уже повседневная реальность в массовых контроллерах за несколько баксов, а не у "Пентиумов".

Но у МСП нету smile.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 28 2009, 18:04
Сообщение #9


Гуру
******

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



Цитата(jorikdima @ Oct 28 2009, 20:17) *
Но у МСП нету smile.gif
В сериях MSP430x3xx, MSP430F4xx, MSP430F5xx есть модуль FLL.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 29 2009, 06:22
Сообщение #10


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

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



Цитата(muller11 @ Oct 28 2009, 18:27) *
Вывод такой: если собираетесь использовать UART лучше ставить
кварц на 1-16 МГц вместо 32768.

Если вы уверены в качестве поставляемых кварцев и нет особых требований к энергопотреблению, то может быть и лучше.


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


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

Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371



Цитата(muller11 @ Oct 28 2009, 18:27) *
Вывод такой: если собираетесь использовать UART лучше ставить
кварц на 1-16 МГц вместо 32768.


Я в девайсе на msp430f247 тактировал UART от DCO, а частоту DCO периодически калибровал по часовому кварцу, никаких проблем со связью не было.
Но если у вас нет жестких требований по потреблению, точности измерения длительных временных интервалов и стоимости вашего изделия, то возможно вы правы.
Go to the top of the page
 
+Quote Post
Shread
сообщение Nov 9 2009, 07:34
Сообщение #12


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



Цитата(muller11 @ Oct 28 2009, 17:27) *
Вывод такой: если собираетесь использовать UART лучше ставить
кварц на 1-16 МГц вместо 32768.

Чет вы явно не так делаете.
В нескольких изделиях использую калиброваный по часовому кварцу DCO, номиналом 15667200Hz, обеспечивает ОТЛИЧНУЮ работу UART на скорости 921600бод, на процессоре MSP430F2370.
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
SanvaldYV
сообщение Nov 9 2009, 10:17
Сообщение #13


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

Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371



Цитата(Shread @ Nov 9 2009, 10:34) *
Чет вы явно не так делаете.
В нескольких изделиях использую калиброваный по часовому кварцу DCO, номиналом 15667200Hz, обеспечивает ОТЛИЧНУЮ работу UART на скорости 921600бод, на процессоре MSP430F2370.


Никто и не сомневается, что UART можно тактировать от периодически калибруемого DCO, и все будет отлично работать. Вопрос в другом - если есть возможность поставить ВЧ-кварц вместо 32768, то почему бы не поставить?
Go to the top of the page
 
+Quote Post
Shread
сообщение Nov 10 2009, 09:49
Сообщение #14


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



Цитата(Юрий Санвальд @ Nov 9 2009, 13:17) *
Никто и не сомневается, что UART можно тактировать от периодически калибруемого DCO, и все будет отлично работать. Вопрос в другом - если есть возможность поставить ВЧ-кварц вместо 32768, то почему бы не поставить?

у меня в изделии три разных тактовых частоты и девайс автономный. Спрашивается, зачем мне нужен какой-то один дорогой точный высокочастотник в неудобном корпусе, когда я могу поставить типовой часовой габаритами 3,5*1,2мм ?
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Nov 10 2009, 10:25
Сообщение #15


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(Юрий Санвальд @ Nov 9 2009, 13:17) *
Никто и не сомневается, что UART можно тактировать от периодически калибруемого DCO, и все будет отлично работать. Вопрос в другом - если есть возможность поставить ВЧ-кварц вместо 32768, то почему бы не поставить?

потому что вместо не всегда можно, вместе (XT2) можно, но зачем, если можно часовым обойтись smile.gif
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 - 14:13
Рейтинг@Mail.ru


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