|
12 ATmega48 от одного тактового генератора (внешнего)., Можно ли провести 8 Мгц по всей плате? |
|
|
|
Nov 19 2008, 17:15
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Есть одна задача, требующая достаточно больших вычислений, но легко параллелящаяся на 12 потоков. Если можно установить 12 штук ATmega48 (или 88), работающих от одного внешнего тактового генератора, то задача очень красиво решается (питание процессоров 3В тактовая частота 8Мгц). Я понимаю, конечно, что можно использовать внутренние тактовые генераторы и их частоту подстраивать по внешнему сигналу. Но это не то. Частота совпадёт, но фаза будет отличатся, а необходимо именно совпадение фазы тактового сигнала. Вобщем получается, что нужно около 100мм печатного проводника с частотой 8 Мгц по плате провести. Можно ли как-нибудь такое сделать? Ну там параллельно с обоих сторон землю провести, или ещё как? И как там со всякими затуханиями? И нужен ли терминальный резистор? Я в этих вопросах полный профан.
|
|
|
|
|
 |
Ответов
|
Nov 21 2008, 13:20
|

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.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Nov 21 2008, 13:48
|
Знающий
   
Группа: Свой
Сообщений: 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 такта, и по второму уточнятся до такта. А триггер для того, чтобы сигнал синхронизации засинхронизировать с тактовым сигналом (изначально они не синхронны). Если так не делать, то фронт синхросигнала может попасть на границу тактов, и из-за небольшой разницы в фазах по процессорам, которая всётаки будет, один процессор может воспринять его в одном такте, а другой в другом.
|
|
|
|
|
Nov 21 2008, 15:55
|

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 такта, и по второму уточнятся до такта. А триггер для того, чтобы сигнал синхронизации засинхронизировать с тактовым сигналом (изначально они не синхронны). Если так не делать, то фронт синхросигнала может попасть на границу тактов, и из-за небольшой разницы в фазах по процессорам, которая всё-таки будет, один процессор может воспринять его в одном такте, а другой в другом Всё равно не понимаю. Если будет разница в фазах, то триггер вам не поможет. Вообще похоже, мы о разных вещах говорим. Когда я говорю засинхронизировать микроконтроллеры, я подразумеваю, что одинаковая программа будет выполняться на всех МК такт в такт.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Nov 21 2008, 16:20
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(=GM= @ Nov 21 2008, 18:55)  Всё равно не понимаю. Если будет разница в фазах, то триггер вам не поможет.
Вообще похоже, мы о разных вещах говорим. Когда я говорю засинхронизировать микроконтроллеры, я подразумеваю, что одинаковая программа будет выполняться на всех МК такт в такт. Да, именно так. Во всех процессорах программа в один и тот-же такт должна начинаться и заканчиваться. Момент этого самого начала определяется по специальному сигналу синхронизации. Но этот сигнал внешний, и с тактовым генератором не связан. Поэтому его фронт может по периоду тактовой частоты гулять. Это может привести к рассинхронизации процессоров на 1 такт. А D-триггер обеспечит одновременность фронтов у тактового сигнала процессоров, и сигнала синхронизации этих процессоров. На вход данных D-триггера подаём внешний синхросигнал, на вход C - тактовый сигнал, и с выхода получаем, засинхронизированный по тактовому сигналу, внешний синхросигнал.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|