|
Две MAX II CPLD, нужна синхронная работа обоих мс |
|
|
|
Jun 23 2015, 17:49
|

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

|
В изделии две cpld EPM570 с одинаковой прошивкой. На тактовые входы обоих поступает общая частота 120 MHz от кварцевого генератора. Сигнал синхронного сброса счётчика (reset) формируется внешней микросхемой и поступает на обычный I/O pin альтер. Длительность фронта нарастания сигнала сброса ~ 20 нс. Длина проводника клока и сброса между альтерами ~ 3 см шириной 0.25 мм. Могут ли при таких условиях альтеры работать не синхронно? Если да, то что посоветуете сделать чтобы при каждом сбросе добиться 100% синхронного запуска счетчиков?
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 23 2015, 18:34
|

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

|
Цитата(Александр77 @ Jun 23 2015, 21:11)  так что на синхронизации дорожка сказаться не должна. Спасибо. Я так и предполагал. А вот, длительность фронта сигнала сброса (20 нс) беспокоит. Изделие реальное. Пока единичное. Раз сто включал-выключал и просто пинцетом сброс формировал, всегда синхронно стартуют счётчики. Но всё же что то беспокоит а не начнутся ли проблемы в партии из за разброса параметров мс или еще чего.
|
|
|
|
|
Jun 23 2015, 19:29
|

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

|
Цитата(dvladim @ Jun 23 2015, 22:22)  А почему фронт сброса такой медленный? Ну, какой есть... Т.е. Вы считаете что от скорости нарастания сигнала сброса может зависеть синхронность запуска альтер? Если да, то каким должен быть сигнал сброса для синхронного запуска счётчиков обоих альтер? Цитата(dvladim @ Jun 23 2015, 22:22)  Как вариант сброс одной ПЛИС сделать от другой. Не хочется "лезть" в альтеру. И прошивку хочется иметь одинаковую для обоих.
|
|
|
|
|
Jun 24 2015, 06:30
|

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

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

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

|
Цитата(EvgenyNik @ Jun 24 2015, 09:30)  Уверены, что сброс заканчивается не раньше, чем сконфигурируются максы? Уверен. Минимальная длительность ноля сигнала сброса 1 сек. Reset формирует мк. Цитата(EvgenyNik @ Jun 24 2015, 09:30)  Даже идеально одновременно загруженные устройства, при приведённой схеме тактирования и сброса, не гарантируют синхронной смены состояния счётчика, если фронт сброса совпадёт с фронтом тактовой частоты. Один запуститься, допустим, сразу, а второй "дождётся" следующего такта. Т.е. при любой длительности фронта нарастания сигнала сброса возможен не синхронный старт счётчиков. Но чем этот фронт меньше тем меньше вероятность совпадения его фронта (уровня при котором максы считают его единицей) с фронтом тактового сигнала. Я правильно мыслю? Интересно, а можно ли посчитать вероятность не синхронного старта счётчиков такой схемы?
|
|
|
|
|
Jun 24 2015, 12:19
|

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

|
Цитата(zombi @ Jun 24 2015, 10:50)  Но чем этот фронт меньше тем меньше вероятность совпадения его фронта (уровня при котором максы считают его единицей) с фронтом тактового сигнала. Я правильно мыслю? Чем меньше сигнал находится в зоне неопределённого уровня, тем, разумеется, меньше вероятность. Цитата(zombi @ Jun 24 2015, 10:50)  Интересно, а можно ли посчитать вероятность не синхронного старта счётчиков такой схемы? Посчитать можно что угодно. Но бывает, что математика приближает нас к пониманию процессов, а бывает, что - отдаляет от реальной жизни. Я бы предложил Вам сделать так:
Кроме того, для CPLD1 назначить входу захвата сброса опцию триггера Шмидта. p.s. линию сброса для cpld2 случайно провёл в рамке кристалла - не обращайте внимания, она с выхода slaveresetout до входа slaveresetin полностью - внешний проводник. Не особо длинный, разумеется.
--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
|
|
|
|
|
Jun 24 2015, 18:43
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Цитата(zombi @ Jun 24 2015, 21:00)  А зачем через пару Дтриггеров пропускать? Почему одного не достаточно? Классическая схема синхронизации. На выходе первого триггера возможна метастабильность, которая на выход второго не попадёт (очень низкая вероятность). Читайте про CDC (Clock Domain Crossing)
|
|
|
|
|
Jun 24 2015, 20:08
|

Гуру
     
Группа: Свой
Сообщений: 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 млн лет. Стоит ли с этим бороться? Тем более мк может контролировать работу максов. Если не запустились, то еще раз ресетом дёрнуть.
|
|
|
|
|
Jun 25 2015, 09:36
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

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