Thông báo

Collapse
No announcement yet.

Đo xung

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

  • Đo xung

    Trong FPGA sử dụng các bộ đếm Counter rất mạnh nhưng mình còn đang không hiểu ở nột chỗ là muốn dừng các bộ đếm đó lại(dừng chứ không làm tràn bộ đếm) thì phải làm như thế nào,vì trong thiết kế các bộ đo tần số chác chắn phải dừng các bộ đếm đó lại.Mong các sư huynh chỉ giáo dùm?
    Technical Institutes
    Mobile: 0983278725
    Email:

  • #2
    Nguyên văn bởi process Xem bài viết
    Trong FPGA sử dụng các bộ đếm Counter rất mạnh nhưng mình còn đang không hiểu ở nột chỗ là muốn dừng các bộ đếm đó lại(dừng chứ không làm tràn bộ đếm) thì phải làm như thế nào,vì trong thiết kế các bộ đo tần số chác chắn phải dừng các bộ đếm đó lại.Mong các sư huynh chỉ giáo dùm?
    Chắc bạn thiết kế theo sơ đồ khối này ? nếu bạn làm theo kiểu này thì chỉ cần không cấp xung GATE nữa thì Counter làm gì có xung để đếm nữa.


    Bạn có muốn thiết kế hệ nhúng và FPGA?
    Attached Files
    Last edited by DTTH; 10-11-2007, 21:37.

    Comment


    • #3
      Chào bạn,
      Không cần phức tạp như vậy. Mình đã lập trình cấp cao VHDL/Verilog thì không cần suy nghĩ nhiều đến schematic (đôi lúc cũng cần).
      Bạn chỉ cần dùng tool phát ra 1 counter (hoặc tự viết code) rồi đếm xung rồi lưu vào 1 register mà thôi. Muốn dừng lại thì thêm cái điều kiện nữa là xong.

      Comment


      • #4
        Cam ơn hai bạn,nhưng mình đã làm đúng theo nguyên tắc đó,bộ đếm có chân clk,data(10 downto 0),enable.Khi enable=1 thì bộ đếm tăng lên 1.Đồng thời tín hiệu enable được điều khiển ON/OFF ở trong 1 process.Thế nhưng số đếm vẫn không ổn định.Mình thử đo số xung của tín hiệu xung mẫu 1khz trong 1s nhưng lúc được số này lúc được số kia,đúng ra nó phải là 1000!Ban đầu mình tưởng do t/h xung vào không đảm bảo phẩm chất nhưng không phải, dùng VDk đo vẫn ngon!
        Technical Institutes
        Mobile: 0983278725
        Email:

        Comment


        • #5
          Thực sự VHDL là một ngôn ngữ rất mạnh (nhưng chú ý nó không phải là ngôn ngữ lập trình như c,c++ mà là ngôn ngữ lập trình tín hiệu) rất nhiều vấn đề thú vị liên quan đến nó.Có nhiều cái VDK làm ngon ơ thì lập trình cho FPGA(dùng VHDL) lại rất hóc,nhưng ngược lại VDK chạy một chặng dài thì nó lại quá đơng giản.Ví dụ như quét 4 LED chẳng hạn,mình không hiểu có thuật toán nào chuyển nhị phân--> BCD không chứ dùng thuật toán chia cho 1000 thì tốn rất nhiều logic cell,cỡ 300 logic cell !
          Technical Institutes
          Mobile: 0983278725
          Email:

          Comment


          • #6
            theo ý mình thì cậu nếu đo xung 1khz thì cậu có thể tăng độ phân giải bộ counter lên.
            Xung tần số cao thì sau quá trình do để Chống sự tăng giảm do quá trình đếm thì có thể chia bớt đi cho 2 hoặc 4 trước đó đã tăng độ phân giải nên -->cho kết quả ban đầu mà xung không bị nhảy.
            Cách này mình cũng đang áp dụng cho mạch đo tần số xung vuông đang làm.

            Sông dài, Thuyền lớn, Biển rộng bao la.
            Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.

            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