Thông báo

Collapse
No announcement yet.

Đo độ rộng xung không đều

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Đo độ rộng xung không đều

    Mình đang dùng Altera Flex10k10.Mình đang muốn làm một phép đo độ rộng xung không đều,đo tần số thì mình đã làm được.Nếu bạn nào đang quan tâm hoặc đã làm về vấn đề này thì cho mình xin y kiến,giải pháp ?
    Technical Institutes
    Mobile: 0983278725
    Email:

  • #2
    Bai toan nay minh cung da lam va cung khong co gi kho khan ca
    Minh dung IC cua XILINX va da thuc hien duoc bai toan do dac, do chinh xac len toi 20ns(Minh dung thach anh 100Mhz)
    Minh noi qua day coi nhu la mot y tuong de ban tham khao nha: Ban se dung clock100Mhz lam xung nhip chuan cho bo dem. Ban thiet lap bo dem bang cach dung suon truoc cua xung lam nhip Start, dung suon sau cua xung lam xung Strobe de chot ket qua dem duoc.
    Phuong phap nay rat hieu qua. Minh da lam thanh cong. Nhung tat nhien, ket qua de ban quan sat duoc thi ban phai chot lai voi khoang thoi gian nao do ma mat minh co the luu duoc anh chu???
    Chuc ban thanh cong. Co gi co the ORDER truc tiep voi minh theo dia chi mail:Cauvaido@yahoo.com hoac Live_song04@yahoo.com. Va neu can thiet minh se gui chuong trinh VHDL cho ban. CHUC THANH CONG

    Comment


    • #3
      Bạn thientran có thể nói rõ hơn được không? Vì mình chưa làm ví dụ nào có 2 event,chỗ Strobe ấy!thanhk!
      Technical Institutes
      Mobile: 0983278725
      Email:

      Comment


      • #4
        Bạn có làm được NIOS ko? Bạn làm 1 IP đo 2 mức xung bằng VHDL. Cái này chắc không quá khó. Số liệu mức xung thấp và cao nhét vào 2 thanh ghi. Sau đó nhét IP này vào thành 1 ngoại vi của Nios, NIOS sẽ đọc 2 thanh ghi này, xử lý như thế nào thì dùng như MCU thông thường thôi.

        Comment


        • #5
          Không mình chỉ có mỗi con flex 10k và Quatus II 5.0 thôi,nếu có Nios thì mình nghĩ mình có thể làm được rồi !
          Technical Institutes
          Mobile: 0983278725
          Email:

          Comment


          • #6
            Xin loi ban Process nha. Vi dao nay ban qua nen chua tra loi duoc.
            Trong mot Process, ban khong the su dung 2 xung clock. Nhu vay ban chi can tao ra 2 xung do tu 1 xung dau vao la OK
            Thuat toan: Giu cham xung dau vao nhu sau:
            IF clk100='1' and clk100mhs'event then
            pulse_delay <= pulse_in;
            end if;

            Sau do, dung 2 tin hieu nay cho 2 Process.

            Comment


            • #7
              Mình đã làm được rồi,chờ hoàn chỉnh mình sẽ post cho mọi người tham khảo!
              code:
              -----------------------------------------------
              bcd_count_outing: process (CLK12,reset)
              begin -- process bcd_count_outing

              if reset='1' then
              count_out<= (others=>'0');
              elsif(CLK12'event and CLK12='1') then -- rising clock edge
              if enable='1' then
              if count_out ( 3 downto 0) = "1001" then
              count_out(3 downto 0) <= "0000";
              if count_out ( 7 downto 4) = "1001" then
              count_out(7 downto 4) <= "0000";
              if count_out ( 11 downto 8 ) = "1001" then
              count_out(11 downto 8 ) <= "0000";
              if count_out ( 15 downto 12) = "1001" then
              count_out(15 downto 12) <= "0000";
              else
              count_out(15 downto 12) <= count_out(15 downto 12) + "0001";
              end if;
              else
              count_out(11 downto 8 ) <= count_out(11 downto 8 ) + "0001";
              end if;
              else
              count_out(7 downto 4 ) <= count_out(7 downto 4 ) + "0001";
              end if;
              else
              count_out(3 downto 0 ) <= count_out(3 downto 0 ) + "0001";
              end if;
              end if;
              end if;

              end process bcd_count_outing;
              ----------------------------------------------------------
              PROCESS(CLK12)
              BEGIN
              IF CLK12'EVENT AND CLK12='1' THEN
              Pulse_delay<=Pulse_in;

              END IF;
              END PROCESS;
              --------------------------------------------------------
              PROCESS(Pulse_delay)
              VARIABLE I :INTEGER RANGE 0 TO 2;
              BEGIN
              IF Pulse_delay'EVENT AND Pulse_delay='0' THEN
              IF I=2 THEN
              I:=1;
              ELSE
              I:=I+1;
              END IF;
              IF I<=1 THEN
              strobe <='1';
              reset<='1';
              ELSE
              strobe <='0';
              reset<='0';
              END IF;


              END IF;
              END PROCESS;
              -------------------------------------------------------
              PROCESS(Pulse_in)
              VARIABLE I :INTEGER RANGE 0 TO 2;
              BEGIN
              IF Pulse_in'EVENT AND Pulse_in='1' THEN

              IF I=2 THEN
              I:=1;
              ELSE
              I:=I+1;
              END IF;
              IF I<=1 THEN
              enable<='1';
              ELSE
              enable<='0';
              END IF;

              END IF;
              END PROCESS;
              -------------------------------------------------------
              -------------------------------------------------------
              PROCESS(strobe)
              VARIABLE I :INTEGER RANGE 0 TO 2;
              BEGIN
              IF strobe'EVENT AND strobe='1' THEN
              count_out_fix<=count_out;
              END IF;
              END PROCESS;
              -------------------------------------------------------
              không biết sử dụng tagcode như thế nào!
              Technical Institutes
              Mobile: 0983278725
              Email:

              Comment

              Về tác giả

              Collapse

              process Tìm hiểu thêm về process

              Bài viết mới nhất

              Collapse

              Đang tải...
              X