Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Silabs C8051F345 не удается затактировать от внешнего генератора( опорника)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
dr.ON
Стоит задача затактировать данный МК от кварцевого опорного генератора( НЕ ОТ КВАРЦА)( выход 0.8V p-p, не CMOS).
Подаю сигнал через развязывающий конденсатор на ногу Р0.6 потом на Р0.7 - НЕ РАБОТАЕТ.
Дальше еще хуже, подавал сигнал с генератора с регулируемой амплитудой( выставлял размах до 3V) НЕ РАБОТАЕТ.

Режимы генератор пробоавл и так External CMOS Clock Mode и так Crystal Oscillator Mode
Режим ног открытый сток, менял аналоговый/цифровой тип входа - НЕ РАБОТАЕТ.

Код инициализации генерил с помощью Родного мастера/конфигуратора.
Потом руками даже писал( разбирался в его регистрах) - НЕ РАБОТАЕТ.

void Oscillator_Init()
{
OSCXCN = 0x27;//0x67;
CLKSEL = 0x51;
OSCICN = 0x00;
}


Кто имел с ними дело помогите пожалуйста. wacko.gif

P.S. на C8051F310 проблем с генератором почти не было( хотя тоже родной код от мастера неработал при отладке, добавляли задержки)
barabek
Цитата(dr.ON @ Nov 7 2008, 21:58) *
Стоит задача затактировать данный МК от кварцевого опорного генератора( НЕ ОТ КВАРЦА)( выход 0.8V p-p, не CMOS).
Подаю сигнал через развязывающий конденсатор на ногу Р0.6 потом на Р0.7 - НЕ РАБОТАЕТ.
Дальше еще хуже, подавал сигнал с генератора с регулируемой амплитудой( выставлял размах до 3V) НЕ РАБОТАЕТ.



void Oscillator_Init()
{
OSCXCN = 0x27;//0x67;
CLKSEL = 0x51;
OSCICN = 0x00;
}


По поводу 0,8В - вообще-то он и не должен работать, только если это не шаманство smile.gif А вот с сигналом от 0-0.8("0") и выше 2 В ("1", а у Вас до 3 В и нога, я так понимаю, P0.7 и без всяких кондеров? ) и с частотой 24МГц (судя по всему Вам нужно 6МГц для USB) работать должно. Правда еще зачем-то требуется "скиптить" этот пин P0.7 по даташиту.
Поэтому встречный вопрос, а что значит НЕ РАБОТАЕТ? Может а Вас банально вотчдог срабатывает smile.gif
dr.ON
Цитата(barabek @ Nov 7 2008, 18:47) *
По поводу 0,8В - вообще-то он и не должен работать, только если это не шаманство smile.gif А вот с сигналом от 0-0.8("0") и выше 2 В ("1", а у Вас до 3 В и нога, я так понимаю, P0.7 и без всяких кондеров? ) и с частотой 24МГц (судя по всему Вам нужно 6МГц для USB) работать должно. Правда еще зачем-то требуется "скиптить" этот пин P0.7 по даташиту.
Поэтому встречный вопрос, а что значит НЕ РАБОТАЕТ? Может а Вас банально вотчдог срабатывает smile.gif

"Шаманство"
Генератор переключался в режим внешнего кварца, и сигнал 0.8В( от пика до пика/полный размах) через развязывающий кондючек подавался на входной пин генератора( там он усиливался )и все работало. Так было сделано на 310х.
А вот с 345м чето так сразу не получилось.

Не работа заключается в "зависании" отладчика после строки "CLKSEL = 0x51;"

P.S. Частота нужна 24.576
P.S.2 Замороченные процы. Еще встречал проблемы с тактированием на МСПэшках430.
repairDV
mov P0SKIP, #0ch ; P0.3 p0.2 - SKIP
;-------------------------------------------
;-----------------------------------------------------
mov OSCXCN, #20h ;extern clock
mov CLKSEL, #01h ;external
mov OSCICN, #00h ;disable internal oscillator
;-------------------------------------------------
Это у F350; рабочий код
barabek
Цитата(dr.ON @ Nov 8 2008, 06:19) *
"Шаманство"
Генератор переключался в режим внешнего кварца, и сигнал 0.8В( от пика до пика/полный размах) через развязывающий кондючек подавался на входной пин генератора( там он усиливался )и все работало. Так было сделано на 310х.

Не пойму, для чего Вам это нужно? Возьмите обыкновенный кварц. Нет такого кварца или хотите съэкономить ножку - возьмите нормальный генератор с выходом, соответствующим требованиям. Ведь "шаманство" не гарантирует стабильной работы, если конечно Вы не делаете поделку для себя, а не для заказчика. По поводу работы от внешнего генератора - попробовал Ваш код на 320. Не сразу заработало! Оказалось дело в щупах от генератора - и форма и напряжение сильно поменялось. В конце концов запустил-таки на 24,576МГц, но на синусоиде (у меня генератор на прямоугольник до 12.5 МГц, а на синусоиду до 25). Советую, проверьте осцилом, действительно ли то что нужно на самой ножке контроллера. А то получится как у меня.
dr.ON
Опорник для точности.
Выход синус 0.8В для снижения наводок( чувствительная аппаратура)

"Рабочий" код:


P0SKIP = 0xC3;

OSCXCN = 0x67;
for (i = 0; i < 3000; i++); // Wait 1ms for initialization
while ((OSCXCN & 0x80) == 0);
CLKSEL = 0x51;

При этом выключать встроенный генератор нельзя( отваливается отладчик).
При таком коде размах сигнала( sin) ~2.5В p-p !!! на входе P1.0
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.