2 микроконтроллера от 1 источника тактирования сигнала

Обсуждаем контроллеры компании Atmel.
Черепашка
Встал на лапы
Сообщения: 131
Зарегистрирован: Пт сен 22, 2023 11:11:07

2 микроконтроллера от 1 источника тактирования сигнала

Сообщение Черепашка »

Доброго времени суток.
Задача запитать два микроконтроллера от 1 источника тактового сигнала 16Мгц

Понял что внешний генератор подключается к XTAL1

Никак не могу найти генератор прямоугольных импульсов на 16 МГц. Это вообще реально? Просто я так понял такой КМОП логики не существует. Но с другой стороны существуют готовые генераторы на 16МГц, с 5В питанием. Значит это сделать реально.

Видел генераторы Пирса, но долгие поиски так и не нашли ничего дельного. Все схемы до 8МГц. Остальные я так понял уже Логические элементы не выгребают.

Собственно говоря вопрос. Есть ли логические элементы скоростные? Которые способны выдать миандр на частоте 16МГц.

Спасибо
Реклама
veso74
Поставщик валерьянки для Кота
Сообщения: 1909
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение veso74 »

Сделайте свой вопрос конкретным, иначе ответов может быть много, на самые разные темы.

Можно с одним кварцем два МК без внешнего генератора - от одного МК генератора к другому CLK МК. Может генератор без ЛЕ, на дискретной схемотехники. Может на устаревшей элементной базе, а может и еще много чего, напр. использование более современного типа ИС, частотные характеристики которой в среднем на порядок (и выше) выше желаемых 16 MHz. А генераторы есть готовые всякие - от больших корпусов до напр. smd 5х7 mm, выходной сигнал которого просто подается через буфер/без буфер/ на два CLK входa.
Реклама
Аватара пользователя
electroget
Друг Кота
Сообщения: 4651
Зарегистрирован: Ср сен 30, 2020 16:51:47
Откуда: РФ

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение electroget »

[uquote="Черепашка",url="/forum/viewtopic.php?p=4479688#p4479688"]Есть ли логические элементы скоростные? Которые способны выдать миандр на частоте 16МГц.[/uquote]
74НС14
74АС14
mont-oriol
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Пн май 27, 2019 07:18:28
Откуда: ВВХ-ск

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение mont-oriol »

[uquote="Черепашка",url="/forum/viewtopic.php?p=4479688#p4479688"]Никак не могу найти генератор прямоугольных импульсов на 16 МГц. Это вообще реально? Просто я так понял такой КМОП логики не существует. Но с другой стороны существуют готовые генераторы на 16МГц, с 5В питанием.[/uquote]
На 3.3 вольта нужно что ли?
https://www.quartz1.com/price/model.php?akt=9263.11
https://www.quartz1.com/price/model.php?akt=6990.19
И т.д.
Реклама
Эиком - электронные компоненты и радиодетали
roman.com
Друг Кота
Сообщения: 9157
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение roman.com »

[uquote="Черепашка",url="/forum/viewtopic.php?p=4479688#p4479688"]Задача запитать два микроконтроллера от 1 источника тактового сигнала 16Мгц[/uquote]
вот я запитал 5 микроконтроллеров от 1 источника тактового сигнала 20Мгц
2-схема_ATmega8-Ethernet-TX_FIFO_4.jpg
(80.2 КБ) 174 скачивания
подключил кварц к первому микроконтроллеру...
остальные 4 микроконтроллера подключил к этому же кварцу))
:tea:

Добавлено after 5 minutes 10 seconds:
[uquote="Черепашка",url="/forum/viewtopic.php?p=4479688#p4479688"]Никак не могу найти генератор прямоугольных импульсов на 16 МГц. Это вообще реально? Просто я так понял такой КМОП логики не существует.[/uquote]
вот я сделал кварцевый генератор прямоугольных импульсов на 20 МГц.
На КМОП логике - sn74hc00
Screenshot_1.jpg
(134.51 КБ) 128 скачиваний
в увеличеном виде))
Screenshot_2.jpg
(35.99 КБ) 118 скачиваний
sn74hc00 - дешёвые и широко распространённая КМОП логика )) работает до ~ 40 МГц.
:tea:

Добавлено after 4 minutes 7 seconds:
если надо ещё быстрей... то есть замечательная ТТЛШ логика - sn74F00
вот они на схеме...
Screenshot_3.jpg
(135.09 КБ) 117 скачиваний
буковка "F" от слова "Fast" - что значит "быстрый"))

sn74F00 - дешёвые и широко распространённая ТТЛШ логика )) работает до ~ 200 МГц.
:tea:
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1393
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение OKF »

[uquote="Черепашка",url="/forum/viewtopic.php?p=4479688#p4479688"]Задача запитать два микроконтроллера от 1 источника тактового сигнала 16Мгц[/uquote]
МК какой серии? Обычно в МК есть возможность выдавать на выход частоту генератора. А там уже "питай" хоть 2, хоть сколько хочешь МК.
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25277
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение КРАМ »

А в чем смысл синхронного тактирования?
roman.com
Друг Кота
Сообщения: 9157
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение roman.com »

я использую синхронное тактирование... много где)) например для буфера...

а смысл простой... допустим надо получить непрерывный поток данных на входе/выходе...
один МК не может одновременно читать/писать SRAM и выводить данные в порт...
а два могут ! для этого нужно синхронное тактирование...

первый МК читает SRAM... а второй в это время выводит данные в порт...
потом наоборот...
второй МК читает SRAM... а первый в это время выводит данные в порт...
и т.д.

или например управляемые программируемые коммутаторы/маршрутизаторы...

первый МК читает порт... а второй в это время выводит данные в порт...
потом наоборот...
второй МК читает порт... а первый в это время выводит данные в порт...
и т.д.

или например при сложных вычислениях...

пока первый МК выполняет первую инструкцию.... второй МК в это время уже читает вторую инструкцию...
потом наоборот...
пока второй МК выполняет вторую инструкцию... первый МК в это время уже читает третью инструкцию...
и т.д. и т.п.))

а где использует синхронное тактирование ТС... я без понятия))
:tea:
Черепашка
Встал на лапы
Сообщения: 131
Зарегистрирован: Пт сен 22, 2023 11:11:07

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение Черепашка »

[uquote="roman.com",url="/forum/viewtopic.php?p=4479758#p4479758"]в увеличеном виде))
Screenshot_2.jpg
sn74hc00 - дешёвые и широко распространённая КМОП логика )) работает до ~ 40 МГц.
:tea:[/uquote]

это как раз то что мне и надо. Спасибо.

[uquote="electroget",url="/forum/viewtopic.php?p=4479753#p4479753"][uquote="Черепашка",url="/forum/viewtopic.php?p=4479688#p4479688"]Есть ли логические элементы скоростные? Которые способны выдать миандр на частоте 16МГц.[/uquote]
74НС14
74АС14[/uquote]

и за это тоже спасибо. Будем использовать.
veso74
Поставщик валерьянки для Кота
Сообщения: 1909
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение veso74 »

Разве используемый МК не имеет внутреннего генератора? (AVR?). Соедините вывод с другим МК/через конденсатор.
Черепашка
Встал на лапы
Сообщения: 131
Зарегистрирован: Пт сен 22, 2023 11:11:07

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение Черепашка »

[uquote="veso74",url="/forum/viewtopic.php?p=4480038#p4480038"]Разве используемый МК не имеет внутреннего генератора? (AVR?).[/uquote]

Atmega168 имеет XTAL1 и XTAL2 для подключения задающего внешнего генератора тактового сигнала. Я не знаю есть ли в даташите инструкция на тему, что можно вмешиваться в генератор и соединять их. Но думаю с точки зрения схемотехники это будет не правильно. Так как, второй мк может влиять на генератор первого, и это надо исключить. Поэтому и строится источник отдельного тактирования, чтобы работа была стабильной.
veso74
Поставщик валерьянки для Кота
Сообщения: 1909
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение veso74 »

В документации написано, можно использовать, даже буфер есть. Стр. 30:

Код: Выделить всё

6.9 Clock Output Buffer: The device can output the system clock on the CLKO pin. To enable the output, the CKOUT fuse has to be programmed. This mode is suitable when the chip clock is used to drive other circuits on the system. The clock also will be output during reset, and the normal operation of I/O pin will be overridden when the fuse is programmed. Any clock source, including the internal RC oscillator, can be selected when the clock is output on CLKO. If the system clock prescaler is used, it is the divided system clock that is output.
---
6.9. Выходной тактовый буфер: Устройство может выводить системные часы на вывод CLKO. Для включения выхода необходимо запрограммировать фюз CKOUT. Этот режим подходит, когда тактовая частота микросхемы используется для управления другими цепями системы. Часы также будут выводиться во время сбросится, и нормальная работа контакта ввода/вывода будет отменена при программировании фюза. Любой источник синхронизации, включая внутренний RC-генератор, можно выбрать, когда тактовый сигнал выводится на CLKO. Если используется прескалер системных часов, это разделенные системные часы, которые выводятся.
А зачем два МК? Собрать программу в одну? Чего не хватает? Память? Выводы? Что-то другое?
Что подразумеваете под "стабильной работой"? Какие величины управляете/измеряете, с каким разрешением во временной области?
pavel2000
Опытный кот
Сообщения: 859
Зарегистрирован: Пт янв 27, 2012 20:07:54
Откуда: Томск

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение pavel2000 »

>В документации написано, можно использовать, даже буфер есть. Стр. 30:

ну так вы ведете речь про специально обученный режим вывода PB0, когда он становится CLKO - буферизированным выходом.

А в комментарии явным образом написано

>подключил кварц к первому микроконтроллеру...
>остальные 4 микроконтроллера подключил к этому же кварцу))

что тупо к ножке кварца подключен не, один а 5 процов - а это уже не документированное использование.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение BOB51 »

На сегодня скармливать нескольким МК в единой конструкции общий тактовый сигнал...
Никакого смысла нету.
Все равно придется линии синхронизации/квитирования делать для синхронизации процессов доступа кобщим ресурсам (если таковые имеются в конструкции). А вот заморочки с разводкой монтажа черезмерно много.
В случае ежли каждый из МК решает свою задачу (да и быстродействие таких МК в большинстве случаев различно) вообще общее тактирование бессмысленно.
Другое дело общий сигнал предустановки/сброса, единый для всего устройства - это более актуально и достаточно часто применяется.
:roll:
Вариант "многофазной синхронизации" ранее применялся в конструкциях на "рассыпухе" и/или старинных комплектах "рассыпных" микропроцессорных систем... К примеру тот же генератор от КС1804ГГ1...
Сегодня подобное - редкость...
8)
roman.com
Друг Кота
Сообщения: 9157
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение roman.com »

BOB51 писал(а):А вот заморочки с разводкой монтажа черезмерно много.
на низких частотах (до 25 МГц для ардуино) никаких заморочек с разводкой монтажа нет.
не путать с современными материнскими платами... с частотой шины - гигагерцы))
BOB51 писал(а):Все равно придется линии синхронизации/квитирования делать для синхронизации процессов доступа кобщим ресурсам
линии синхронизации уже присутствуют на схеме))
после включения питания первый МК передаёт сигнал синхронизации... остальные МК синхронизируются по этому сигналу...
далее все инструкции во всех МК выполняются синхронно.
2-схема_ATmega8-Ethernet-TX_FIFO_4.jpg
(83.8 КБ) 78 скачиваний
получилась обычная многоядерная схема... с распределёнными вычислениями))
:tea:
BOB51 писал(а):На сегодня скармливать нескольким МК в единой конструкции общий тактовый сигнал...
Никакого смысла нету.
расскажите это разработчикам современных процессоров))
а то они не в курсе зачем они делают много ядерные системы))
:))

все современные процессоры - много ядерные... с распределёнными вычислениями...
и все они работают от одного кварцевого генератора...
правда со встроенным синтезатором и отдельным делителем... но это не важно... это уже мелкие подробности))
Screenshot_1.jpg
(99.57 КБ) 88 скачиваний
:tea:
veso74
Поставщик валерьянки для Кота
Сообщения: 1909
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение veso74 »

Прямо, без буфера, без вывода, будут влиять друг на друга. Но всегда есть варианты.
А внешний модуль генератора самый простой способ - smd, однокомпонентный.

Изображение
Черепашка
Встал на лапы
Сообщения: 131
Зарегистрирован: Пт сен 22, 2023 11:11:07

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение Черепашка »

я конечно не гуру в микроконтроллерах и программировании. НО, мои мысли такие. Допустим у нас есть два микроконтроллера. И один выполняет роль измерения, другой подсчёта (вычислительной мощности не хватает). Далее мы передаём сигнал по паралельному интерфейсу собственной разработки. Но вот не задача. Конечно есть кварцы в 16МГц, за один такт микроконтроллер выполняет определённое количество команд (2 или 1 в зависимости от команд). Но проблема в том что кварц на 16 МГц не идеальный. Во первых есть разбег по частоте у каждой детали, а во вторых разные факторы могут влиять. И вот два разных кварца на двух разных микроконтроллерах на высокой скорости начнут разбегаться в выполнении команд. И быстрая-синхронная передача теряет смысл ибо очень тяжело поймать состояние одного микроконтроллера если его команды выполняются на 1-10 команд быстрее чем у принимающей стороны. И вот на помощь приходит единая синхронизация. Когда погрешность в частоте, даже от температурного дрейфа невилируется ибо оба микроконтроллера выполняют за один и тотже такт определённые инструкции. И таким способом можно спокойно настраивать высокоскоростную параллельную передачу данных не боясь что произойдёт рассинхрон. Даже если каким-то чудом или волшебством пропадёт один такт, он пропадёт у двух МК сразу. Я уже проводил эксперименты на симуляции в протеус, когда один микроконтроллер питался тактированием в 16000001 Герц, другой в 15999999.
Может я не прав, но по мне так надёжнее будет, когда работаешь с относительно высокими скоростями. Погрешность одного такта может быть фатальной.
Конечно лучше не работать на пограничных состояниях. Но можно невелировать ошибки и это правильно. На счёт вывода такта с мк не знал, спасибо. Но проще построить единое сердце для всех.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25277
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение КРАМ »

[uquote="Черепашка",url="/forum/viewtopic.php?p=4480448#p4480448"]мои мысли такие. Допустим у нас есть два микроконтроллера. И один выполняет роль измерения, другой подсчёта (вычислительной мощности не хватает). Далее мы передаём сигнал по паралельному интерфейсу собственной разработки.[/uquote]
Вы не понимаете очевидного. При использовании АППАРАТНОГО интерфейса, время передачи-приема данных НЕ НАГРУЖАЕТ КОНТРОЛЛЕР. То есть все время измерений может идти передача данных ПРЕДЫДУЩЕГО измерения. Поскольку АЦП в Атмелах очень медленный, то времени на передачу ОЧЕНЬ МНОГО. То есть можно спокойно передавать через SPI и не париться.
При использовании параллельного интерфейса есть два варианта захвата данных слейвом - опрос синхросигнала или внешнее прерывание по синхросигналу. Первый вариант не даст нормально работать слейву, создавая блокирующий код. Второй вариант будет выполнятся не быстрее SPI из-за тормознутости исполнения обработчика.
Так что ваша "идея" не имеет никакого смысла. А вместе с ней и необходимость единого тактирования.
ЗЫ. А вообще, опишите свою прикладную задачу. Есть подозрение, что проблемы надуманы.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение BOB51 »

roman.com
Не путайте "многоядерность" на одном кристалле с "рассыпухой" из нескольких МК в одной конструкции.
Там просто нет смысла заводить энное количество генераторов на ОДИН ОБЩИЙ КОРПУС, в коем те ядра установлены.
Если "общая синхронизация" единым источником тактирования столь волшебна - зачем тогда использовать в схеме дополнительное квитирование при обмене данными?
8)
Относительно "низких частот" порой некорректно разработанная схема последовательного сдвига данных на регистрах "затыкается" уже на единицах мегагерц.
:wink:
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25277
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: 2 микроконтроллера от 1 источника тактирования сигнала

Сообщение КРАМ »

[uquote="roman.com",url="/forum/viewtopic.php?p=4480251#p4480251"]расскажите это разработчикам современных процессоров))
а то они не в курсе зачем они делают много ядерные системы))
:))

все современные процессоры - много ядерные... с распределёнными вычислениями...
и все они работают от одного кварцевого генератора...
правда со встроенным синтезатором и отдельным делителем... но это не важно... это уже мелкие подробности))[/uquote]
:facepalm: Вы не понимаете о чем пишите.
Причину использования одного осциллятора (а не тактового генератора - почувствуйте разницу) вам изложил BOB51.
Но даже если все тактовые генераторы всех ядер запустить в когерентном режиме, то и тогда код не будет исполнятся синхронно. Есть куча причин, по которой программный синхронизм не может быть достигнут ПРИНЦИПИАЛЬНО.
Именно поэтому в многоядерных системах делают специальный межядерный интерфейс, который СОВЕРШЕННО АСИНХРОНЕН.
Ответить

Вернуться в «AVR»