Changeset 50


Ignore:
Timestamp:
Sep 16, 2009, 12:51:00 PM (15 years ago)
Author:
demin
Message:

fix peak detection logic and add peak threshold

Location:
trunk/MultiChannelUSB
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MultiChannelUSB/Paella.v

    r48 r50  
    197197                                .uwt_flag(uwt_flag[i]),
    198198                                .uwt_data(uwt_data[i]),
     199                                .threshold(12'd5),
    199200                                .peak_ready(ana_peak_ready[i]),
    200201                                .peak(ana_peak[i]));
  • trunk/MultiChannelUSB/analyser.v

    r45 r50  
    55                input   wire    [1:0]   uwt_flag,
    66                input   wire    [11:0]  uwt_data,
     7                input   wire    [11:0]  threshold,
    78                output  wire                    peak_ready,
    89                output  wire    [11:0]  peak
     
    5859                state_next = state_reg;
    5960                counter_next = counter_reg;
    60                 peak_ready_next = 1'b0;
    61                 peak_next = 12'd0;
     61                peak_ready_next = peak_ready_reg;
     62                peak_next = peak_reg;
    6263                case (state_reg)
    6364                        0: // skip first 16 samples
    6465                        begin
     66                                peak_next = 12'd0;
     67                                peak_ready_next = 1'b0;
    6568                                if (data_ready)
    6669                                begin
     
    8992                                if (data_ready & uwt_flag[0])
    9093                                begin
    91                                         peak_next = uwt_data - baseline;
    92                                         peak_ready_next = 1'b1;
     94                                        peak_next = (uwt_data > baseline) ? (uwt_data - baseline) : 12'd0;
     95                                        peak_ready_next = (peak_next > threshold);
    9396                end
     97                else
     98                begin
     99                                        peak_ready_next = 1'b0;
     100                                end
    94101                        end
    95102
    96103                        default:
    97104                        begin
     105                                peak_next = 12'd0;
     106                                peak_ready_next = 1'b0;
    98107                                state_next = 2'd0;
    99108                        end
Note: See TracChangeset for help on using the changeset viewer.