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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Две MAX II CPLD, нужна синхронная работа обоих мс
zombi
сообщение Jun 23 2015, 17:49
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



В изделии две cpld EPM570 с одинаковой прошивкой.
На тактовые входы обоих поступает общая частота 120 MHz от кварцевого генератора.
Сигнал синхронного сброса счётчика (reset) формируется внешней микросхемой и поступает на обычный I/O pin альтер.
Длительность фронта нарастания сигнала сброса ~ 20 нс.
Длина проводника клока и сброса между альтерами ~ 3 см шириной 0.25 мм.
Могут ли при таких условиях альтеры работать не синхронно?
Если да, то что посоветуете сделать чтобы при каждом сбросе добиться 100% синхронного запуска счетчиков?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jun 23 2015, 18:11
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Время пробега 3 см в "стандартном" FR4 получается около 215 пс (эпсилон 4,6). Это меньше периода импульсов частоты 120МГц (8,3 нс) и длительности фронта, так что на синхронизации дорожка сказаться не должна.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 23 2015, 18:34
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Александр77 @ Jun 23 2015, 21:11) *
так что на синхронизации дорожка сказаться не должна.

Спасибо. Я так и предполагал.

А вот, длительность фронта сигнала сброса (20 нс) беспокоит.

Изделие реальное. Пока единичное.
Раз сто включал-выключал и просто пинцетом сброс формировал, всегда синхронно стартуют счётчики.
Но всё же что то беспокоит а не начнутся ли проблемы в партии из за разброса параметров мс или еще чего.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Jun 23 2015, 19:22
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



А почему фронт сброса такой медленный?
Как вариант сброс одной ПЛИС сделать от другой.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 23 2015, 19:29
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(dvladim @ Jun 23 2015, 22:22) *
А почему фронт сброса такой медленный?

Ну, какой есть...
Т.е. Вы считаете что от скорости нарастания сигнала сброса может зависеть синхронность запуска альтер?
Если да, то каким должен быть сигнал сброса для синхронного запуска счётчиков обоих альтер?

Цитата(dvladim @ Jun 23 2015, 22:22) *
Как вариант сброс одной ПЛИС сделать от другой.

Не хочется "лезть" в альтеру.
И прошивку хочется иметь одинаковую для обоих.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jun 24 2015, 06:30
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Детально не вдавался никогда, но вот вопрос - а что из себя представляет процесс начального конфигурирования логической структуры MAXII при включении? Там же flash конфигурационная на борту. И генератор тактовый встроенный с разбросом от 3.3МГц до 5.6МГц. Сдаётся мне, что при включении некий автомат начинает читать конфигурационную флеш и распихивать битики по элементам управления ячейками. С учётом огромного допустимого разброса тактовой частоты, время готовности у двух одинаковых микросхем с одинаковой прошивкой, в таком случае, будет существенно разное. Уверены, что сброс заканчивается не раньше, чем сконфигурируются максы?
Думаю, что при любых раскладах надо выделять хотя бы 1 проводник под синхронизацию старта уже загруженной и запустившейся прошивки. Как минимум, просто enable какой. Ну или вплоть то передачи номера состояния цифрового автомата в соседний корпус.
Даже идеально одновременно загруженные устройства, при приведённой схеме тактирования и сброса, не гарантируют синхронной смены состояния счётчика, если фронт сброса совпадёт с фронтом тактовой частоты. Один запустится, допустим, сразу, а второй "дождётся" следующего такта.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 24 2015, 07:50
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(EvgenyNik @ Jun 24 2015, 09:30) *
Уверены, что сброс заканчивается не раньше, чем сконфигурируются максы?

Уверен. Минимальная длительность ноля сигнала сброса 1 сек. Reset формирует мк.

Цитата(EvgenyNik @ Jun 24 2015, 09:30) *
Даже идеально одновременно загруженные устройства, при приведённой схеме тактирования и сброса, не гарантируют синхронной смены состояния счётчика, если фронт сброса совпадёт с фронтом тактовой частоты. Один запуститься, допустим, сразу, а второй "дождётся" следующего такта.

Т.е. при любой длительности фронта нарастания сигнала сброса возможен не синхронный старт счётчиков.
Но чем этот фронт меньше тем меньше вероятность совпадения его фронта (уровня при котором максы считают его единицей) с фронтом тактового сигнала.
Я правильно мыслю?

Интересно, а можно ли посчитать вероятность не синхронного старта счётчиков такой схемы?
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jun 24 2015, 12:19
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата(zombi @ Jun 24 2015, 10:50) *
Но чем этот фронт меньше тем меньше вероятность совпадения его фронта (уровня при котором максы считают его единицей) с фронтом тактового сигнала.
Я правильно мыслю?
Чем меньше сигнал находится в зоне неопределённого уровня, тем, разумеется, меньше вероятность.
Цитата(zombi @ Jun 24 2015, 10:50) *
Интересно, а можно ли посчитать вероятность не синхронного старта счётчиков такой схемы?
Посчитать можно что угодно. Но бывает, что математика приближает нас к пониманию процессов, а бывает, что - отдаляет от реальной жизни.
Я бы предложил Вам сделать так:
Прикрепленное изображение

Кроме того, для CPLD1 назначить входу захвата сброса опцию триггера Шмидта.
p.s. линию сброса для cpld2 случайно провёл в рамке кристалла - не обращайте внимания, она с выхода slaveresetout до входа slaveresetin полностью - внешний проводник. Не особо длинный, разумеется.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
_pv
сообщение Jun 24 2015, 12:40
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(zombi @ Jun 24 2015, 13:50) *
Т.е. при любой длительности фронта нарастания сигнала сброса возможен не синхронный старт счётчиков.
Но чем этот фронт меньше тем меньше вероятность совпадения его фронта (уровня при котором максы считают его единицей) с фронтом тактового сигнала.
Я правильно мыслю?

ресет надо сихнронным с клоками сделать, перед подчаей на вход обоих cpld пропустить через пару Дтриггеров, тактируемых от тех же клоков, лучше инвертированных.
тогда по положительному фронту обе cpld гарантированно увидят одно и то же состояние ресета.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 24 2015, 13:29
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(EvgenyNik @ Jun 24 2015, 15:19) *
Я бы предложил Вам сделать так:

Спасибо за разъяснение. Теперь всё ясно.

Придётся и разводку менять и прошивки будут разные для максов crying.gif

Цитата(_pv @ Jun 24 2015, 15:40) *
ресет надо сихнронным с клоками сделать, перед подчаей на вход обоих cpld пропустить через пару Дтриггеров, тактируемых от тех же клоков, лучше инвертированных.
тогда по положительному фронту обе cpld гарантированно увидят одно и то же состояние ресета.

Спасибо. Тоже вариант.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 24 2015, 18:00
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(_pv @ Jun 24 2015, 15:40) *
ресет надо сихнронным с клоками сделать, перед подчаей на вход обоих cpld пропустить через пару Дтриггеров, тактируемых от тех же клоков, лучше инвертированных.
тогда по положительному фронту обе cpld гарантированно увидят одно и то же состояние ресета.

А зачем через пару Дтриггеров пропускать? Почему одного не достаточно?
Go to the top of the page
 
+Quote Post
Inanity
сообщение Jun 24 2015, 18:43
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(zombi @ Jun 24 2015, 21:00) *
А зачем через пару Дтриггеров пропускать? Почему одного не достаточно?


Классическая схема синхронизации. На выходе первого триггера возможна метастабильность, которая на выход второго не попадёт (очень низкая вероятность).
Читайте про CDC (Clock Domain Crossing)
Go to the top of the page
 
+Quote Post
zombi
сообщение Jun 24 2015, 20:08
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Почитал про метастабильность.
Еще о метастабильности.
цитирую:
Цитата
Говорят, что для типичных цифровых микросхем, выполненных по технологии 0,25um, при частоте событий 1Мгц и тактовой частоте 100Мгц получается MTBF = 20 дней.


У меня клок 120 MHz довольно близко к 100.
Но частота событий 1-2 ну может аж 10 раз в день.
Это количество включений изделия.

Получается : 60*60*24*1000000/10*20/365= > 473 млн лет. biggrin.gif

Стоит ли с этим бороться?

Тем более мк может контролировать работу максов.
Если не запустились, то еще раз ресетом дёрнуть.
Go to the top of the page
 
+Quote Post
Shivers
сообщение Jun 25 2015, 07:39
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Правильно вам посоветовали. 20нс - очень медленное нарастание сигнала - может случиться так, что в одной ПЛИС сработает по порогу в этом такте, в а другой ПЛИС в следующем. Получите рассинхронизацию в один такт. Выход один - сброс пропустить через два триггера, и синхронизированный завести в обе ПЛИС. Не забудьте убедиться что синхронный сброс дошел менее чем за один период до обеих ПЛИС (ПЛИС или CPLD, не суть важно).
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 25 2015, 09:36
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(zombi @ Jun 24 2015, 23:08) *
Тем более мк может контролировать работу максов.
Если не запустились, то еще раз ресетом дёрнуть.
А вот с этого и стоило начинать. Если допускается сброс максов в процессе работы, то вариант с контролем их синхронности и последующим ресинхронизирующим сбросом вполне нормальное решение.
Но триггер шмита на вход и синхронизирующие триггера на ресет очень желательны. И контроль за рассинхронизацией так же желательно сделать внутри одного из максов.

Цитата
Придётся и разводку менять и прошивки будут разные для максов

Прошивка у максов может быть одинаковая - просто часть ее (синхронизация и контроль) будут использоваться только в одном их максов (а присутствовать могут в обоих, не помешает). А вот разводку придется менять, увы.

Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 02:08
Рейтинг@Mail.ru


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