2 микроконтроллера от 1 источника тактирования сигнала
2 микроконтроллера от 1 источника тактирования сигнала
Доброго времени суток.
Задача запитать два микроконтроллера от 1 источника тактового сигнала 16Мгц
Понял что внешний генератор подключается к XTAL1
Никак не могу найти генератор прямоугольных импульсов на 16 МГц. Это вообще реально? Просто я так понял такой КМОП логики не существует. Но с другой стороны существуют готовые генераторы на 16МГц, с 5В питанием. Значит это сделать реально.
Видел генераторы Пирса, но долгие поиски так и не нашли ничего дельного. Все схемы до 8МГц. Остальные я так понял уже Логические элементы не выгребают.
Собственно говоря вопрос. Есть ли логические элементы скоростные? Которые способны выдать миандр на частоте 16МГц.
Спасибо
Задача запитать два микроконтроллера от 1 источника тактового сигнала 16Мгц
Понял что внешний генератор подключается к XTAL1
Никак не могу найти генератор прямоугольных импульсов на 16 МГц. Это вообще реально? Просто я так понял такой КМОП логики не существует. Но с другой стороны существуют готовые генераторы на 16МГц, с 5В питанием. Значит это сделать реально.
Видел генераторы Пирса, но долгие поиски так и не нашли ничего дельного. Все схемы до 8МГц. Остальные я так понял уже Логические элементы не выгребают.
Собственно говоря вопрос. Есть ли логические элементы скоростные? Которые способны выдать миандр на частоте 16МГц.
Спасибо
- Реклама
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1909
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: 2 микроконтроллера от 1 источника тактирования сигнала
Сделайте свой вопрос конкретным, иначе ответов может быть много, на самые разные темы.
Можно с одним кварцем два МК без внешнего генератора - от одного МК генератора к другому CLK МК. Может генератор без ЛЕ, на дискретной схемотехники. Может на устаревшей элементной базе, а может и еще много чего, напр. использование более современного типа ИС, частотные характеристики которой в среднем на порядок (и выше) выше желаемых 16 MHz. А генераторы есть готовые всякие - от больших корпусов до напр. smd 5х7 mm, выходной сигнал которого просто подается через буфер/без буфер/ на два CLK входa.
Можно с одним кварцем два МК без внешнего генератора - от одного МК генератора к другому CLK МК. Может генератор без ЛЕ, на дискретной схемотехники. Может на устаревшей элементной базе, а может и еще много чего, напр. использование более современного типа ИС, частотные характеристики которой в среднем на порядок (и выше) выше желаемых 16 MHz. А генераторы есть готовые всякие - от больших корпусов до напр. smd 5х7 mm, выходной сигнал которого просто подается через буфер/без буфер/ на два CLK входa.
- electroget
- Друг Кота
- Сообщения: 4651
- Зарегистрирован: Ср сен 30, 2020 16:51:47
- Откуда: РФ
Re: 2 микроконтроллера от 1 источника тактирования сигнала
[uquote="Черепашка",url="/forum/viewtopic.php?p=4479688#p4479688"]Есть ли логические элементы скоростные? Которые способны выдать миандр на частоте 16МГц.[/uquote]
74НС14
74АС14
74НС14
74АС14
-
mont-oriol
- Мучитель микросхем
- Сообщения: 437
- Зарегистрирован: Пн май 27, 2019 07:18:28
- Откуда: ВВХ-ск
Re: 2 микроконтроллера от 1 источника тактирования сигнала
[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
И т.д.
На 3.3 вольта нужно что ли?
https://www.quartz1.com/price/model.php?akt=9263.11
https://www.quartz1.com/price/model.php?akt=6990.19
И т.д.
Re: 2 микроконтроллера от 1 источника тактирования сигнала
[uquote="Черепашка",url="/forum/viewtopic.php?p=4479688#p4479688"]Задача запитать два микроконтроллера от 1 источника тактового сигнала 16Мгц[/uquote]
вот я запитал 5 микроконтроллеров от 1 источника тактового сигнала 20Мгц подключил кварц к первому микроконтроллеру...
остальные 4 микроконтроллера подключил к этому же кварцу))

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

Добавлено after 4 minutes 7 seconds:
если надо ещё быстрей... то есть замечательная ТТЛШ логика - sn74F00
вот они на схеме... буковка "F" от слова "Fast" - что значит "быстрый"))
sn74F00 - дешёвые и широко распространённая ТТЛШ логика )) работает до ~ 200 МГц.

вот я запитал 5 микроконтроллеров от 1 источника тактового сигнала 20Мгц подключил кварц к первому микроконтроллеру...
остальные 4 микроконтроллера подключил к этому же кварцу))
Добавлено after 5 minutes 10 seconds:
[uquote="Черепашка",url="/forum/viewtopic.php?p=4479688#p4479688"]Никак не могу найти генератор прямоугольных импульсов на 16 МГц. Это вообще реально? Просто я так понял такой КМОП логики не существует.[/uquote]
вот я сделал кварцевый генератор прямоугольных импульсов на 20 МГц.
На КМОП логике - sn74hc00 в увеличеном виде)) sn74hc00 - дешёвые и широко распространённая КМОП логика )) работает до ~ 40 МГц.
Добавлено after 4 minutes 7 seconds:
если надо ещё быстрей... то есть замечательная ТТЛШ логика - sn74F00
вот они на схеме... буковка "F" от слова "Fast" - что значит "быстрый"))
sn74F00 - дешёвые и широко распространённая ТТЛШ логика )) работает до ~ 200 МГц.
- Реклама
Re: 2 микроконтроллера от 1 источника тактирования сигнала
[uquote="Черепашка",url="/forum/viewtopic.php?p=4479688#p4479688"]Задача запитать два микроконтроллера от 1 источника тактового сигнала 16Мгц[/uquote]
МК какой серии? Обычно в МК есть возможность выдавать на выход частоту генератора. А там уже "питай" хоть 2, хоть сколько хочешь МК.
МК какой серии? Обычно в МК есть возможность выдавать на выход частоту генератора. А там уже "питай" хоть 2, хоть сколько хочешь МК.
- КРАМ
- Друг Кота
- Сообщения: 25277
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: 2 микроконтроллера от 1 источника тактирования сигнала
А в чем смысл синхронного тактирования?
Re: 2 микроконтроллера от 1 источника тактирования сигнала
я использую синхронное тактирование... много где)) например для буфера...
а смысл простой... допустим надо получить непрерывный поток данных на входе/выходе...
один МК не может одновременно читать/писать SRAM и выводить данные в порт...
а два могут ! для этого нужно синхронное тактирование...
первый МК читает SRAM... а второй в это время выводит данные в порт...
потом наоборот...
второй МК читает SRAM... а первый в это время выводит данные в порт...
и т.д.
или например управляемые программируемые коммутаторы/маршрутизаторы...
первый МК читает порт... а второй в это время выводит данные в порт...
потом наоборот...
второй МК читает порт... а первый в это время выводит данные в порт...
и т.д.
или например при сложных вычислениях...
пока первый МК выполняет первую инструкцию.... второй МК в это время уже читает вторую инструкцию...
потом наоборот...
пока второй МК выполняет вторую инструкцию... первый МК в это время уже читает третью инструкцию...
и т.д. и т.п.))
а где использует синхронное тактирование ТС... я без понятия))

а смысл простой... допустим надо получить непрерывный поток данных на входе/выходе...
один МК не может одновременно читать/писать SRAM и выводить данные в порт...
а два могут ! для этого нужно синхронное тактирование...
первый МК читает SRAM... а второй в это время выводит данные в порт...
потом наоборот...
второй МК читает SRAM... а первый в это время выводит данные в порт...
и т.д.
или например управляемые программируемые коммутаторы/маршрутизаторы...
первый МК читает порт... а второй в это время выводит данные в порт...
потом наоборот...
второй МК читает порт... а первый в это время выводит данные в порт...
и т.д.
или например при сложных вычислениях...
пока первый МК выполняет первую инструкцию.... второй МК в это время уже читает вторую инструкцию...
потом наоборот...
пока второй МК выполняет вторую инструкцию... первый МК в это время уже читает третью инструкцию...
и т.д. и т.п.))
а где использует синхронное тактирование ТС... я без понятия))
Re: 2 микроконтроллера от 1 источника тактирования сигнала
[uquote="roman.com",url="/forum/viewtopic.php?p=4479758#p4479758"]в увеличеном виде))
sn74hc00 - дешёвые и широко распространённая КМОП логика )) работает до ~ 40 МГц.
[/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]
и за это тоже спасибо. Будем использовать.
это как раз то что мне и надо. Спасибо.
[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 источника тактирования сигнала
Разве используемый МК не имеет внутреннего генератора? (AVR?). Соедините вывод с другим МК/через конденсатор.
Re: 2 микроконтроллера от 1 источника тактирования сигнала
[uquote="veso74",url="/forum/viewtopic.php?p=4480038#p4480038"]Разве используемый МК не имеет внутреннего генератора? (AVR?).[/uquote]
Atmega168 имеет XTAL1 и XTAL2 для подключения задающего внешнего генератора тактового сигнала. Я не знаю есть ли в даташите инструкция на тему, что можно вмешиваться в генератор и соединять их. Но думаю с точки зрения схемотехники это будет не правильно. Так как, второй мк может влиять на генератор первого, и это надо исключить. Поэтому и строится источник отдельного тактирования, чтобы работа была стабильной.
Atmega168 имеет XTAL1 и XTAL2 для подключения задающего внешнего генератора тактового сигнала. Я не знаю есть ли в даташите инструкция на тему, что можно вмешиваться в генератор и соединять их. Но думаю с точки зрения схемотехники это будет не правильно. Так как, второй мк может влиять на генератор первого, и это надо исключить. Поэтому и строится источник отдельного тактирования, чтобы работа была стабильной.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1909
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: 2 микроконтроллера от 1 источника тактирования сигнала
В документации написано, можно использовать, даже буфер есть. Стр. 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. Если используется прескалер системных часов, это разделенные системные часы, которые выводятся.Что подразумеваете под "стабильной работой"? Какие величины управляете/измеряете, с каким разрешением во временной области?
Re: 2 микроконтроллера от 1 источника тактирования сигнала
>В документации написано, можно использовать, даже буфер есть. Стр. 30:
ну так вы ведете речь про специально обученный режим вывода PB0, когда он становится CLKO - буферизированным выходом.
А в комментарии явным образом написано
>подключил кварц к первому микроконтроллеру...
>остальные 4 микроконтроллера подключил к этому же кварцу))
что тупо к ножке кварца подключен не, один а 5 процов - а это уже не документированное использование.
ну так вы ведете речь про специально обученный режим вывода PB0, когда он становится CLKO - буферизированным выходом.
А в комментарии явным образом написано
>подключил кварц к первому микроконтроллеру...
>остальные 4 микроконтроллера подключил к этому же кварцу))
что тупо к ножке кварца подключен не, один а 5 процов - а это уже не документированное использование.
Re: 2 микроконтроллера от 1 источника тактирования сигнала
На сегодня скармливать нескольким МК в единой конструкции общий тактовый сигнал...
Никакого смысла нету.
Все равно придется линии синхронизации/квитирования делать для синхронизации процессов доступа кобщим ресурсам (если таковые имеются в конструкции). А вот заморочки с разводкой монтажа черезмерно много.
В случае ежли каждый из МК решает свою задачу (да и быстродействие таких МК в большинстве случаев различно) вообще общее тактирование бессмысленно.
Другое дело общий сигнал предустановки/сброса, единый для всего устройства - это более актуально и достаточно часто применяется.
Вариант "многофазной синхронизации" ранее применялся в конструкциях на "рассыпухе" и/или старинных комплектах "рассыпных" микропроцессорных систем... К примеру тот же генератор от КС1804ГГ1...
Сегодня подобное - редкость...

Никакого смысла нету.
Все равно придется линии синхронизации/квитирования делать для синхронизации процессов доступа кобщим ресурсам (если таковые имеются в конструкции). А вот заморочки с разводкой монтажа черезмерно много.
В случае ежли каждый из МК решает свою задачу (да и быстродействие таких МК в большинстве случаев различно) вообще общее тактирование бессмысленно.
Другое дело общий сигнал предустановки/сброса, единый для всего устройства - это более актуально и достаточно часто применяется.
Вариант "многофазной синхронизации" ранее применялся в конструкциях на "рассыпухе" и/или старинных комплектах "рассыпных" микропроцессорных систем... К примеру тот же генератор от КС1804ГГ1...
Сегодня подобное - редкость...
Re: 2 микроконтроллера от 1 источника тактирования сигнала
на низких частотах (до 25 МГц для ардуино) никаких заморочек с разводкой монтажа нет.BOB51 писал(а):А вот заморочки с разводкой монтажа черезмерно много.
не путать с современными материнскими платами... с частотой шины - гигагерцы))
линии синхронизации уже присутствуют на схеме))BOB51 писал(а):Все равно придется линии синхронизации/квитирования делать для синхронизации процессов доступа кобщим ресурсам
после включения питания первый МК передаёт сигнал синхронизации... остальные МК синхронизируются по этому сигналу...
далее все инструкции во всех МК выполняются синхронно. получилась обычная многоядерная схема... с распределёнными вычислениями))
расскажите это разработчикам современных процессоров))BOB51 писал(а):На сегодня скармливать нескольким МК в единой конструкции общий тактовый сигнал...
Никакого смысла нету.
а то они не в курсе зачем они делают много ядерные системы))
все современные процессоры - много ядерные... с распределёнными вычислениями...
и все они работают от одного кварцевого генератора...
правда со встроенным синтезатором и отдельным делителем... но это не важно... это уже мелкие подробности))
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 из-за тормознутости исполнения обработчика.
Так что ваша "идея" не имеет никакого смысла. А вместе с ней и необходимость единого тактирования.
ЗЫ. А вообще, опишите свою прикладную задачу. Есть подозрение, что проблемы надуманы.
Вы не понимаете очевидного. При использовании АППАРАТНОГО интерфейса, время передачи-приема данных НЕ НАГРУЖАЕТ КОНТРОЛЛЕР. То есть все время измерений может идти передача данных ПРЕДЫДУЩЕГО измерения. Поскольку АЦП в Атмелах очень медленный, то времени на передачу ОЧЕНЬ МНОГО. То есть можно спокойно передавать через SPI и не париться.
При использовании параллельного интерфейса есть два варианта захвата данных слейвом - опрос синхросигнала или внешнее прерывание по синхросигналу. Первый вариант не даст нормально работать слейву, создавая блокирующий код. Второй вариант будет выполнятся не быстрее SPI из-за тормознутости исполнения обработчика.
Так что ваша "идея" не имеет никакого смысла. А вместе с ней и необходимость единого тактирования.
ЗЫ. А вообще, опишите свою прикладную задачу. Есть подозрение, что проблемы надуманы.
Re: 2 микроконтроллера от 1 источника тактирования сигнала
roman.com
Не путайте "многоядерность" на одном кристалле с "рассыпухой" из нескольких МК в одной конструкции.
Там просто нет смысла заводить энное количество генераторов на ОДИН ОБЩИЙ КОРПУС, в коем те ядра установлены.
Если "общая синхронизация" единым источником тактирования столь волшебна - зачем тогда использовать в схеме дополнительное квитирование при обмене данными?
Относительно "низких частот" порой некорректно разработанная схема последовательного сдвига данных на регистрах "затыкается" уже на единицах мегагерц.

Не путайте "многоядерность" на одном кристалле с "рассыпухой" из нескольких МК в одной конструкции.
Там просто нет смысла заводить энное количество генераторов на ОДИН ОБЩИЙ КОРПУС, в коем те ядра установлены.
Если "общая синхронизация" единым источником тактирования столь волшебна - зачем тогда использовать в схеме дополнительное квитирование при обмене данными?
Относительно "низких частот" порой некорректно разработанная схема последовательного сдвига данных на регистрах "затыкается" уже на единицах мегагерц.
- КРАМ
- Друг Кота
- Сообщения: 25277
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: 2 микроконтроллера от 1 источника тактирования сигнала
[uquote="roman.com",url="/forum/viewtopic.php?p=4480251#p4480251"]расскажите это разработчикам современных процессоров))
а то они не в курсе зачем они делают много ядерные системы))
все современные процессоры - много ядерные... с распределёнными вычислениями...
и все они работают от одного кварцевого генератора...
правда со встроенным синтезатором и отдельным делителем... но это не важно... это уже мелкие подробности))[/uquote]
Вы не понимаете о чем пишите.
Причину использования одного осциллятора (а не тактового генератора - почувствуйте разницу) вам изложил BOB51.
Но даже если все тактовые генераторы всех ядер запустить в когерентном режиме, то и тогда код не будет исполнятся синхронно. Есть куча причин, по которой программный синхронизм не может быть достигнут ПРИНЦИПИАЛЬНО.
Именно поэтому в многоядерных системах делают специальный межядерный интерфейс, который СОВЕРШЕННО АСИНХРОНЕН.
а то они не в курсе зачем они делают много ядерные системы))
все современные процессоры - много ядерные... с распределёнными вычислениями...
и все они работают от одного кварцевого генератора...
правда со встроенным синтезатором и отдельным делителем... но это не важно... это уже мелкие подробности))[/uquote]
Причину использования одного осциллятора (а не тактового генератора - почувствуйте разницу) вам изложил BOB51.
Но даже если все тактовые генераторы всех ядер запустить в когерентном режиме, то и тогда код не будет исполнятся синхронно. Есть куча причин, по которой программный синхронизм не может быть достигнут ПРИНЦИПИАЛЬНО.
Именно поэтому в многоядерных системах делают специальный межядерный интерфейс, который СОВЕРШЕННО АСИНХРОНЕН.


