реклама на сайте
подробности

 
 
> 12 ATmega48 от одного тактового генератора (внешнего)., Можно ли провести 8 Мгц по всей плате?
galjoen
сообщение Nov 19 2008, 17:15
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Есть одна задача, требующая достаточно больших вычислений, но легко параллелящаяся на 12 потоков. Если можно установить 12 штук ATmega48 (или 88), работающих от одного внешнего тактового генератора, то задача очень красиво решается (питание процессоров 3В тактовая частота 8Мгц). Я понимаю, конечно, что можно использовать внутренние тактовые генераторы и их частоту подстраивать по внешнему сигналу. Но это не то. Частота совпадёт, но фаза будет отличатся, а необходимо именно совпадение фазы тактового сигнала.
Вобщем получается, что нужно около 100мм печатного проводника с частотой 8 Мгц по плате провести. Можно ли как-нибудь такое сделать? Ну там параллельно с обоих сторон землю провести, или ещё как? И как там со всякими затуханиями? И нужен ли терминальный резистор? Я в этих вопросах полный профан.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
=GM=
сообщение Nov 21 2008, 13:20
Сообщение #2


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(galjoen @ Nov 19 2008, 17:15) *
...нужно около 100мм печатного проводника с частотой 8 Мгц по плате провести

Посчитаем: 10 см дают задержку импульса где-то на 30 нс, для вашего 125 нс такта это где-то 25%. Если вам так важна полная фазировка, надо принимать соотв. меры. Можно, например, уменьшить размер проводника 8 МГц, разместив генератор в середину платы, а по четырём сторонам вокруг него расположить по 3 МК. Ну или сделать отдельные линии для каждого МК и выровнять все пути от генератора до всех МК, чтобы задержки были одинаковыми. В начале и конце каждой линии поставить по инвертору.

Цитата(galjoen @ Nov 19 2008, 18:41) *
А для синхронизации там специальный сигнал будет. Он там есть уже, только в этом случае его через D-триггер пропустить придётся для синхронизации с тактовой частотой

Не понимаю вашей идеи, зачем нужен триггер? Все 12 МК можно засинхронизировать по одному проводу безо всяких триггеров с точностью до перехода 0-1.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 21 2008, 13:48
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(=GM= @ Nov 21 2008, 16:20) *
Посчитаем: 10 см дают задержку импульса где-то на 30 нс, для вашего 125 нс такта это где-то 25%. Если вам так важна полная фазировка, надо принимать соотв. меры. Можно, например, уменьшить размер проводника 8 МГц, разместив генератор в середину платы, а по четырём сторонам вокруг него расположить по 3 МК. Ну или сделать отдельные линии для каждого МК и выровнять все пути от генератора до всех МК, чтобы задержки были одинаковыми. В начале и конце каждой линии поставить по инвертору.

Петли, как на материнских платах, я разведу. Спасибо за совет. Но инверторы зачем? Да ещё по два.
Цитата(=GM= @ Nov 21 2008, 16:20) *
Не понимаю вашей идеи, зачем нужен триггер? Все 12 МК можно засинхронизировать по одному проводу безо всяких триггеров с точностью до перехода 0-1.

Да они и будут синхронизироваться по одному проводу с точностью до такта (за два фронта синхросигнала). По первому фронту с точностью в 2 такта, и по второму уточнятся до такта. А триггер для того, чтобы сигнал синхронизации засинхронизировать с тактовым сигналом (изначально они не синхронны). Если так не делать, то фронт синхросигнала может попасть на границу тактов, и из-за небольшой разницы в фазах по процессорам, которая всётаки будет, один процессор может воспринять его в одном такте, а другой в другом.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 21 2008, 15:55
Сообщение #4


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(galjoen @ Nov 21 2008, 13:48) *
Но инверторы зачем? Да ещё по два

Можно и без них, зависит от ваших требований к рассогласованию по фазе, скажем, 10 нс и 0.1 нс немного разные вещи. Инверторы развяжут и согласуют, согласитесь, одну линию легче проконтролировать, чем пучёк из 12. Ну поставьте 12 инверторов в начале, если будет всё нормально, кинете перемычку.
Цитата(galjoen @ Nov 21 2008, 13:48) *
Да они и будут синхронизироваться по одному проводу с точностью до такта (за два фронта синхросигнала). По первому фронту с точностью в 2 такта, и по второму уточнятся до такта. А триггер для того, чтобы сигнал синхронизации засинхронизировать с тактовым сигналом (изначально они не синхронны). Если так не делать, то фронт синхросигнала может попасть на границу тактов, и из-за небольшой разницы в фазах по процессорам, которая всё-таки будет, один процессор может воспринять его в одном такте, а другой в другом

Всё равно не понимаю. Если будет разница в фазах, то триггер вам не поможет.

Вообще похоже, мы о разных вещах говорим. Когда я говорю засинхронизировать микроконтроллеры, я подразумеваю, что одинаковая программа будет выполняться на всех МК такт в такт.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 21 2008, 16:20
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(=GM= @ Nov 21 2008, 18:55) *
Всё равно не понимаю. Если будет разница в фазах, то триггер вам не поможет.

Вообще похоже, мы о разных вещах говорим. Когда я говорю засинхронизировать микроконтроллеры, я подразумеваю, что одинаковая программа будет выполняться на всех МК такт в такт.

Да, именно так. Во всех процессорах программа в один и тот-же такт должна начинаться и заканчиваться. Момент этого самого начала определяется по специальному сигналу синхронизации. Но этот сигнал внешний, и с тактовым генератором не связан. Поэтому его фронт может по периоду тактовой частоты гулять. Это может привести к рассинхронизации процессоров на 1 такт. А D-триггер обеспечит одновременность фронтов у тактового сигнала процессоров, и сигнала синхронизации этих процессоров. На вход данных D-триггера подаём внешний синхросигнал, на вход C - тактовый сигнал, и с выхода получаем, засинхронизированный по тактовому сигналу, внешний синхросигнал.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- galjoen   12 ATmega48 от одного тактового генератора (внешнего).   Nov 19 2008, 17:15
- - domowoj   10 см проводника с 8 Mhz, ИМХО, не самая страшная ...   Nov 19 2008, 17:41
|- - galjoen   Цитата(domowoj @ Nov 19 2008, 20:41) 10 с...   Nov 19 2008, 17:50
|- - _Pasha   Цитата(galjoen @ Nov 19 2008, 21:50) Дор...   Nov 19 2008, 18:07
|- - galjoen   Цитата(_Pasha @ Nov 19 2008, 21:07) Дорож...   Nov 19 2008, 18:41
- - slog   8MHz "детская" частота. Тяни не бойся. Д...   Nov 19 2008, 18:21
- - bzx   А почему бы не рассмотреть замену 12mcu на 1mcu с ...   Nov 19 2008, 20:16
|- - galjoen   Цитата(bzx @ Nov 19 2008, 23:16) А почему...   Nov 19 2008, 21:13
|- - bzx   Цитата(galjoen @ Nov 20 2008, 00:13) 12 ш...   Nov 19 2008, 22:39
|- - defunct   Цитата(galjoen @ Nov 19 2008, 23:13) 12 ш...   Nov 19 2008, 23:35
|- - galjoen   2 'defunct', 'bzx' Там проблемма в...   Nov 21 2008, 10:53
|- - _Pasha   Цитата(galjoen @ Nov 21 2008, 14:53) Но в...   Nov 21 2008, 11:15
|- - galjoen   Цитата(_Pasha @ Nov 21 2008, 14:15) Зачем...   Nov 21 2008, 11:34
|- - _Pasha   Цитата(galjoen @ Nov 21 2008, 15:34) Прид...   Nov 21 2008, 11:54
|- - galjoen   Цитата(_Pasha @ Nov 21 2008, 14:54) И тек...   Nov 21 2008, 12:27
|- - _Pasha   Цитата(galjoen @ Nov 21 2008, 16:27) Да, ...   Nov 21 2008, 12:46
|- - galjoen   Цитата(_Pasha @ Nov 21 2008, 15:46) К сож...   Nov 21 2008, 13:04
- - _Pasha   А цепочкой там проще не выйдет ? (clko -> clki)...   Nov 19 2008, 21:33
|- - galjoen   Цитата(_Pasha @ Nov 20 2008, 00:33) А цеп...   Nov 19 2008, 22:11
- - dENIM   шайтан-устройство MegaCELL   Nov 19 2008, 23:49
||- - =GM=   Цитата(galjoen @ Nov 21 2008, 16:20) Моме...   Nov 21 2008, 16:25
||- - Nanobyte   Цитата(galjoen @ Nov 21 2008, 20:20) ...Д...   Nov 21 2008, 20:31
||- - galjoen   2=GM= Начать выполнение программы одновременно не ...   Nov 21 2008, 23:00
||- - _Pasha   Цитата(galjoen @ Nov 22 2008, 03:00) 2=GM...   Nov 22 2008, 08:25
|- - ae_   Цитата(=GM= @ Nov 21 2008, 21:20) Посчита...   Nov 22 2008, 03:34
- - _Pasha   Цитата(galjoen @ Nov 21 2008, 17:04) А по...   Nov 21 2008, 14:35
- - МП41   Чем больше контроллеров в системе, тем выше вероят...   Nov 21 2008, 14:46
- - Stanislav   Цитата(galjoen @ Nov 19 2008, 20:15) Есть...   Nov 21 2008, 23:23
- - galjoen   Цитата(Stanislav @ Nov 22 2008, 02:23) На...   Nov 22 2008, 21:32
- - _Pasha   Цитата(galjoen @ Nov 23 2008, 01:32) В ка...   Nov 23 2008, 07:43
- - galjoen   Цитата(_Pasha @ Nov 23 2008, 10:43) Стоп-...   Nov 23 2008, 19:14


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 19:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01441 секунд с 7
ELECTRONIX ©2004-2016