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

 
 
> ATMega8535 + внешний кварц на 16 MHz, Глюки. М.б. неправильно спаял?
hd44780
сообщение Jan 27 2006, 08:51
Сообщение #1


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

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Есть устройство. IDE HDD подключает к COM-порту. Просьба не смеяться, так надо!
Изначально МК ATmega8535 работал на внутреннем генераторе 4 MHz - все было идеально.
Затем понадобилось перевести его на 16 MHz (чтобы поднять частоту USART).
Припаял кварц, кондеры по 27pF, подкорректировал микрокод, перепрошил, изменил fuse-bits.
Получил нестабильную работу. МК заводится, HDD реагирует нормально (вывод - прием от ПК нормальный), но "входящий трафик" (MK->PC) портится - теряет байты, искажает, но не все.
Вернул на внутренний 4 MHz - все нормализовалось.
Скорость UART'а пока не менял - 19200.

Схема спаяна монтажными проводками - проволочка из обмотки трансформатора.
Единственное, что на мой взгляд вызывает сомнения - кварц припаян к МК проволочками длиной ~3 см.
Корпус кварца незаземлен, кондеры припаяны непоср. к ногам кварца, а уже от этих точек - проволочки на МК.
Так получилось исторически (неудачная компоновка деталей на плате).

В чем м.б. дело?

Сообщение отредактировал hd44780 - Jan 27 2006, 08:55


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
hd44780
сообщение Jan 27 2006, 13:15
Сообщение #2


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

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Питание импульсное, от AT-шного БП. От него же и винт питается. На питании есть электролит 1 мкф.
В принципе, могу попытаться включить МК от обычного БП.
Кварца на 14.7456 пока нет. Смогу купить не раньше чем через неделю. Есть на 12.
Кварц на 16 есть еще один, попробую поменять.

А как определить эти "гоночные глюки"?


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 27 2006, 16:55
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(hd44780 @ Jan 27 2006, 15:15) *
Питание импульсное, от AT-шного БП. От него же и винт питается. На питании есть электролит 1 мкф.
В принципе, могу попытаться включить МК от обычного БП.
Кварца на 14.7456 пока нет. Смогу купить не раньше чем через неделю. Есть на 12.
Кварц на 16 есть еще один, попробую поменять.

А как определить эти "гоночные глюки"?


И 12 и 16Mhz будут "глючить". Ставьте хотя бы 11.0592Mhz или любой кратный 115200.
В крайнем случае тактируйте от внешнего RC (нужен всего 1 резистор). (установите CKOPT в 0, что подключит внутренний конденсатор 36pf между XTAL1 и GND, R - цепляйте между XTAL1 и Vcc)
7.3Mhz будет при R=1.02kOm
уменьшая R будет повышаться частота, т.о. можете выставить себе 11.0592Mhz если производительности на 7.3 будет недостаточно.
Go to the top of the page
 
+Quote Post
ksv198
сообщение Jan 28 2006, 10:51
Сообщение #4


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

Группа: Участник
Сообщений: 177
Регистрация: 25-08-05
Из: Ставрополь
Пользователь №: 7 964



Цитата(defunct @ Jan 27 2006, 19:55) *
И 12 и 16Mhz будут "глючить". Ставьте хотя бы 11.0592Mhz или любой кратный 115200.
В крайнем случае тактируйте от внешнего RC (нужен всего 1 резистор). (установите CKOPT в 0, что подключит внутренний конденсатор 36pf между XTAL1 и GND, R - цепляйте между XTAL1 и Vcc)
7.3Mhz будет при R=1.02kOm
уменьшая R будет повышаться частота, т.о. можете выставить себе 11.0592Mhz если производительности на 7.3 будет недостаточно.

Позвольте с вами не согласиться. Согласно стандарта RS232 отклонение в программировании делителя может достигать +/- 10 % (можно легко найти стандарт и прочесть). В данном же случае имеем для 16 МГц и 19200 отклонение всего +0.2 % (согласно даташиту) и это очень хорошая точность. Реально работал по последовательному порту при отклонении 3 % и все было хорошо, при длине передаваемых блоков до 4 кБайт на скорости 57600.
Я думаю проблема может быть или в кварце (16 мегагерцовые иногда встречал очень низкого качества), или в программной реализации - возможно буфер передачи-приема портиться или из него не успевают прочесть.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 28 2006, 20:22
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(ksv198 @ Jan 28 2006, 12:51) *
Позвольте с вами не согласиться. Согласно стандарта RS232 отклонение в программировании делителя может достигать +/- 10 % (можно легко найти стандарт и прочесть). В данном же случае имеем для 16 МГц и 19200 отклонение всего +0.2 % (согласно даташиту) и это очень хорошая точность.


Принимается, мне надо было написать "могут глючить", вместо "будут глючить".

Хорошая точность это 0.0%, и кварцев способных обеспечить данную точность пруд пруди.
Насчет 10% Вы вероятно погорячились, или это для 5-ти битовой посылки с двумя стопами?.
0.2% - допустимое отклонение, но здесь имеет место два отступления.
1. Схема собрана на монтаже, кварц припаян проводками, как следствие - частота неминуемо поплывет.
2. Кто говорит о 19200, что это за скорость такая? смешно ведь HDD на 19200 считывать..


Цитата
Реально работал по последовательному порту при отклонении 3 % и все было хорошо, при длине передаваемых блоков до 4 кБайт на скорости 57600.
Я думаю проблема может быть или в кварце (16 мегагерцовые иногда встречал очень низкого качества), или в программной реализации - возможно буфер передачи-приема портиться или из него не успевают прочесть.


Имею совершенно противоположный опыт, с блоками длиной всего 128 байт, кварц 16Mhz, UART на скорости 115200...
UART сбоит, почти каждый 2-й блок - ошибка CRC, а ведь согласно даташитам от Atmel на ATmegaXX для 115200 на 16Mhz ошибка составляет -3.5% (U2X=0) и соответственно +2.1% (U2X=1). И если верить Вашим словам, то должно быть все ок.

PS: просьба, когда советуете людям работать с тем чем не положено (т.е. заведомо, еще при разработке, закладывать в устройство ошибки, отклонения от стандарта и пр.), приводить ссылки на соотв. стандарты, а лучше всего описание от производителей устройств с которым предполагается работа, где четко сказано, что гарантируется нормальная работа устройства/интерфейса с теми или иными отклонениями в рамках стандарта..
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- hd44780   ATMega8535 + внешний кварц на 16 MHz   Jan 27 2006, 08:51
- - GeorgyBey   Если нет осциллоскопа, что-бы убедиться в качестве...   Jan 27 2006, 09:22
- - haker_fox   2 hd44780: 1. Проверьте, что к точке соединения ко...   Jan 27 2006, 09:43
- - hd44780   2 GeorgyBey Светодиодик есть. Специально для таки...   Jan 27 2006, 10:03
- - hd44780   запрограммировал CKOPT, проверил светодиодиком - н...   Jan 27 2006, 11:33
- - Aleks17   А питание процессора какое и откуда берётся? Гоно...   Jan 27 2006, 11:40
- - defunct   Цитата(hd44780 @ Jan 27 2006, 10:51) Есть...   Jan 27 2006, 11:56
- - GrayCat   Очень часто "странные" проблемы с кварце...   Jan 27 2006, 12:01
|- - haker_fox   Цитата(defunct @ Jan 28 2006, 00:55) Цита...   Jan 28 2006, 02:33
|- - ksv198   Цитата(defunct @ Jan 28 2006, 23:22) Хоро...   Jan 30 2006, 07:50
- - hd44780   Спасибо всем, будем пробовать!   Jan 28 2006, 07:21


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

 


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


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