AndreyS
May 29 2009, 10:12
Добрый день
Ситуация следующая.
Есть две распаянные платы с C8051F410 процом от SiLabs. Распаян на них кварцевый резонатор GSX-333/X 24 МГц в цепи XTAL1 и XTAL2. Установлен резистор 10 МОм параллельно резонатору и в параллель с ножками XTAL1 и XTAL2 стоят емкости по 22 pF.
Процедуру запуска генератора от резонатора делал и по даташиту и с помощью конфигвизарад. Во всех случаях программа зацикливается на ожидании установки бита XTLVLD. Перепробовал различные номиналы емкостей и резисторов. Брал другой резонатор HC-49 (выводной высокий корпус) на 24 МГц. Результат во всех случаях один и тот же. Бит не возводится, прошивка висит. Осциллографом наблюдаю на ноге XTAL2 нормальный синус (ну на сколько хватает разрешающей способности осца) с частотой 24 МГц и размахом 1,75 вольта, при этом размах происходит от 0 (от GND процессора). Т.е. с постоянной составляющей равной 1,75/2. Т.е. получается, генератор запустился, но бит не возводится. Когда я касаюсь корпуса или ножки резонатора, то на XTAL2 поднимается постоянная составляющая и прошивка запускается дальше (т.е. бит установился). Если просто не выждать паузу и не проверять наличие бита XTLVLD, то прошивка так же нормально работает и последующий перевод на частоту от кварца не производит остановки процессора. ЗНАЧИТ, генератор все же нормально работает, но бит то не возводится.
Люди. Подскажите пожалуйста, что можно сделать что бы генератор правильно стартовал (проверялся по всем правилам)??
Ядро питается от внутреннего регулятора. Проверял и на напряжении 2,5 в и на 2,1 в, меняется только размах сигнала, XTLVLD не возводится.
Таких процов у меня (или плат) 2 штуки. Думается мне что это разводка, но быть может??
barabek
May 30 2009, 06:06
Вообще-то там генератор довольно дубовый, ни разу не было проблем. Разводка должна быть ну очень плохая, что-бы он не завелся. Скорее будет сбоить при плохой. Тем-более что у Вас вроде как осциляции наблюдаются. Проверте еще раз инициализацию генератора, перевод портов в аналоговый режим и скип этих выводов.
Igor_K
May 30 2009, 10:58
Два раза уже спотыкался об такое на F314. С переменным успехом игрался с увеличением времени ожидания в процедуре инициализации внешнего генератора, но постепенно убедился, что это чисто аппаратный глюк. Помогает: 1) подключение корпуса кварца к земле, 2) перенос конденсаторов совсем вплотную к выводам кварца, а сами конденсаторы между собой - по кратчайшему пути и к земляной ножке контроллера.
Еще даташит в процедуре инициализации рекомендует перед назначением выводам аналогового типа, подтянуть их к земле, записав в латч "0". А конфиг-визард вроде это дело игнорирует.
Что интересно, 314-е из разных партий вели себя по-разному. Одни запускались с пол-пинка, а потом из другой партии - начались эти проблемы.
Igor_K
May 30 2009, 18:29
Еще одну причину забыл.
Если после промывки под конденсаторами или кварцем хоть чуть-чуть осталась сырость - то же самое, неустойчивый запуск. После дополнительной подсушки феном проблема исчезала.
AndreyS
Jun 1 2009, 07:42
Добрый день всем.
Для barabek: Внутренний генератор у F410 действительно дубовый (на то он и внутренний), а внешний явно хуже, чем у F12x-F13x.
В данный момент вывесили кварц HC-49 на поднятые ножки проца, емкости и резистор, SMD компанентами, распаяны на ногах кварца.
Проц сразу не запустился, прогрели феном и проц запустился.
PS. Посмотрел на свою разводку с процом F120, конечно лучше чем на этом проце. Но там у меня стоит HC-49S и так же есть переходные отверстия, а запускается стабильно и внутренняя частота раскачивается до 96 МГц.
AndreyS
Jun 5 2009, 06:18
БЛИН.
Скачал свежую errata и в ней черным по белому написано. Что для всех чипов ревизий от A до F проблемма с запуском внешнего генератора существует.
Просто видно мне один раз повезло и чип запустился все таки нормально. Но было это один раз. Дальнейшие попытки менять емкости, мыть и прогревать корпуса положительных результатов не дало. И тут в еррате читаю, что проблемма такая существует и она не поправлена. Гады. Надо было сразу еррату читать мне, потерял неделю

Записываем в копилку знаний.
Цитата(AndreyS @ Jun 5 2009, 10:18)

БЛИН.
Скачал свежую errata и в ней черным по белому написано. Что для всех чипов ревизий от A до F проблемма с запуском внешнего генератора существует.
Просто видно мне один раз повезло и чип запустился все таки нормально. Но было это один раз. Дальнейшие попытки менять емкости, мыть и прогревать корпуса положительных результатов не дало. И тут в еррате читаю, что проблемма такая существует и она не поправлена. Гады. Надо было сразу еррату читать мне, потерял неделю

Записываем в копилку знаний.
Забавно... Может и в других сериях такое проявляется, только Силабсы не хотят шума поднимать.. Во всяком случае, 310-я серия сильно похоже себя ведет.
А на серию F700 еррату из 8-ми пунктов сочинили. А я хотел заказывать их на пробу
alex-lesch
Jan 19 2010, 18:24
Здравствуйте!
AndreyS, у меня тоже проблемы с запуском от внешнего кварца на C8051F410. Правда плат у меня побольше - 30 штук. На счёт бита XTLVLD, то в ERRATA написано, что этот бит может и не менять состояния при успешном запуске кварца, т.е. он не может служить индикатором успешности запуска и для проверки работоспособности внешнего кварца и корректности его частоты, типа нужно заряжать таймеры и смотреть вовремя ли они переполняются. Что-то в этом роде. Но у меня вопрос другого свояства. Я не могу запустить кварц внешний вообще, т.е. не генерится частота на нём. Квар 49-й на 24 MHZ. Я грешу на программу инициализации внешнего кварца. Может поделитесь подобным опытом...?
AndreyS
Jan 19 2010, 20:36
Цитата(alex-lesch @ Jan 19 2010, 21:24)

Но у меня вопрос другого свояства. Я не могу запустить кварц внешний вообще, т.е. не генерится частота на нём. Квар 49-й на 24 MHZ. Я грешу на программу инициализации внешнего кварца. Может поделитесь подобным опытом...?
День добрый.
Как вы проверяли что частота на нем не генерится?? Осцом? А входная емкость осца какая? Может вы ее (генерацию) срываете?
Приаттачиваю мой файл инициализации. Частота кварца 24 МГц, время инициализации по счетчикам уже и не помню, по моему около одной секунды.
PS. Блин мне запрещено загружать файлы с расширением .c переименовал его в .txt. Директива DEBUG выключена!
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.