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

 
 
> Verilog, Altera + ADC нахождение максимума.
M!TyA
сообщение Mar 10 2018, 16:52
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 3-10-05
Пользователь №: 9 192



Добрый день всем.

Это мой первый проект на плис, до этого с ним дело не имел.

Требуется отлавливать импульсы с АЦП выше определенной амплитуды и выдавать максимум импульса дальше...
Плис Altera Cyclone 4, ADC AD9218BSTZ-65, 10 бит, тактирование от генератора 50 МГц.

Кто мог бы объяснить в чем загвозка, огромное спасибо!!!


Код
module test3(clk, adc_clk, adc1_in, adc1_max);

input wire clk;
input wire [9:0] adc1_in; //входные данные с ацп
inout reg [9:0] adc1_max; // выход максимума импульса

output wire adc_clk; //PIN 85

reg [9:0] adc1_max_buff; //промежуточный буффер
reg [9:0] dis_adc1_low=10'b1000100111; //нижний порог импульса

assign adc_clk = clk; //тактирование ацп

initial begin
adc1_max_buff = 0;
adc1_max=0;
end


always @(negedge adc_clk) begin

if(adc1_in >= dis_adc1_low)
begin
  if(adc1_in > adc1_max_buff)
  begin
  adc1_max_buff = adc1_in;
  end
end


if(adc1_in < dis_adc1_low)
begin

   if(adc1_max_buff != 0)
   begin
    adc1_max = adc1_max_buff;
    end

   if(adc1_max==adc1_max_buff)
   begin
   adc1_max_buff = 0;
   end


end

end

endmodule


Сообщение отредактировал M!TyA - Mar 10 2018, 16:52
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Flip-fl0p
сообщение Mar 10 2018, 18:13
Сообщение #2


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Код
negedge adc_clk

А зачем задний фронт ?
Go to the top of the page
 
+Quote Post
M!TyA
сообщение Mar 10 2018, 18:48
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 3-10-05
Пользователь №: 9 192



Спасибо за советы!

А зачем задний фронт ?
При спаде клока значения в устоявшемся состоянии. Ну судя по документации.


И еще добавлю...
А АЦП имеет знаковый формат или беззнаковый?
+-0.5В или +-1 Offset binary output.

Так после замены на неблокирующие присваивание код правильный, то есть искать проблемы надо в железе, а не в коде?

До этого не писал ничего для плис, так сказать первый блин)

Сообщение отредактировал M!TyA - Mar 10 2018, 19:05
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 10 2018, 19:42
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(M!TyA @ Mar 10 2018, 21:48) *
А зачем задний фронт ?
При спаде клока значения в устоявшемся состоянии. Ну судя по документации.


И еще добавлю...
А АЦП имеет знаковый формат или беззнаковый?
+-0.5В или +-1 Offset binary output.

До этого не писал ничего для плис, так сказать первый блин)

То, что "блин", можно не объяснять. Это и так видно...
"знаковый формат или беззнаковый" - не по входу, а по представлению двоичных данных на выходе АЦП. При "знаковом" формате, необходима и "знаковая арифметика"... Вы ищите максимум. А какой? С учетом знака или по абсолютной величине сигнала? Какой сигнал "больше": -0,3В или +0,2В ??
И какие "проблемы" Вы ищите? Можете их описать? Или "вот какой код и что в нем не так"?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:47
Рейтинг@Mail.ru


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