Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
14.01.2009, 08:43
|
#11
|
Частый гость
Регистрация: 03.10.2007
Сообщений: 17
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
TMS...
PIN11 , PIN 12 =4MHz
НЕ забавно
......
SORRY ... pin10,11 = 4MHz
|
|
|
|
14.01.2009, 09:19
|
#12
|
Частый гость
Регистрация: 04.04.2008
Сообщений: 37
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
usart
Сообщение от Kombinator
|
TMS...
PIN11 , PIN 12 =4MHz
НЕ забавно
......
SORRY ... pin10,11 = 4MHz
|
Почему 9600?
см даташит стр 2. 15625
И вообще причем тут TMS. Это дело частное. Гланое нет обмена МК с ПК на 15625!
Прикрепленный файл: 1754380.rar
|
|
|
|
14.01.2009, 10:06
|
#13
|
Частый гость
Регистрация: 03.10.2007
Сообщений: 17
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
For a 4 MHz
resonator the F_SEL input must be put to VDD level.
Дал схемку ... не увидел?
Я знаю, что ета работает
9600....
TMS3705 PIN(10), PIN(11) -Керамик. osc=4MHz
F_SEL PIN(15) -›+5V;
|
|
|
|
14.01.2009, 10:29
|
#14
|
Частый гость
Регистрация: 04.04.2008
Сообщений: 37
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
usart
Сообщение от Kombinator
|
For a 4 MHz
resonator the F_SEL input must be put to VDD level.
Дал схемку ... не увидел?
Я знаю, что ета работает
9600....
TMS3705 PIN(10), PIN(11) -Керамик. osc=4MHz
F_SEL PIN(15) -›+5V;
|
В архиве предыдущего поста указана скорость 15625
В архиве приатаченом в этом посте есть схема. стр 19
|
|
|
|
14.01.2009, 11:21
|
#15
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,353
Сказал спасибо: 85
Сказали Спасибо 610 раз(а) в 369 сообщении(ях)
|
Re: USART
Сообщение от tvilsa
|
Сообщение от pambaru
|
Попробуйте для проверки связки меги+комп выбрать скорость, ближайшую к 16457.
Кстати, насколько точно выставлено 15625 в вашем ридере - 0%?
|
Проблем со скростью 15625 в компе точно нет.
Я же написал в вопросе что НОРМАЛЬНО подключил ридер к компу на 15625. Работает без проблем.
15625 выставлено в ридере точно т.к. установлен кварц на 4Мгц согласно требованиям даташита на ридер.
|
Ну а попробовать в компе и в атмеге выставить 16457 (ну в атмеге с погрешностью конечно получится) все же можно, это ведь недолго? Возможно, что 15625 в ридере и в атмеге на доли процента отличаются ( а вкомпе и так погрешность 5.5% на такой частоте) вот и не работает.
Кстати, а осциллом смотрели, проблема где:
атмега не читает с компа или ком не читает с атмеги?
Т.к. скорости ПК и меги не совпадают точно, думаю полезно будет добавить в ПК стоп бит (т.е. сделать 2 стоп бита), а в меге сделать ucsz на 9 бит и установить TXB8=1 (я в принципе всегда так ставлю для надежности распознавания начала и конца байтов).
Если и так не заработает, я бы посмотрел сигнал запоминающим осциллом с компа на мегу и обратно (вывел бы в порт 0x55 для простоты измерения сигналов) и посмотрел реальную скорость.
|
|
|
|
14.01.2009, 11:50
|
#16
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,353
Сказал спасибо: 85
Сказали Спасибо 610 раз(а) в 369 сообщении(ях)
|
Re: usart
Топикстартер утверждает, что к компорту компа нет претензий.
Возникли сомнения, не поленился, потратил полчаса на эксперименты.
Операционка WinXP SP2. Мать интеловская, не помню какая.
Результаты (выход порта смотрю цифровым осциллом):
1. Установка стандартной скорости 14400 - на выходе 14400.
2. Установка скорости 14405 - на выходе 115200.
3. Установка скорости 15625 - на выходе 115200.
4. Установка скорости 16457 - на выходе 16457.
5. Установка скорости 16458 - на выходе 115200.
6. Установка скорости 16300 - на выходе 16457.
7. Установка скорости 16290 - на выходе 115200.
Вывод - на моей матери под XP SP2 для получения скорости ближайшей к 15625 нужно ставить 16300 - 16457, разницы нет.
P.S. В случаях, когда на выходе устанавливалось 115200
функция SetCommConfig выдает false.
|
|
|
|
14.01.2009, 11:59
|
#17
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,353
Сказал спасибо: 85
Сказали Спасибо 610 раз(а) в 369 сообщении(ях)
|
Re: usart
PPS. В догонку к предыдущему посту - Win98 при выборе нестандартных скоростей брала ближайшее значение из ряда F=(115200 / N).
|
|
|
|
14.01.2009, 13:01
|
#18
|
Частый гость
Регистрация: 04.04.2008
Сообщений: 37
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: USART
Сообщение от pambaru
|
Ну а попробовать в компе и в атмеге выставить 16457.
Кстати, а осциллом смотрели, проблема где:
атмега не читает с компа или ком не читает с атмеги?
Т.к. скорости ПК и меги не совпадают точно, думаю полезно будет добавить в ПК стоп бит (т.е. сделать 2 стоп бита), а в меге сделать ucsz на 9 бит и установить TXB8=1 (я в принципе всегда так ставлю для надежности распознавания начала и конца байтов).
Если и так не заработает, я бы посмотрел сигнал запоминающим осциллом с компа на мегу и обратно (вывел бы в порт 0x55 для простоты измерения сигналов) и посмотрел реальную скорость.
|
Попробывал 16457 естественно не работает. Погрешность со стороны mega 1,3%.
Добавление второго стопа также не помогло.
Запоминающего осцила нет.
|
|
|
|
14.01.2009, 14:09
|
#19
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Re: USART
Сообщение от tvilsa
|
Спасибо за совет жаль не втему. Я же написал что ставил кварц. И более того реально может мне так везет но использую кварц в меге очень редко т.к. несколько конструкции использующих USART нормально работают БЕЗ кварца в температурных диапазонах от 0 до +25 без ошибок. Надо просто выбирать скорости обеспечивающие минимальные ошибки.
|
Дело хозяйское. Сейчас повезло. А потом наступит лето и ваш девайс работать перестанет. Хотя для "конструкции выходного дня" такой вариант, возможно, и подойдет.
Если же хотите иметь надежное устройство - лучше потратить пять копеек на кварц и пять минут на его подключение. Поиски непонятных ошибок потом обойдутся дороже.
|
|
|
|
14.01.2009, 15:51
|
#20
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,353
Сказал спасибо: 85
Сказали Спасибо 610 раз(а) в 369 сообщении(ях)
|
Re: USART
Сообщение от tvilsa
|
Попробывал 16457 естественно не работает. Погрешность со стороны mega 1,3%.
Добавление второго стопа также не помогло.
|
Провел еще эксперимент
Чтоб уж расставить точки.
Есть работающий девайс на ATMega32, кварц 14.7456 и прога к нему, общаются через COM. Кварц нафиг, впаиваю 16 МГц (на 8 не нашел). Чтобы погрешности совпадали с 8МГц, бит U2X не ставим (что эквивалентно установленному биту с кварцем 8МГц).
USART у меги 32 и 8 одинаковы, глянул по регистрам.
Итак инициализируем:
UCSRA=0;
UCSRB=0b10011001;
UCSRC=0x8E;
На компе выставил скорость 16457.
А далее эксперимент:
1. сначала UBRR=60 (т.е. BAUD=16393, погрешность от компа 16457 0.5%) - связь есть (в две стороны).
2. UBRR=61 (BAUD=16129, погр.=2.1%) - связь есть (в две стороны).
3. UBRR=62 (BAUD=15873, погр.=3.65%) - связь есть (в две стороны).
4. UBRR=63 (BAUD=15625, погр.=5.16%) - связи нет!!!
Со скоростью 14400 (другой на компе нет между 16457 и 14400) будет еще хуже, это отличие от 15625 на 8.5%.
Так что вот так. Уж не знаю, что тут еще выяснять.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Проблема с USART AVR mega169
|
Archer07 |
Микроконтроллеры, АЦП, память и т.д |
20 |
28.07.2009 15:02 |
Проблема с прерыванием от АЦП, Atmega8
|
R-a-v-e-n |
Микроконтроллеры, АЦП, память и т.д |
11 |
24.06.2009 14:12 |
ЖКИ МТ-12864 + ATmega8: проблема
|
123max12345 |
Микроконтроллеры, АЦП, память и т.д |
0 |
01.10.2007 11:56 |
Проблема с USART в ATTiny2313
|
Фокс |
Микроконтроллеры, АЦП, память и т.д |
4 |
09.04.2005 20:02 |
USART
|
DK |
Микроконтроллеры, АЦП, память и т.д |
1 |
03.09.2003 19:49 |
Часовой пояс GMT +4, время: 15:54.
|
|