Деление частоты внутреннего генератора
Деление частоты внутреннего генератора
У м/к 12f629 нужно на любом выходе поочерёдно иметь частоты кратные 4 Мгц. Можно ли программно это сделать делением частоты внутреннего генератора и как?
Спасибо
Спасибо
- Реклама
Re: Деление частоты внутреннего генератора
Можно... Но "в разумных пределах"...
Любым из понятных программисту способом.

Любым из понятных программисту способом.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Деление частоты внутреннего генератора
Согласно даташиту этот мк может тактироваться до 20МГц. С учетом хитрой его организации частота составит 20/4=5Мгц. По заданию нужно формировать частоты, кратные 4МГц. Итого получаем первую частоту 4МГц, вторую надо бы 8МГц. И как?
Docendo discimus
-
Vadim_vv
- Потрогал лапой паяльник
- Сообщения: 386
- Зарегистрирован: Чт мар 11, 2010 16:16:19
- Откуда: Смоленская обл. Десногорск
- Контактная информация:
Re: Деление частоты внутреннего генератора
А слабо этот МК тактировать 16МГц?
- Pavel_1978
- Опытный кот
- Сообщения: 830
- Зарегистрирован: Пт ноя 16, 2007 11:21:37
Re: Деление частоты внутреннего генератора
А разница то какая??? PLL в нем нету, работает или от внутреннего RC или внешнего генератора именно на частоте генератора.
16/4 = 4МГц максимальная частота дрыганья ногой, причем одной и МК больще ни чем заниматься не будет.
"Кратная 4МГц" - это 4, 8,12, 16 и т.д
16/4 = 4МГц максимальная частота дрыганья ногой, причем одной и МК больще ни чем заниматься не будет.
"Кратная 4МГц" - это 4, 8,12, 16 и т.д
- Реклама
Re: Деление частоты внутреннего генератора
А можете привести кусок кода, когда при тактовой в 16 МГц, нога дрыгает на 4 МГц?:)Pavel_1978 писал(а):16/4 = 4МГц максимальная частота дрыганья ногой, причем одной и МК больще ни чем заниматься не будет.
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Деление частоты внутреннего генератора
Частота дрыганья ногой и выходная частота на ноге отличаются в два раза.
Максимальная частота дрыганья ногой будет ограничена минимальным кодом xor-goto, что составит ТРИ машинных цикла на фронт и шесть на период генерируемой частоты. Сиречь, для выходной частоты в 4 МГц потребуется 6*4*4=96 МГц осциллятора...
Максимальная частота дрыганья ногой будет ограничена минимальным кодом xor-goto, что составит ТРИ машинных цикла на фронт и шесть на период генерируемой частоты. Сиречь, для выходной частоты в 4 МГц потребуется 6*4*4=96 МГц осциллятора...
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Деление частоты внутреннего генератора
Ну отчего же? Можно всю память забить ксорами, нехай крутится с 0 до упора и опять по кругу. Будет частота чаще.
Docendo discimus
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Деление частоты внутреннего генератора
Забить память ксорами можно, только вот кто будет инициализировать выход и задаст первоначальную маску, уважаемый?

-
Vadim_vv
- Потрогал лапой паяльник
- Сообщения: 386
- Зарегистрирован: Чт мар 11, 2010 16:16:19
- Откуда: Смоленская обл. Десногорск
- Контактная информация:
Re: Деление частоты внутреннего генератора
Не утверждаю, но насколько помню на выполнение команды в этом МК уйдет 4 такта. Можно постараться одной ногой дрыгать 4МГц в прерывании по таймеру. Выше - не выйдет. Можно тактироваться от внутреннего генератора и сразу на клокоут выводить 4 МГц. Откуда хотите 8 МГц получить? самое простое - ставить счетчик на логике.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Деление частоты внутреннего генератора
Маска займет одну команду. После сброса порты настроены на вывод.
Docendo discimus
-
Vadim_vv
- Потрогал лапой паяльник
- Сообщения: 386
- Зарегистрирован: Чт мар 11, 2010 16:16:19
- Откуда: Смоленская обл. Десногорск
- Контактная информация:
Re: Деление частоты внутреннего генератора
После сброса порты настроены на ВХОД!pyzhman писал(а): После сброса порты настроены на вывод.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Деление частоты внутреннего генератора
К чему такие эмоции с восклицательными знаком? Разве TRISx не сбрасываются в 0, что означает "порт на вывод"? А? Может вы попутали PIC и AVR?
Docendo discimus
Re: Деление частоты внутреннего генератора
А сам сброс конечно не подчиняется законам квантовой физики и происходит за время равное 0.Vadim_vv писал(а):После сброса
По сбросу TRISx = 1, при записи 0 - порт на выход, защелка на вывод, содержимое защелки после сброса.. нужно уточнить.Разве TRISx не сбрасываются в 0,
Re: Деление частоты внутреннего генератора
ВВерх НИКАК... А вниз кратно 4 мегагерцам - любая желаемая при естественном ограничении на максимально возможную (учитывая удвоенную задержку от команды до вывода и собственно программный участок).pyzhman писал(а): По заданию нужно формировать частоты, кратные 4МГц. Итого получаем первую частоту 4МГц, вторую надо бы 8МГц. И как?
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Деление частоты внутреннего генератора
Выдержка из даташита:
Точно. Настраиваются на вход. Ну ничего страшного. Еще одну команду - настройка на вывод. Делов-то. Итого две команды: маска, вывод. Остальные 1022 на ксоры.Register Address Power-on Reset• MCLR Reset duringnormal operation
TRISIO 85h --11 1111 --11 1111
Docendo discimus
Re: Деление частоты внутреннего генератора
"Вниз кратно" это как?BOB51 писал(а):А вниз кратно 4 мегагерцам
Это при POR и BOD насколько я понимаю. Здесь другой тип сброса. Вот его лучше приведите в примерpyzhman писал(а):Точно. Настраиваются на вход.
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Деление частоты внутреннего генератора
Смотря для чего.pyzhman писал(а):Итого две команды: маска, вывод. Остальные 1022 на ксоры.
При определенных условиях фазовая модуляция с частотой примерно 4 кГц (и еще примерно пятью кратными частотами) будет совершенно неприемлема.
Сброс здесь будет ОДИН - по питанию. То есть "тристейт" будет ВКЛЮЧЕН. Проход счетчика команд по кругу не является сбросом.Vano79 писал(а):Это при POR и BOD насколько я понимаю. Здесь другой тип сброса
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Деление частоты внутреннего генератора
Это уже не в ту степь, посколькуКРАМ писал(а):...фазовая модуляция...
george_54 писал(а):Можно ли программно это сделать...?
Docendo discimus
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Деление частоты внутреннего генератора
pyzhman писал(а):Это уже не в ту степьКРАМ писал(а):...фазовая модуляция...
Это почему не в ту?
Как раз очень даже в ту.
Программные задержки без прерываний и условных переходов дают фазовый шум кварца (или RC) осциллятора.


