Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить

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

Чт июн 13, 2013 20:05:12

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

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

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

Пт июн 14, 2013 09:16:59

Вам же уже ответили, что VCCINT нужно подавать ПОЗЖЕ питания. Поставьте задержку на секунду.

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

Пт июн 14, 2013 09:42:28

попробую конечно,но в даташите написано наоборот.Спасибо.

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

Пт июн 14, 2013 09:53:31

приведите цитату, если так уверены.

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

Пт июн 14, 2013 10:03:58

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

: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

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

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

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

Пт июн 14, 2013 11:24:34

ну да, есть такое. А это Вас не устраивает? :
2. Decrease VCCIO rise time to faster than 10 ms

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

Пт июн 14, 2013 11:35:06

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

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

Пт июн 14, 2013 12:13:12

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

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

Пт июн 14, 2013 14:11:36

а как ее осуществить? я немного не понимаю, написано вроде,что надо питание заземлить, а если его заземлишь его же не будет,объясните?

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

Пт июн 14, 2013 22:16:55

Это было как вариант. Может у вас "Combinatorial Transient".
Смотрите какое именно вмешательство происходит. Может ситуация проясниться.
Так трудно что-то советовать.

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

Вс июн 16, 2013 13:04:00

Выходные сигналы плиса всему виной,скорее всего. В Z состояние я ставил все выводы,результат тот же

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

Вт июн 18, 2013 13:03:33

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

Код:

 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

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

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

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

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

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

Ср авг 14, 2013 14:33:46

так это же ножки для прошивки,как они могут влиять на другие модули? VCC тоже 5В да.

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

Ср авг 14, 2013 15:34:52

Из схемы совершенно неясно, что они делают на разъёме, идут ли на другие модули, или нет. Если не идут - что они делают на разъеме вообще? И в полной мере остаётся вопрос с поведением ног соединённых с Axx и Dx...

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

Ср авг 14, 2013 15:50:17

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

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