Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USART xmega
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
zombi
Нужен usart на 115.200 при частоте 32MHz.
При CLK2X и BSEL=34 получаю (32.000.000/8/(34+1))~114.285. Отклонение -915 примерно -0,8%.
Можно ли с помощью BSCALE добиться более точного результата?
Ссылки на DS не приветствуются.
_Артём_
Цитата(zombi @ Oct 20 2011, 18:13) *
Нужен usart на 115.200 при частоте 32MHz.
При CLK2X и BSEL=34 получаю (32.000.000/8/(34+1))~114.285. Отклонение -915 примерно -0,8%.
Можно ли с помощью BSCALE добиться более точного результата?
Ссылки на DS не приветствуются.


Например такие настройки:
BSEL=1110, BSCALE=-5.

Скорость без учёта BSCALE:
BR=32000000/8/(1110+1)=3600,(3600)

C учётом BSCALE:
Baudrate_real=BR/(2^BSCALE)=3600,(3600)/(2^(-5))=115211,521
Отклонение +11,5 те <0,01 %

Наверное можно и другие параметры попробывать: например делить на 16 а не на 8 и тд, может ещё и точнее выйдет.

Цитата(zombi @ Oct 20 2011, 18:13) *
Ссылки на DS не приветствуются.


На DS не буду ссылаться, лучше сошлюсь на APN1307, в ней этот вопрос хорошо расписан:
2.1.3 Baud rate selection
Андрей190
Цитата(zombi @ Oct 20 2011, 19:13) *
Нужен usart на 115.200 при частоте 32MHz.
При CLK2X и BSEL=34 получаю (32.000.000/8/(34+1))~114.285. Отклонение -915 примерно -0,8%.
Можно ли с помощью BSCALE добиться более точного результата?
Ссылки на DS не приветствуются.


подставляйте частоту генератора, смотрите что получается
взято из "AVR1307 Using the XMEGA USART"
Нажмите для просмотра прикрепленного файла
zombi
Цитата(_Артём_ @ Oct 20 2011, 23:06) *
Baudrate_real=BR/(2^BSCALE)=3600,(3600)/(2^(-5))=115211,521
Отклонение +11,5 те <0,01 %

Цитата(Андрей190 @ Oct 21 2011, 09:38) *
подставляйте частоту генератора, смотрите что получается

ОГРОМНОЕ СПАСИБО! ГОСПОДА.
Просто красота!

Для 115200 отклонение 0,01% получаю в четырёх случаях:

BSCALE=-5 | CLK2X=1 | BSEL=1079
BSCALE=-6 | CLK2X=1 | BSEL=2158
BSCALE=-6 | CLK2X=0 | BSEL=1047
BSCALE=-7 | CLK2X=0 | BSEL=2094

что лучше выбрать?
ArtemKAD
При прочих равных CLK2X=0 лучше - выше точность определения фронта.
ILYAUL
QUOTE (ArtemKAD @ Oct 22 2011, 14:23) *
При прочих равных CLK2X=0 лучше - выше точность определения фронта.

Какого фронта - стартового? Которого нет?
zombi
Цитата(ILYAUL @ Oct 22 2011, 20:55) *
Какого фронта - стартового?

Думаю что речь именно о спадающем фронте стартового бита.
Цитата(ILYAUL @ Oct 22 2011, 20:55) *
Которого нет?

Что значит нет? почему нет?
ILYAUL
QUOTE (zombi @ Oct 24 2011, 11:09) *
Думаю что речь именно о спадающем фронте стартового бита.

Ну так более правильно. Но Вам то это всё равно должно быть пофиг. У Вас ведь включается мажоритарный метод обнаружения сигнала START
ArtemKAD
Цитата
Но Вам то это всё равно должно быть пофиг. У Вас ведь включается мажоритарный метод обнаружения сигнала START


И я о ней. Мажоритарка 3 из 16 точнее чем мажоритарка 3 из 8...
zombi
Цитата(ArtemKAD @ Nov 4 2011, 23:26) *
И я о ней. Мажоритарка 3 из 16 точнее чем мажоритарка 3 из 8...

beer.gif
ESN
В продолжении темы полезная ссылка:Калькулятор для BSCALE-value,BSCALE-bitmap
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.