Страница 1 из 2

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

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

Jсцилограммы включения питания(одна картинка с включением питания по очереди,вторая картинка тоже самое,только с завалом VCCINT), электрическую схему модуляи прошивку(на Verilog) добавил к сообщению.

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

Добавлено: Пт июн 14, 2013 09:16:59
ibiza11
Вам же уже ответили, что VCCINT нужно подавать ПОЗЖЕ питания. Поставьте задержку на секунду.

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

Добавлено: Пт июн 14, 2013 09:42:28
Nevox
попробую конечно,но в даташите написано наоборот.Спасибо.

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

Добавлено: Пт июн 14, 2013 09:53:31
ibiza11
приведите цитату, если так уверены.

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

Добавлено: Пт июн 14, 2013 10:03:58
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.

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

Добавлено: Пт июн 14, 2013 10:55:07
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.

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

Добавлено: Пт июн 14, 2013 10:56:45
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 )
Они были разработаны, чтобы выдерживать любую возможную последовательность подачи питания.
Ну и документ по ссылочке читали, надеюсь.

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

Добавлено: Пт июн 14, 2013 11:09:58
Nevox
Да,тут написано именно так,что подавать можно как угодно, но если почитаете остальные даташиты (http://www.altera.com.my/literature/ds/ ... family.pdf таблица 2, первая строка) ,то поймете,что все же они советуют включать VCCINT раньше. Что я и сделал. Тогда почему все равно не работает функция горячей замены?

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

Добавлено: Пт июн 14, 2013 11:24:34
ibiza11
ну да, есть такое. А это Вас не устраивает? :
2. Decrease VCCIO rise time to faster than 10 ms

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

Добавлено: Пт июн 14, 2013 11:35:06
Nevox
я это делал, не помогло, там приложена осцилограмма в файле(в первом сообщении). Поэтому и пишу сюда.
Просто может еще какие варианты есть.

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

Добавлено: Пт июн 14, 2013 12:13:12
Kavka
Nevox писал(а):таблица 2, первая строка
А почему вы в питание упёрлись? Если последовательность подачи не влияет на вашу ситацию, то может вторая строчка из упомянутой таблицы?

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

Добавлено: Пт июн 14, 2013 14:11:36
Nevox
а как ее осуществить? я немного не понимаю, написано вроде,что надо питание заземлить, а если его заземлишь его же не будет,объясните?

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

Добавлено: Пт июн 14, 2013 22:16:55
Kavka
Это было как вариант. Может у вас "Combinatorial Transient".
Смотрите какое именно вмешательство происходит. Может ситуация проясниться.
Так трудно что-то советовать.

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

Добавлено: Вс июн 16, 2013 13:04:00
Nevox
Выходные сигналы плиса всему виной,скорее всего. В Z состояние я ставил все выводы,результат тот же

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

Добавлено: Вт июн 18, 2013 13:03:33
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;
Все равно не помогло, уже просто не знаю,что это может быть.

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

Добавлено: Вт июл 02, 2013 15:13: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".

помогите пожалуйста это сделать. Как я понял,надо сделать двойное инверирование. И соединить пресет порт с чистым поротом(ваще хз,что это). Как сделать-то?)

Re: Мелкие практические вопросы

Добавлено: Ср авг 14, 2013 13:58:41
Slabovik
Вот теперь яснее. Подтяжки R19-R22 зацеплены на +5V. В момент подключения там никаких +5V нет - они появятся позже. Следовательно в это время этьи резисторы соединяют сигналы шины на землю. А кто перетянет - вопрос открытый. Их следует перецепить на VCC (оно тоже 5 вольт, как я понимаю), либо, что ещё лучше, вообще отключить... но это сложно....
По D3 я, честно говоря, ниасилил... Но суть та же - необходимо узнать, что представляют собой её порты, которые зацеплены прямо на шину, при а) отсутствии питания (а мне представляется, что там также произойдёт к.з. через внутренние диодные структуры); б) в момент между подачей питания и окончанием инициализации...

Re: Мелкие практические вопросы

Добавлено: Ср авг 14, 2013 14:33:46
Nevox
так это же ножки для прошивки,как они могут влиять на другие модули? VCC тоже 5В да.

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

Добавлено: Ср авг 14, 2013 15:34:52
Slabovik
Из схемы совершенно неясно, что они делают на разъёме, идут ли на другие модули, или нет. Если не идут - что они делают на разъеме вообще? И в полной мере остаётся вопрос с поведением ног соединённых с Axx и Dx...

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

Добавлено: Ср авг 14, 2013 15:50:17
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 состоянии. Впрочем как и ауты. Глюков на шину идти не должно. А вот адрес у меня это регистры процессорного модуля,в которых забиты каналы, номер модуля и тд.