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

 
 
> 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
ksv198
сообщение Jan 30 2006, 07:50
Сообщение #6


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

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



Цитата(defunct @ Jan 28 2006, 23:22) *
Хорошая точность это 0.0%, и кварцев способных обеспечить данную точность пруд пруди.
Насчет 10% Вы вероятно погорячились, или это для 5-ти битовой посылки с двумя стопами?.
0.2% - допустимое отклонение, но здесь имеет место два отступления.
1. Схема собрана на монтаже, кварц припаян проводками, как следствие - частота неминуемо поплывет.
2. Кто говорит о 19200, что это за скорость такая? смешно ведь HDD на 19200 считывать..

Хорошая точность 0% это мечта smile.gif , даже для специально подобранных кварцев.
Насчет 10 % это не я придумал. Так было в стандарте RS232. На данный момент , каюсь информация устарела, сейчас там прописано следующее:
---------------------------------------------
3 - For Data and Timing signals, the transit time through the transition region should be

a - less than 1ms for bit periods greater than 25ms,

b - 4% of the bit period for bit periods between 25ms and 125µs,

c - less than 5µs for bit periods less than 125µs.
The rise and fall times of data and timing signals ideally should be equal, but in any case vary by no more than a factor of three.
---------------------------------------------
Вот ссылка: RS232 Standart
О скорости 19200 говорит сам автор, в самом начале треда. Кстати скорость совсем не смешная, если надо немного служебной информации прочесть, вполне достаточно.

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

Если только передавать на комп (контроллер передает, комп принимает) - должно smile.gif
А по приему Атмел не рекомендует отклонение больше 2%.
На скорости 115200 проблемы могут быть (и бывают) не только в установки частоты синхронизации, и не только на стороне МК. При использовании 3-х проводной схемы соединения с компом (Rx, Tx, GND) и длине проводов ~50 см уже начинаются проблемы с помехами. Стоит сделать кабель 7-ми проводным и анализировать все сигналы модема, как тут же все становится на места. Однако спорить не буду.
По теме - я хотел всего лишь сказать, что при указанном кварце и скорости - должно все чудесно работать. Если не работает - дело скорее всего не в точности установки частот.

P.S. Если кого обидел - прошу не судить строго и заранее извиняюсь smile.gif
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
- - hd44780   Спасибо всем, будем пробовать!   Jan 28 2006, 07:21


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

 


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


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