Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2103 какая максимальная скорость APB и UART
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
zuy
Есть несколько идентичных плат на LPC2103. На всех чипах одинаковая маркировка.
Сделал простую програмку, которая в UART кидает тестовую строку в цикле.
Подключил платы через переходник USB->COM к компу, и в гипертерминале вижу, что на скорости 921600 переодически проскакивает мусор.
Снизил скорость в 2 раза, до 460800.
На одной плате заработало отлично, на двух других мусор остался.
И только при установке делителя APB=CPU/2 везде на скоросте 460800 заработало без сбоев.

Скорости 921600 и 460800 кратны частоте кварца.
Кварц: 14.7456 МГц, Частоту ядра ставлю 58.9824 МГц

В доках я не нашел ограничений ни на максимальную частоту APB ни на скорость UART0,1
Так они все таки есть, и какие?
meister
Цитата(zuy @ May 14 2008, 10:58) *
И только при установке делителя APB=CPU/2 везде на скоросте 460800 заработало без сбоев.


UxFDR правильный ставите?
GetSmart
Ну может USB->COM глючить. А ещё, немногие преобразователи уровня RS232 могут нормально на такой скорости работать. Например MAX232 не может. Осцилоом для начала на сигнал посмотрите.
zltigo
Цитата(zuy @ May 14 2008, 08:58) *
Подключил платы через переходник USB->COM к компу, и в гипертерминале вижу

Целых две причины для ненормальной работы. Особенно "гипертерминал". После чего купите нормальную PCI плату.
Все дальнейшие рассуждения только после вышеперечисленного.
defunct
Цитата(zltigo @ May 14 2008, 11:09) *
Особенно "гипертерминал".

А что с ним не так?
aaarrr
Цитата(defunct @ May 14 2008, 15:47) *
А что с ним не так?

Работает отвратительно, данные теряет. Мерзость, короче говоря.
zuy
Цитата(meister @ May 14 2008, 10:05) *
UxFDR правильный ставите?

Я его вообще не трогаю, FIFO отключен.

Насчет скорости 921600, согласен, что без нормальной PCI платы точно не определить что глючит.
Но как на скорости 460800 один процессор работает при APB=CCLK, а на остальных двух только при APB=CCLK/2 и ниже. В этом же случае переходник и гипертерминал работают одинаково.

По схеме у меня линии UART0 идут сразу на чип преобразователя USB->COM.
meister
Цитата(zuy @ May 14 2008, 18:47) *
Я его вообще не трогаю, FIFO отключен.


UxFDR - это UARTn Fractional Divider Register.
defunct
Цитата(aaarrr @ May 14 2008, 14:53) *
Работает отвратительно, данные теряет. Мерзость, короче говоря.

Я его использую очень часто, т.к. это нативный терминал для винды.
Нареканий не было.
zltigo
Цитата(defunct @ May 14 2008, 17:47) *
Я его использую очень часто..

Мои соболезнования sad.gif - эталон кривизны и неудобства. Лино мне хваило одной попытки приспособить, дабы больше никогда его не использовать. Может на нынешних достаточно мощных машинах он и способен хоть как-то работать, но в общем случае - нет.
zuy
Цитата(meister @ May 14 2008, 18:33) *
UxFDR - это UARTn Fractional Divider Register.


Да, попутался :-)
Но его я тоже не использую, по умолчанию стоит. т.е. 0x00000010
meister
Цитата(zuy @ May 14 2008, 22:02) *
Да, попутался :-)
Но его я тоже не использую, по умолчанию стоит. т.е. 0x00000010


Может, все-таки имеет смысл пользовать? У Вас какая реальная скорость получается? Ровно 460800?
aaarrr
Цитата(defunct @ May 14 2008, 19:47) *
Я его использую очень часто, т.к. это нативный терминал для винды.

Нативный, но сделан сторонним производителем. Для большего, чем просмотр вывода медленной диагностики (и то в пределах экрана - в буфере строки искажаются) не годится.

Цитата(zltigo @ May 14 2008, 19:53) *
Может на нынешних достаточно мощных машинах он и способен хоть как-то работать, но в общем случае - нет.

На Core 2 Quad 2.4GHz работает так же плохо, как и на Celeron 400 sad.gif
zuy
Цитата(meister @ May 14 2008, 21:05) *
Может, все-таки имеет смысл пользовать? У Вас какая реальная скорость получается? Ровно 460800?


Да, ровно 460800. Кварц 14745600, Частота ядра 58982400. Делю на 128 и получаю ровно 460800. Вроде как нет смысла Fractional Divider использовать.
Но попробовать наверно стоит им снизить частоту APB для UART.
InsolentS
Юзаю Docklight и всем советую, очень удобная программа.
asen
Да а частота кварца которая есть в реальности смотрели частотомером ? наверника там откланение не хилое ! Надо помоему точный генератор в таких задачах ставить ! Потом как контролируеться точная отправка байта ? как смотрелись ли регистры сбоя в самом уарте ?
zltigo
Цитата(InsolentS @ May 14 2008, 23:25) *
Юзаю Docklight и всем советую, очень удобная программа.

Только это вообще-то не есть терминал широкого профиля, а вполне себе узкоспециализированная утилита, естественно, "очень удобная", но для очень ограниченного примения. Из Терминалов, как ни странно, при всем богатстве выбора ничего кроме ZOC действительно хорошего и нет sad.gif
Кроме того, (в силу нераспространености и узкоспециализированности) с лекарствами у Docklight плохо.
_dem
Цитата(asen @ May 15 2008, 07:20) *
Да а частота кварца которая есть в реальности смотрели частотомером ? наверника там откланение не хилое ! Надо помоему точный генератор в таких задачах ставить ! Потом как контролируеться точная отправка байта ? как смотрелись ли регистры сбоя в самом уарте ?


Суммарное отклонение частот приемника/передатчика в пределах 3% на полеты не влияет независимо от скорости.
GetSmart
У преобразователя USB-COM кварцы обычно кратны 12 МГц. Так что скорость 921600 могла быть там "округлена" до 1000000, что уже на 8.5% отличается от оригинала.

ЗЫ. Это только предположение. Вобщем нужно сравнить разные процессоры с одним и тем же кварцем. Что же касается UARTа, то никаких ограничений на частоту VPBDIV я не встречал. И в эррате нет ни слова об этом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.