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

 
 
> LPC2148 UART, Расчет параметров для установки baudrate
Bosicc
сообщение Feb 16 2007, 03:37
Сообщение #1


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

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Вот глянул доку на LPC2148 и захотел правильно считать значение для загрузки в регистры U0DL, DIVADDVAL, MULVAL.
В деке есть формула и пример расчета коэффициентов для частоты 20MHz, а я хочу посчитать для 12 MHz.
Если считать по упроещеной формуле, без поправочных коэффициентов DIVADDVAL, MULVAL, то получается не совсем то значение baudrate. А вот из каких соображений выбираются поправочные коэффициенты я так и не понял.
Может кто сталкивался, направьте на путь истинный. Или приведите свои значение загружаемые в соответствующие регистры, для установки скорости передачи.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Bosicc
сообщение Feb 16 2007, 10:26
Сообщение #2


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

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Попробую пояснить еще раз ситуацию.

Если посчитать по формуле из доки

Baudrate = ( PCLK / ( 16 * U0DL) ) * ( MulVal / ( MulVal + DivVal ) ) ;

PCLK = 12 000 000
U0DL = 39 (0x27)
По умолчанию MulVal = 1 и DivVal = 0 Следовательно по формуле Baudrate = 19230,77 Вместо желаемого 19200

Что б получить число максимально приближенное к желаемому, советуют использовать коэффициенты MulVal и DivVal

Если считать по упрощенной формуле

Baudrate = ( PCLK / ( 16 * U0DL) )

То для того что б получить 115200 на частоте 12MHz в регистр U0DL нужно загрузить значение 0x06

при этом получим Baudrate = 125000 вместо желаемого 115200 . Ошибка передачи будет 2-3%

Так как быть с такой задачей.
Go to the top of the page
 
+Quote Post



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

 


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


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