Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Тактирование
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
addi
Здравствуйте,
прошу Вас подсказать как лучше поступить в следующем случае:
Есть два Пика, которые должны работать условно паралельно на частоте 16МГц.
Как их можно затактировать и чем от одного источника, чтобы добиться условной паралельности.?
Пока стоит два кварцевых резонатора, думаю поставить какой-нибудь кварцевый генератор на два выхода, если вообще такие существуют.
???
Заранее благодарен.
*antzol*
1. Можно собрать отдельный тактовый генератор и подавать сигнал с него на выводы osc1 микроконтроллеров.
2. Можно подключить кварц только к одному контроллеру (между osc1 и osc2), а с его вывода osc2 снимать тактовые импульсы и подавать их через буфер на второй контроллер (вывод osc1).
addi
Цитата(*antzol* @ Dec 12 2007, 21:00) *
1. Можно собрать отдельный тактовый генератор и подавать сигнал с него на выводы osc1 микроконтроллеров.
2. Можно подключить кварц только к одному контроллеру (между osc1 и osc2), а с его вывода osc2 снимать тактовые импульсы и подавать их через буфер на второй контроллер (вывод osc1).



Спасибо большое за поддержку, правда по поводу второго случая есть вопрос:
Может быть такое что буфер будет вносить смещение клоков при 16МГц?
*antzol*
Ну да, тогда наверно лучше от отдельного генератора.
А для чего такая синхронность?
addi
Цитата(*antzol* @ Dec 12 2007, 21:55) *
Ну да, тогда наверно лучше от отдельного генератора.
А для чего такая синхронность?

Синхронность для того чтобы создвать параллельную работу 2-х процессов процессов, а именно генерирование несущей частоты ШИМа и модулирующей.
А какой генератор ставить с одним выходом или с двумя?, если конечно есть такие, прсто я немного не в теме резонаторов.
pkuz
Тактирование можно выполнить внешним генератором(любым на рассыпухе,генератором готовым) через буфер логич(любой элемент) или два элемента(входы вместе к ген. выходы два на кирпичи)
Есть еще способ подать на 1-й осц сигнал,на втором получим 1/4 синхронно с первым осц smile.gif
rv3dll(lex)
Цитата(addi @ Dec 12 2007, 21:09) *
Спасибо большое за поддержку, правда по поводу второго случая есть вопрос:
Может быть такое что буфер будет вносить смещение клоков при 16МГц?



никакого смещения не будет - это десятки наносекунд - всех устроит
буфер тоже не нужен - если всё это находиться рядом достаточно поставить разделительный конденсатор на 1000-3300 пик а конденсатор с этой стороны кварца уменьшить на 10-15 пик применительно кварца 12 мегагерц
PSP
Кроме синхронной и синфазной тактовой частоты еще нужно обеспечить синхронный старт по отпусканию сброса. Наверняка сигнал сброса придется привязывать к тактовой частоте, иначе, при неудачном попадании сброса на фронт тактовой, возможна ошибка на такт.
rezident
ИМХО, просто тактируя от одного генератора два МК, синхронности выполнения разных программ или даже одинаковых программ, но с разными параметрами и/или внешними воздействиями вы не достигните. Синхронизм нужно налаживать в конечном (программном или аппаратном) автомате, непосредственно реализующем ШИМ.
PSP
Думаю, что все предыдущие рассуждения о синхронизации актуальны для абсолютно одинаковых устройств, синхронизированных по всем входным воздействиям для целей дублирования/мажорирования. Хотя, конечно, обычно так не делают.
Stanislav
Цитата(addi @ Dec 12 2007, 22:22) *
Синхронность для того чтобы создвать параллельную работу 2-х процессов процессов, а именно генерирование несущей частоты ШИМа и модулирующей...
А нельзя ли всё сделать на одном МК?

Цитата(PSP @ Dec 13 2007, 23:48) *
Кроме синхронной и синфазной тактовой частоты еще нужно обеспечить синхронный старт по отпусканию сброса. Наверняка сигнал сброса придется привязывать к тактовой частоте, иначе, при неудачном попадании сброса на фронт тактовой, возможна ошибка на такт.
+1 (чисто теоретически). Для этого можно использовать D-триггер с RC-цепочкой на входе D, тактируемый тем же опорным генератором. Однако, практическая ценность подобного способа синхронизации МК вообще может быть поставлена под большое сомнение.

Цитата(rezident @ Dec 14 2007, 01:50) *
ИМХО, просто тактируя от одного генератора два МК, синхронности выполнения разных программ или даже одинаковых программ, но с разными параметрами и/или внешними воздействиями вы не достигните. Синхронизм нужно налаживать в конечном (программном или аппаратном) автомате, непосредственно реализующем ШИМ.
От алгоритма работы зависит... Хотя, я бы так никогда не стал делать.
Синхронизма можно добиться путём подачи периодического синхросигнала (прерывания) от одного МК к другому.
Хотя, в данном случае, лучше всё-таки решать задачу на одном МК, без извратов.
rezident
Цитата(Stanislav @ Dec 14 2007, 04:09) *
Синхронизма можно добиться путём подачи периодического синхросигнала (прерывания) от одного МК к другому.
Ну да, должна быть связка ведущий-ведомый. Я же имел в виду, что ограничиваясь только лишь одним общим источником тактирования (без каких-либо доп. способов и/или обратных связей), обозначенную проблему синхронизации не решить.
pkuz
Чисто теор возможна синхронизация от 1/4 такта(мой прев.пост) первого мк,при неоходимости синхронно сработать с первым второй читает данные опираясь на переходы(фронт или ...1.)

Не рекомендую использовать раздел конд в цепях для данной синхронизации тк сдвиг будет 90град(практически за счет утечек и качества конд менее 90 именно поэтому в автогенераторах для поворота на 180град применяют цепь из трех последов вкл емкостей)

Однако нет гарантии что при включении или сбросе пройдя 1024 такта мы выдем на сихронную работу двух генераторов процессоров!
Да еще вариант неизвесного состояния в случае сна !?(дальнейшее пробуждение)

Неизвестена цель автора, точная синхронизация? точнее как общаются два мк! т к мк делают разные прогр алгоритмы,неизвестно время отклика на прием-передачу данных,тогда есть необходимость доп линии (запрос на передачу или готовность приема) для устранения повторной передачи пакета и ожидания сигнала приема(правильного),если такой предусмотрен протоколом связи
rv3dll(lex)
а давайте поставим третий процессор который будет следить за этими двумя)

1. если они разбегуться на 1-2 такта клока ничего не произойдёт в выходном суммарном шиме!!!!

2. При ресете клок не останавливается - нужна нормальная схема ресета типа мах809
PSP
Цитата(pkuz @ Dec 14 2007, 02:30) *
Не рекомендую использовать раздел конд в цепях для данной синхронизации тк сдвиг будет 90град(практически за счет утечек и качества конд менее 90 именно поэтому в автогенераторах для поворота на 180град применяют цепь из трех последов вкл емкостей)

В нормально разработанных схемах разделительный конденсатор не дает практически никакого фазового сдвига. А в упомянутых Вами генераторах с тремя конденсаторами используются три последовательные дифференцирующие RC-цепи на частоте ниже частоты среза получившегося ФВЧ, там и возникает фазовый сдвиг.
Николай Z
Цитата(rv3dll(lex) @ Dec 14 2007, 08:50) *
а давайте поставим третий процессор который будет следить за этими двумя)

1. если они разбегуться на 1-2 такта клока ничего не произойдёт в выходном суммарном шиме!!!!

2. При ресете клок не останавливается - нужна нормальная схема ресета типа мах809


Ну тогда уже и 4-й - чтобы 3 и 4-й тоже работали синхронно и следили синхронно 1 и 2-м...

А потом 5-й - чтобы следил за 3 и 4-ре...
А потом 6-й... и так далее и так далее..

Слушайте - а может лучше сперва задачу уточнить?
А зачем все это?
Может быть тут просто классический случай победы "техники над разумом"?
Вот что-то заставляет именно об этом думать.
addi
Цитата(Николай Z @ Dec 14 2007, 16:29) *
Ну тогда уже и 4-й - чтобы 3 и 4-й тоже работали синхронно и следили синхронно 1 и 2-м...

А потом 5-й - чтобы следил за 3 и 4-ре...
А потом 6-й... и так далее и так далее..

Слушайте - а может лучше сперва задачу уточнить?
А зачем все это?
Может быть тут просто классический случай победы "техники над разумом"?
Вот что-то заставляет именно об этом думать.


Просто у одного человека возникла идея распаралелить работу одного МК на два поменьше.
Я бы в этом случае применил для распаралеливания один ПЛИС а не МК's.
Может кто подскажит, есть ли генераторы на два выхода и на 16МГц.
Заранее благодарен.
Stanislav
Цитата(rezident @ Dec 14 2007, 02:49) *
Ну да, должна быть связка ведущий-ведомый. Я же имел в виду, что ограничиваясь только лишь одним общим источником тактирования (без каких-либо доп. способов и/или обратных связей), обозначенную проблему синхронизации не решить.
Поскольку задача представляет чисто академический интерес, попробую возразить в том же духе: можно синхронизировать для данной задачи процессы в двух МК с помощью только единого тактового генератора и источника синхронного сброса.
Но не нужно. smile.gif


Цитата(addi @ Dec 14 2007, 23:14) *
Просто у одного человека возникла идея распаралелить работу одного МК на два поменьше.
Не стоит заниматься умственным рукоблудием. Помните о бритве Оккама. smile.gif

Цитата(addi @ Dec 14 2007, 23:14) *
...Я бы в этом случае применил для распаралеливания один ПЛИС а не МК's.
Если один МК справляется, зачем там ПЛИС?

Цитата(addi @ Dec 14 2007, 23:14) *
Может кто подскажит, есть ли генераторы на два выхода и на 16МГц.
Два выхода Вам не нужны, нужны лишь два входа (PIC-ов). Один выход теория не запрещает подключать к обоим одновременно. smile.gif

ЗЫ.Прочитайте ещё раз пост №2.
Николай Z
Цитата(addi @ Dec 14 2007, 23:14) *
Просто у одного человека возникла идея распаралелить работу одного МК на два поменьше.
Я бы в этом случае применил для распаралеливания один ПЛИС а не МК's.

Вот я и спрашиваю... А зачем? Что это даст кроме удорожания всего устройтсва в целом?
addi
Цитата(Николай Z @ Dec 15 2007, 01:27) *
Вот я и спрашиваю... А зачем? Что это даст кроме удорожания всего устройтсва в целом?


Зачем, точно не знаю, полагаю что это ради эксперимента или вследствии недопонимания всей сути происходящего.
pkuz
Цитата(PSP @ Dec 14 2007, 15:39) *
В нормально разработанных схемах разделительный конденсатор не дает практически никакого фазового сдвига. А в упомянутых Вами генераторах с тремя конденсаторами используются три последовательные дифференцирующие RC-цепи на частоте ниже частоты среза получившегося ФВЧ, там и возникает фазовый сдвиг.


А как же перезарядка ?
Николай Z
Цитата(addi @ Dec 15 2007, 16:35) *
Зачем, точно не знаю, полагаю что это ради эксперимента или вследствии недопонимания всей сути происходящего.

Вы спрашиваете - как... Логично у Вас и спросить - а зачем? Я не понимаю зачем такое надо вообще...
Вот потому и спрашиваю - а зачем такие навороты...

Для любого необычного технического решения должны быть существенные причины иначе оно обращается в ненужную прихоть или даже в гоупость...
PSP
Цитата(pkuz @ Dec 15 2007, 23:59) *
А как же перезарядка ?


Этот вопрос больше для раздела "Аналоговая схемотехника".

Разделительный конденсатор вместе с сопротивлением нагрузки являются ФВЧ с частотой среза F=1/(2*pi*R*C). На этой частоте коэффициент передачи равен (-3дБ) и фазовый сдвиг 45 градусов. С повышением частоты коэффициент передачи быстро стремится к 0дБ (нет ослабления), а сдвиг фазы к 0 градусов. Это и есть нормальный режим для разделительного конденсатора, когда сигнал практически не искажается.

С понижением частоты коэффициент передачи падает с крутизной 6дБ/октава, а сдвиг фазы приближается к 90 градусам. Вот именно в области низких частот и есть значительные токи перезаряда конденсатора, приводящие к фазовым сдвигам напряжения на нагрузке. Но этот режим работы уже нужно называть ФВЧ или дифференцирующей цепью, а не разделительным конденсатором.
Omen_13
Цитата(Stanislav @ Dec 15 2007, 01:32) *
Помните о бритве Оккама. smile.gif

Не просветите что это за бритва такая?
rezident
Цитата(Omen_13 @ Dec 17 2007, 03:42) *
Не просветите что это за бритва такая?

«Non sunt entia multiplicanda praeter necessitatem» в переводе «Не нужно множить сущности без необходимости»
Гугль рулит.
http://ru.wikipedia.org/wiki/%D0%91%D1%80%...%B0%D0%BC%D0%B0
http://psi-logic.shadanakar.org/psi/okkam.htm
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.