|
Непонятные глюки Cyclone 3, после длительного неиспользования девайса |
|
|
|
Jan 13 2010, 09:54
|
Частый гость
 
Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167

|
Здравствуйте. Собственно проблема: Есть 2 платы на каждой из которых установлены ПЛИС Cyclone 3 (EPC35E144C7), режим загрузки AS (через EPCS4). Платы соединены оптикой - транссиверы на 125Мбит, скорость передачи 120МБит. У первой платы USB интерфейс (Full-Speed). Тактирование каждой платы идет от генератора 48МГц, задействована PLL (normal mode) на которой получаем два клока по 120МГц (один со сдвигом на 90 градусов). Платы пока в тестировании, так что приходится с ними часто работать перешивать и т.п.
Перед НГ сделал можно сказать бета-версию прошивок обеих плат - работают без проблем (прокачал не одну сотню МБайт данных), всякие ситуации с потерей связи по оптике/включениями в разном порядке тоже проверил. И в пятницу к вечеру у меня все заработало - довольный ухожу на выходные (девайс остался выключенным). Прихожу в понедельник - работать не хочет ни в какую, сбои сразу после включения. Продолбался полдня. Откатился на старые версии прошивок (частота 90МГц) - работает, ради интереса зашил последние версии - опять работает! И так в течение недели все работало нормально, после выходных опять ситуация повторилась. Вначале думал, на ошибку в логике, но никакими другими путями этот сбой не возникает. После НГ ситуация повторилась - здесь я был более готов и пробовал найти причину сбоя, но кроме того, что сбоит после старта не нашел: поскольку перепрошил 2 плату (первую не трогал) чуть измененной прошивкой (поменял только назначение тестовых выходов) - все опять заработало без проблем! Причем до этого полдня сбой стабильно проявлялся.
Начал подозревать, что сбоит EPCS4, оставил платы поваляться пару суток на полке. Сейчас включил - сбоит. Сделал верификацию (успешная) и examine прошивки второй платы - все сбои устранились.
Короче я в недоумении. Пока одна мысль - заменить EPCS4 на второй плате, может к чему-нибудь приведет. Жду советов в искоренении данной проблемы.
|
|
|
|
|
Jan 13 2010, 13:47
|
Частый гость
 
Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167

|
Из всего вышеперечисленного есть следующие гипотезы: 1) Накопление/стекание заряда на неподключенных ножках. Очень вероятно, но тяжело диагностировать и исправлять. Сюда же можно отнести не совсем правильное подключение компонент на плате (вроде не такого, а там хз). 2) Глюк EPCS4. Маловероятно, но на всякий случай поменяю. 3) Логические сбои. Маловероятно при таких начальных условиях. Если бы сбоило, то всегда (сейчас сбои случайными не назовешь). 4) Дефект платы/разводки. Маловероятно при таких начальных условиях. Если бы сбоило, то всегда. Хотя земля на брюхе циклона может быть плохо пропаяна - уже сталкивался, правда тогда вообще ничего не работает. Отдам на тщательную пропайку. 5) Температурная зависимость. Изначально предполагал её, но поскольку полдня работает со сбоями, а после перепрошивки глюки сразу исчезают - не в этом дело.
Подскажите, где в квартусе установить галочку, чтобы все неиспользуемые ножки как на ноль подтягивались?
|
|
|
|
|
Jan 13 2010, 14:11
|
Частый гость
 
Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167

|
Цитата(Stewart Little @ Jan 13 2010, 17:01)  Assignment - Device - Device and Pin options - Unused Pins. Но там по умолчанию и так должно стоять "As output driving ground". Стояло "Input tri-stated with weak pull-up". Поменял на выходы соединенные с землей. Только результаты всех изменений в понедельник будут известны. PS: Пины для программирования отдельно указаны "input tri-stated".
|
|
|
|
|
Jan 14 2010, 06:11
|
Частый гость
 
Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167

|
Цитата(SM @ Jan 13 2010, 21:35)  Как раз наоборот - один из потенциальных признаков темп. зависимости - во время перепрошивки кристалл успевает сменить темп-ру относительно его рабочего состояния.
А EPCS-ку можете исключить сразу. Лучше попробуйте вместо перепрошивки подержать ПЛИСку в полном сбросе какое-то время (типа nconfig на земле), чтобы остыла, или вообще без питания. Это что, он за 2 суток не охлаждается? Не верится. Я пробовал платы выкладывать на улицу -10 градусов, потом тестил - никаких сбоев. На горячую тоже все в норме. А вот насчет полного сброса - очень вероятно. Поскольку кажется не сам факт манипуляций с прошивкой, а подключенный USB-Blaster восстанавливает работоспособность. А он как раз ПЛИС в сбросе и держит.
|
|
|
|
|
Jan 14 2010, 09:09
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 17-05-07
Пользователь №: 27 775

|
Опишу свою ситуацию, как было. Симптомы примерно такие же - девайс работает часами, но при включении с утра отказывается работать - передает через кипарис по USB несколько килобайт и виснет намертво. А как "разработается", то работает часами  . Короче решил проблему, дело было в следующем: схема такая - плис циклон 2 + кипарис (USB мост). схема тестирования - из SDRAM, подключенного к плис, 32 мега, данные через USB идут на комп. На компе тестирующая прога - просто читает данные из ОЗУ. Когда я прописывал ОЗУ случайными числами - все читалось ОК. А после включения в ОЗУ были почти все единицы, и поэтому сбоило (это потом до меня дошло). Когда я прописывал ОЗУ единицами, то сбои были стабильными. Причина была банальна - плохая земля между ПЛИС и кипарисом. Плата была двуслойка. Кинул землю дополнительными проводами - проблема исчезла. Убил несколько дней, пока нашел причину.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|