ALTERA EPM3064 не работает горячая замена

Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

Здравствуйте,возникли проблемы с микросхемой EPM3064ATI44-10.У этой микросхемы есть функция горячей замены. В момент включения модуля в крейт, происходят какие-то непонятные глюки, и шина может подвеситься, в результате чего включаются те ножки, которые должны быть выключены, в общем, происходит некое, крайне нежелательное управление шиной. Я пробовал подавать напряжение VCCINT раньше чем напряжение VCCIOна микросхему(одно из решений описанное в датащите Alter'ы), но результат все тот же. Прошу помочь разобраться в проблеме.

Jсцилограммы включения питания(одна картинка с включением питания по очереди,вторая картинка тоже самое,только с завалом VCCINT), электрическую схему модуляи прошивку(на Verilog) добавил к сообщению.
Вложения
проект.rar
(222.83 КБ) 471 скачивание
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Вам же уже ответили, что VCCINT нужно подавать ПОЗЖЕ питания. Поставьте задержку на секунду.
Ставим плюсы: )
Реклама
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

попробую конечно,но в даташите написано наоборот.Спасибо.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

приведите цитату, если так уверены.
Ставим плюсы: )
Реклама
Эиком - электронные компоненты и радиодетали
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

MAX 3000A devices can be used in a mixed–voltage environment; they have been designed specifically to tolerate any possible power–up sequence. The VCCIO and VCCINT power planes can be powered in any order.

There is a white paper regarding the hot-socketing implementation for CPLD.
http://www.altera.com.my/literature/wp/wp_hsfeat.pdf (page 7 and 8 )

As per MAX 3000A errata sheet (http://www.altera.com.my/literature/ds/ ... family.pdf), Altera has identified that fast VCCINT rise times can lead to pulses on I/O pins during the power-up period on MAX 3000A devices. This condition can violate the hot-socketing definition that says these pins should be tri-stated during power-up and should not source or sink more than 300 μA of current per pin. There are two different pulses resulting from fast VCCINT rise times, a low pulse transient on any I/O pin, and a separate pulse transient on combinatorial output pins.

Specifically for EPM3064A device, fast VCCINT rise times <250us can lead to either transient pulse issue in MAX 3000A devices. Fast VCCINT rise times can lead to a timing lag between output pin output enable (OE) and logic array release when transitioning into user mode. The OE signal releases output pins before the logic array is released and temporarily drives output pins with a high or low signal from the logic array.

Please refer to the workaround in Page 5 and 6 of the MAX 3000A errata sheet.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

:facepalm: Вы хотя бы перевели эту цитату? Хотя бы плохоньким переводчиком?
вот вам в ответ:
MAX 7000AE and MAX 3000A devices support hot socketing without any external components. In a hotsocketing situation, a device’s output buffers are turned off during system power-up. MAX 7000AE and MAX 3000A devices support any power-up sequence to simplify system level design. You can drive signals into the device before or during power-up without damaging the device. MAX 7000AE and MAX 3000A devices will not drive out until the device is configured and reaches proper operating conditions.
Ставим плюсы: )
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

ibiza11, точно-точно.
Nevox писал(а):MAX 3000A devices can be used in a mixed–voltage environment; they have been designed specifically to tolerate any possible power–up sequence. The VCCIO and VCCINT power planes can be powered in any order.

There is a white paper regarding the hot-socketing implementation for CPLD.
http://www.altera.com.my/literature/wp/wp_hsfeat.pdf (page 7 and 8 )
Они были разработаны, чтобы выдерживать любую возможную последовательность подачи питания.
Ну и документ по ссылочке читали, надеюсь.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

Да,тут написано именно так,что подавать можно как угодно, но если почитаете остальные даташиты (http://www.altera.com.my/literature/ds/ ... family.pdf таблица 2, первая строка) ,то поймете,что все же они советуют включать VCCINT раньше. Что я и сделал. Тогда почему все равно не работает функция горячей замены?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

ну да, есть такое. А это Вас не устраивает? :
2. Decrease VCCIO rise time to faster than 10 ms
Ставим плюсы: )
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

я это делал, не помогло, там приложена осцилограмма в файле(в первом сообщении). Поэтому и пишу сюда.
Просто может еще какие варианты есть.
Мудрый кот
Аватара пользователя
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

Nevox писал(а):таблица 2, первая строка
А почему вы в питание упёрлись? Если последовательность подачи не влияет на вашу ситацию, то может вторая строчка из упомянутой таблицы?
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

а как ее осуществить? я немного не понимаю, написано вроде,что надо питание заземлить, а если его заземлишь его же не будет,объясните?
Мудрый кот
Аватара пользователя
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

Это было как вариант. Может у вас "Combinatorial Transient".
Смотрите какое именно вмешательство происходит. Может ситуация проясниться.
Так трудно что-то советовать.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

Выходные сигналы плиса всему виной,скорее всего. В Z состояние я ставил все выводы,результат тот же
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

не знаю как конкретно выявлять где именно глючит ,но поставил на вход модуля супервизор по питанию и завел ресет на альтеру,добавил в прошивку код:

Код: Выделить всё


 always @(RES_SV) 
 
   casex (RES_SV)
       1'b1:    RES_CASE=1'b1;
       1'bx:    RES_CASE=1'b1;
       1'b0:    RES_CASE=1'b0;
 endcase 
 
  assign RESET=RES&RES_CASE;
Все равно не помогло, уже просто не знаю,что это может быть.
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

прошу помочь!

Пришел ответ с альтеры.

MAX+PLUS® II design software and the Quartus® II design software does not allow you to set the Power-up High logic option for MAX 3000A devices. You have to manually edit the design file to insert NOT gates before and after the register, and connect the preset pin to the clear port of the register instead of the preset port. To set the assignment for the register, go to Assign --> Logic Options --> Individual Logic Options --> Advanced Options. Uncheck the box for "NOT Gate Push-Back".

помогите пожалуйста это сделать. Как я понял,надо сделать двойное инверирование. И соединить пресет порт с чистым поротом(ваще хз,что это). Как сделать-то?)
Друг Кота
Аватара пользователя
Сообщения: 17234
Зарегистрирован: Чт апр 04, 2013 12:46:59
Откуда: Тюмень

Сообщение Slabovik »

Вот теперь яснее. Подтяжки R19-R22 зацеплены на +5V. В момент подключения там никаких +5V нет - они появятся позже. Следовательно в это время этьи резисторы соединяют сигналы шины на землю. А кто перетянет - вопрос открытый. Их следует перецепить на VCC (оно тоже 5 вольт, как я понимаю), либо, что ещё лучше, вообще отключить... но это сложно....
По D3 я, честно говоря, ниасилил... Но суть та же - необходимо узнать, что представляют собой её порты, которые зацеплены прямо на шину, при а) отсутствии питания (а мне представляется, что там также произойдёт к.з. через внутренние диодные структуры); б) в момент между подачей питания и окончанием инициализации...
Контактная информация:
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

так это же ножки для прошивки,как они могут влиять на другие модули? VCC тоже 5В да.
Друг Кота
Аватара пользователя
Сообщения: 17234
Зарегистрирован: Чт апр 04, 2013 12:46:59
Откуда: Тюмень

Сообщение Slabovik »

Из схемы совершенно неясно, что они делают на разъёме, идут ли на другие модули, или нет. Если не идут - что они делают на разъеме вообще? И в полной мере остаётся вопрос с поведением ног соединённых с Axx и Dx...
Контактная информация:
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Сообщение Nevox »

Вот прошивка:

Код: Выделить всё

module SN_DV_8_SSR_220(WR,RES,RD,CS,DAT,A,OUT);
   input RES;
   input wire [3:0] A;
   input wire WR, RD, CS;
   inout wire [7:0] DAT;
   output wire [7:0] OUT;
   reg [7:0] D;
   reg [7:0] INREG; initial INREG = 8'b0;

   always @(negedge RD or negedge WR)  

    case (A)
   4'b0000:    D <= 8'b00100000;
   4'b0001:    D <= 8'b00011000;
   4'b0010:    D <= 8'b00001000;
   4'b0011:    D <= 8'b00001000;
   4'b1000:    D <= INREG;
   default:    D = 8'b00000000;
   endcase

   always @(negedge WR or negedge RES)
begin
   if (RES == 0)
        INREG <= 0;
    else if (!CS && A == 8)
        INREG <= DAT; 
end   

  assign DAT[7:0]=(!CS&!RD)?D[7:0]:8'bz;

  assign OUT[0]=(INREG[0])?1'b0:1'bz;
  assign OUT[1]=(INREG[1])?1'b0:1'bz;
  assign OUT[2]=(INREG[2])?1'b0:1'bz;
  assign OUT[3]=(INREG[3])?1'b0:1'bz;
  assign OUT[4]=(INREG[4])?1'b0:1'bz;
  assign OUT[5]=(INREG[5])?1'b0:1'bz;
  assign OUT[6]=(INREG[6])?1'b0:1'bz;
  assign OUT[7]=(INREG[7])?1'b0:1'bz;
  
  endmodule
если CS! и !RD в 0, как это происходит в момент включения(вроде бы), то дата в z состоянии. Впрочем как и ауты. Глюков на шину идти не должно. А вот адрес у меня это регистры процессорного модуля,в которых забиты каналы, номер модуля и тд.
Ответить

Вернуться в «ПЛИС»