реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> схема анализа сигналов, одновременно пришедших цифровых сигналов
rezuk
сообщение Jul 14 2013, 15:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 26-01-11
Из: MOskow
Пользователь №: 62 489



необходимо для реализации на плис схемку, которая сможет анализировать пришедшие цифровые сигналы на ножки на предмет того кто раньше пришел(имеется ввиду из данных сигналов).
Проблема в том что, детекторы аналоговых каналов, цифровые импульсы которых потом и приходят в плис, срабатывают одновременно от одного входящего сигнала (пролазы межканальные или черт их знает что), по идее должен сработать только детектор того канала в который пришел сигнал, но т.к. сигнал сильный, а фильтры широкополосны появляются подрабатывния детекторов в других каналах.
Есть ли какие-нибудь идеи таких схем или подскажите книжку где искать... спасибо!
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jul 14 2013, 18:22
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(rezuk @ Jul 14 2013, 18:26) *
по идее должен сработать только детектор того канала в который пришел сигнал, но т.к. сигнал сильный, а фильтры широкополосны появляются подрабатывния детекторов в других каналах.

Есть идея. Даже две.
Первая - нужно бороться именно с этим "подрабатыванием", все остальное - потом. Пока вы не выясните причину этого эффекта, двигаться дальше нет смысла.
Вторая - нужно формулировать ваши вопросы и описания так, чтобы они были четкими и ясными. Из вашего описания ничего невозможно понять. Хоть бы структурную схемку вашей системы набросали и частотный диапазон сигналов привели ...
Go to the top of the page
 
+Quote Post
rezuk
сообщение Jul 14 2013, 18:54
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 26-01-11
Из: MOskow
Пользователь №: 62 489



все что можно было сделать чтобы побороть "подрабатывания" уже сделано.
Я объяснил достаточно чтобы понять что нужно реализовать на плис, а с железом уже ничего нельзя сделать, к сожалению
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jul 14 2013, 21:25
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(rezuk @ Jul 14 2013, 21:54) *
все что можно было сделать чтобы побороть "подрабатывания" уже сделано.
Я объяснил достаточно чтобы понять что нужно реализовать на плис, а с железом уже ничего нельзя сделать, к сожалению

Значит, не все, раз не побороли. Почему с железом нельзя ничего сделать ?
Объяснение небрежное, из коего ровным счетом ничего понять нельзя. Хотите считать его нормальным ? Считайте ...
P.S. Простите, если вы решали задачу так же качественно, как писали запрос на форум, то легко понять, почему ваша система работает именно так ...
Go to the top of the page
 
+Quote Post
_Vova
сообщение Jul 15 2013, 04:09
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 1-10-08
Из: Екатеринбург
Пользователь №: 40 610



Цитата
детекторы аналоговых каналов, цифровые импульсы которых потом и приходят в плис, срабатывают одновременно

вы хотите различать эти импульсы во времени?
если
Цитата
с железом уже ничего нельзя сделать, к сожалению
, то ПЛИС тут ни чём не поможет и со всей задачей уже ничего нельзя сделать,
п.с. расскажите лучше про аналоговые сигналы и детекторы
Go to the top of the page
 
+Quote Post
Fujitser
сообщение Jul 15 2013, 13:32
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 294
Регистрация: 28-02-05
Из: Екатеринбург
Пользователь №: 2 925



Так они срабатывают одновременно или нет, всё таки?
Если нет, то на плис можно сделать так, например:

wire in_a, in_b;

reg a_r; // сработал первый датчик!
reg b_r; //сработал второй датчик!
reg state; // 0- на старт, внимание, марш!
// 1 - есть победитель !
always@(posedge clk)
begin
...
if(!state & in_a & !in_b)
begin
a_r <= 1'b1;
state <= 1'b1;
end
if(!state & !in_a & in_b)
begin
b_r <= 1'b1;
state <= 1'b1;
end
end

Сообщение отредактировал Fujitser - Jul 15 2013, 13:34
Go to the top of the page
 
+Quote Post
rezuk
сообщение Jul 15 2013, 17:50
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 26-01-11
Из: MOskow
Пользователь №: 62 489



Цитата(kovigor @ Jul 15 2013, 01:25) *
Значит, не все, раз не побороли. Почему с железом нельзя ничего сделать ?
Объяснение небрежное, из коего ровным счетом ничего понять нельзя. Хотите считать его нормальным ? Считайте ...
P.S. Простите, если вы решали задачу так же качественно, как писали запрос на форум, то легко понять, почему ваша система работает именно так ...

про железо ничего больше сказать не могу.
Если Вы считаете что объяснение небрежное, то это Ваше дело, но я считаю что специалисту в такой области больше пояснять ничего не нужно.

Цитата(_Vova @ Jul 15 2013, 08:09) *
вы хотите различать эти импульсы во времени?
если , то ПЛИС тут ни чём не поможет и со всей задачей уже ничего нельзя сделать,
п.с. расскажите лучше про аналоговые сигналы и детекторы

Да, во времени. Точно сказать не могу, но разброс между фронтами сигналов может исчисляться единицами нс, а может и пс. К сожалению измерить нет возможности.

Цитата(Fujitser @ Jul 15 2013, 17:32) *
Так они срабатывают одновременно или нет, всё таки?
Если нет, то на плис можно сделать так, например:

wire in_a, in_b;

reg a_r; // сработал первый датчик!
reg b_r; //сработал второй датчик!
reg state; // 0- на старт, внимание, марш!
// 1 - есть победитель !
always@(posedge clk)
begin
...
if(!state & in_a & !in_b)
begin
a_r <= 1'b1;
state <= 1'b1;
end
if(!state & !in_a & in_b)
begin
b_r <= 1'b1;
state <= 1'b1;
end
end

Спасибо за схемку, но для её реализации нужна большая "clk" сотни МГц.
Сейчас схема работает без подрабатываний для 2-х каналов от простейшего RS триггера с небольшими наворотами.
Go to the top of the page
 
+Quote Post
krux
сообщение Jul 15 2013, 18:29
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата
Да, во времени. Точно сказать не могу, но разброс между фронтами сигналов может исчисляться единицами нс, а может и пс. К сожалению измерить нет возможности.

Фронты сигналов, приходящие на ПЛИС, привязаны к какой-либо тактовой сетке?
если нет, тогда в ПЛИС делать нечего.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
rezuk
сообщение Jul 17 2013, 03:01
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 26-01-11
Из: MOskow
Пользователь №: 62 489



Цитата(krux @ Jul 15 2013, 22:29) *
Фронты сигналов, приходящие на ПЛИС, привязаны к какой-либо тактовой сетке?
если нет, тогда в ПЛИС делать нечего.

нет не привязана по приходу ни к какой частоте.

вообще сигналы пройдя через схемку на RS тригерах поступают на схемку выделения короткого импульса по фронту либо по спаду сигналов срабатывания обнаружителя, она работает он 80 МГц. Походу в ней что-то ломается из-за разбросов задержек внутри самой плис.

Код
module videlyalka(input DATAIN, CLR, CLOCK, output DATAOUT);
   reg [4:0] sr1_q, sr2_q;
    reg fd1_q, fd2_q;
    wire clr1, clr2;
    
    assign clr11 = (|sr2_q) | CLR;
    
    always @(posedge CLOCK or posedge clr11)  begin    
       if(clr11) sr1_q <= 5'b0;
        else      sr1_q <= {sr1_q[3:0], DATAIN};    
   end
    
    assign clr12 = clr11 | sr1_q[4];
    
    always @(posedge CLOCK or posedge clr12)  begin    
       if(clr12) fd1_q <= 1'b0;    
        else      fd1_q <= DATAIN;    
   end
  
    assign clr21 = (|sr1_q) | CLR;

    always @(negedge CLOCK or posedge clr21)  begin    
       if(clr21) sr2_q <= 5'b0;
        else      sr2_q <= {sr2_q[3:0], DATAIN};    
   end

      assign clr22 = clr21 | sr2_q[4];

    always @(negedge CLOCK or posedge clr22)  begin    
       if(clr22) fd2_q <= 1'b0;    
        else      fd2_q <= DATAIN;    
   end
  
    assign DATAOUT = fd1_q | fd2_q;
endmodule
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 01:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01486 секунд с 7
ELECTRONIX ©2004-2016