Thông báo

Collapse
No announcement yet.

Sự khác nhau giữa biến và tín hiệu trong lập trình VHDL !

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

  • #61
    Nguyên văn bởi thavali Xem bài viết
    Tui cũng đã mô phỏng được trên bản 9.1, kết quả gần đúng như dự đoán, mạch sẽ đếm xuống , vì khi có rising thì đồng thời count vừa tăng 1 (vì elsif clk_RAM='1' and clk_RAM'event then
    count := count + 1 ; ) rồi lại giảm 1 (vì lại có: count :=count - 1; ), kết quả là count không thay đổi ở rising, khi có falling câu lệnh:
    count :=count - 1 ; count lại được thực hiện giảm, nên kết quả là cứ 1 clk (gồm 1 rising và 1 falling) thì count giảm 1. Kết quả mô phỏng là như vậy, nhưng khi xem mạch synthesis ta thấy nó không tạo ra mạch như vậy, kết quả là khi nộp vào chip không thể chạy được. ===> Giữa mô phỏng và mạch synthesis không phải lúc nào cũng giống nhau. Bác titeo xem lại mạch synthesis có đúng như vậy không nhé , Mà tui thấy thằng ISE 9.1 này hay lỗi hơn thằng ISE 8 mới ghét chứ.
    2. Trong ISE khi ta mô phỏng, ta chỉ nhận được dạng sóng của ngõ vào(in) hay ra(out), còn các tín hiệu bên trong chip (do chương trình ta viết ) thì không quan sát được dạng sóng, bác có biết cách nào để quan sát được dạng sóng của các tín hiệu này không ?
    Như bạn titeo góp ý, bạn nên viết code theo đúng quy tắc, nhất là với những hardware language, không thể luông tuồng được như với Java hay C.

    Căn bản nhất, bạn nên viết theo mẫu:

    if (rising_edge(clk)) then
    if (reset = '1') then
    ...
    elsif (clock_enable = '1') then
    ...
    end if;
    end if;

    Code của bạn viết sai nên rất khó hiểu "ý đồ" của bạn. Count:=count-1, nằm ngoài if (rising_edge(clk)) ... end if, nhưng không có nghĩa là nó sẽ xảy ra vào falling edge. Bạn nên tham khảo lại. Hình như bạn muốn làm một cái up-down counter, tùy theo trường hợp là đếm lên hay đếm xuống. Mình đã tạm viết lại một chút:

    entity sensitize is
    port (clk_RAM :in std_logic ;
    counter_enable :in std_logic ;
    count_up : in std_logic;
    clk_enable : in std_logic;
    output :out std_logic_vector(4 downto 0 ));
    end sensitize;

    architecture Behavioral of sensitize is

    signal count : natural range 0 to 25 := 0;

    begin

    process (clk_RAM)
    begin

    if (rising_edge(clk_RAM)) then
    if (counter_enable = '0' or count = 25) then
    count <= 0;
    elsif (clk_enable = '1') then
    if (count_up = '1') then
    count <= count + 1;
    else
    count <= count - 1;
    end if;
    end if;
    end if;
    end process;

    output <= conv_std_logic_vector(count,5);

    end Behavioral;



    Nếu viết đúng quy tắc thì ISE sẽ nhận ra được up-down counter của bạn.

    ================================================== =======================
    * HDL Synthesis *
    ================================================== =======================

    Performing bidirectional port resolution...

    Synthesizing Unit <sensitize>.
    Related source file is "C:/Xilinx/test/test.vhd".
    Found 5-bit updown counter for signal <count>.
    Summary:
    inferred 1 Counter(s).
    Unit <sensitize> synthesized.


    ================================================== =======================
    HDL Synthesis Report

    Macro Statistics
    # Counters : 1
    5-bit updown counter : 1

    Comment


    • #62
      Cảm ơn sự nhiệt tình hướng dẫn của bạn nemesis21, Đoạn code trên mình viết không nhằm mục đích tạo ra bộ đếm up-down, mà chỉ test hành vi của một biến sẽ như thế nào trong một process, trong trường hợp nó không được đặt trong một điều kiện nào đó (điều kiện trong trường hợp này là :if (rising_edge(clk_RAM)) ), và trong trường hợp này, như tui đã giải thích ở mục trên:
      kết quả gần đúng như dự đoán, mạch sẽ đếm xuống , vì khi có rising thì đồng thời count vừa tăng 1 (vì elsif clk_RAM='1' and clk_RAM'event then
      count := count + 1 ; ) rồi lại giảm 1 (vì lại có: count :=count - 1; ), kết quả là count không thay đổi ở rising, khi có falling câu lệnh:
      count :=count - 1 ; count lại được thực hiện giảm, nên kết quả là cứ 1 clk (gồm 1 rising và 1 falling) thì count giảm 1. Kết quả mô phỏng là như vậy, nhưng khi xem mạch synthesis ta thấy nó không tạo ra mạch như vậy, kết quả là khi nộp vào chip không thể chạy được. ===> Giữa mô phỏng và mạch synthesis không phải lúc nào cũng giống nhau.
      Tuy nhiên đến giờ thì tui thật sự vẫn chưa hiểu là tại sao mạch lại không tổng hợp được như ý muốn (quá trình tổng hợp không có lỗi gì cả, chỉ có điều là mạch không hề có ngõ vào) ?

      Comment


      • #63
        Nguyên văn bởi thavali Xem bài viết
        Cảm ơn sự nhiệt tình hướng dẫn của bạn nemesis21, Đoạn code trên mình viết không nhằm mục đích tạo ra bộ đếm up-down, mà chỉ test hành vi của một biến sẽ như thế nào trong một process, trong trường hợp nó không được đặt trong một điều kiện nào đó (điều kiện trong trường hợp này là :if (rising_edge(clk_RAM)) ), và trong trường hợp này, như tui đã giải thích ở mục trên:

        Tuy nhiên đến giờ thì tui thật sự vẫn chưa hiểu là tại sao mạch lại không tổng hợp được như ý muốn (quá trình tổng hợp không có lỗi gì cả, chỉ có điều là mạch không hề có ngõ vào) ?
        Nếu bạn dùng synthesizer tốt hơn một chút (Synplify), thì kết quả synthesize nhìn khả quan hơn. Nhưng như bạn thấy, tín hiệu clock hoàn toàn không được dùng, đơn giản là vì không có synthesizer nào hiểu được cấu trúc của bạn.

        Nếu mục đích của bạn chỉ để xem cách viết code của bạn có hiệu quả như thế nào, thì kết quả bạn đã thấy: circuit không chạy như ý bạn trên hardware.

        Bạn phải tuân theo những quy tắc tối thiểu!
        Attached Files

        Comment


        • #64
          Mạch bác nemesis21 tổng hợp được là từ đoạn code mà bác đã chỉnh sửa lại phải không bác ?. Hình như bác dùng synthesize khác chứ không phải ISE của Xilinx ?
          Mấy ảnh dưới cho thấy ISE nó simulation đúng như tui đã giải thích (hình simulation) chứng tỏ em simulation nó cũng hiểu ý mình viết , nhưng mạch tổng hợp thì hổng có ngõ vào (ảnh ) chứng tỏ bé synthesis không hiểu ý mình , Thế nên mới đâu đầu chứ ? Bác xem mấy cái ảnh thì sẽ rõ.
          Xin nhắc lại đoạn code:
          Code:
          ----------------------------------------------------------------------------------
          library IEEE;
          use IEEE.STD_LOGIC_1164.ALL;
          use IEEE.STD_LOGIC_ARITH.ALL;
          --use IEEE.STD_LOGIC_UNSIGNED.ALL;
          
          entity sensitize is
          port (clk_RAM				:in std_logic ;
                counter_enable		:in std_logic ;
                output 				:out std_logic_vector(4 downto 0 ));
          end sensitize;
          
          architecture Behavioral of sensitize is
          begin
          
          process (clk_RAM) 
          variable count : integer range 0 to 25 :=0 ;
          
          begin
          
          if counter_enable='0' then
                count:= 0 ;
          elsif clk_RAM='1' and clk_RAM'event then
                count := count + 1 ;
          end if;
          if count = 20 then
                count := 0 ;
          end if;
          	
          		count := count - 1 ;	--?????????????	 
          	
          	output <= conv_std_logic_vector(count,5);
          end process ;
          
          end Behavioral;
          Attached Files

          Comment


          • #65
            Nguyên văn bởi thavali Xem bài viết
            Mạch bác nemesis21 tổng hợp được là từ đoạn code mà bác đã chỉnh sửa lại phải không bác ?. Hình như bác dùng synthesize khác chứ không phải ISE của Xilinx ?
            Mấy ảnh dưới cho thấy ISE nó simulation đúng như tui đã giải thích (hình simulation) chứng tỏ em simulation nó cũng hiểu ý mình viết , nhưng mạch tổng hợp thì hổng có ngõ vào (ảnh ) chứng tỏ bé synthesis không hiểu ý mình , Thế nên mới đâu đầu chứ ? Bác xem mấy cái ảnh thì sẽ rõ.
            Xin nhắc lại đoạn code:
            Mạch của tôi là từ code gốc của bạn, nhưng dùng Synplify (như đã nói ở trên). Một license cỡ chừng nửa tỷ đồng một năm nên synthesize tốt hơn một chút, nhưng syntax của bạn đắt tiền quá nên nó cũng chào thua.

            Có nhiều chuyện simulator làm được mà synthesizer không làm được, và ngược lại. Thí dụ như bạn có thể simulate a <= b after 2 ns ... nhưng synthesizer phải làm như thế nào?

            Qua đoạn test code trên, có lẽ bạn đã rút được kinh nghiệm về syntax nào dùng được, syntax nào không. Bạn phải hiểu về synthesizer thì nó mới hiểu bạn được.

            Comment


            • #66
              - Đúng là Synplify có khà hơn một chút, dù gì cũng có cái ngõ vào counter_enable, còn cái clk_RAM thì vẫn chơi vơi một mình.

              1. Bác cho hỏi luôn là cái Synplify ngoài synthesis nó có thể Translate, Generate progamming file rồi nộp vào chip luôn được không, hay vẫn phải dùng ISE để nộp vào chip ?

              2. Tôi muốn viết đoạn chương trình theo ý đồ sau:
              Khi có cạnh lên (rising) của tín hiệu edge thì tín hiệu a <= 1 ; khi có cạnh xuống (falling) của edge thì a <= 0 ;
              tui đã viết như sau:

              process (edge)
              signal a : std_logic ;
              begin
              if edge = '1' and edge'event then
              a <=1 ;
              end if;
              if
              edge = '0' and edge'event then
              a <=0 ;
              end if;
              end process;


              nhưng khi synthesis bị báo lỗi là : Bad synchronize.
              Tui biết lỗi này là do tôi dùng tín hiệu a như một multiply driven, Tui biết có cách khắc phục là dùng chức năng Resolution Functions, nhưng không biết cụ thể như thế nào, nên nhờ bác có thể cho tôi đoạn code thực hiện chức năng trên ( dùng Resolution Functions hay cách nào khác cũng được), vì sách của bác perry không nói chi tiết nên tui không biết cách viết ?
              Last edited by thavali; 29-06-2007, 17:41.

              Comment


              • #67
                Nguyên văn bởi thavali Xem bài viết
                - Đúng là Synplify có khà hơn một chút, dù gì cũng có cái ngõ vào counter_enable, còn cái clk_RAM thì vẫn chơi vơi một mình.

                1. Bác cho hỏi luôn là cái Synplify ngoài synthesis nó có thể Translate, Generate progamming file rồi nộp vào chip luôn được không, hay vẫn phải dùng ISE để nộp vào chip ?

                2. Tôi muốn viết đoạn chương trình theo ý đồ sau:
                Khi có cạnh lên (rising) của tín hiệu edge thì tín hiệu a <= 1 ; khi có cạnh xuống (falling) của edge thì a <= 0 ;
                tui đã viết như sau:

                process (edge)
                signal a : std_logic ;
                begin
                if edge = '1' and edge'event then
                a <=1 ;
                end if;
                if
                edge = '0' and edge'event then
                a <=0 ;
                end if;
                end process;


                nhưng khi synthesis bị báo lỗi là : Bad synchronize.
                Tui biết lỗi này là do tôi dùng tín hiệu a như một multiply driven, Tui biết có cách khắc phục là dùng chức năng Resolution Functions, nhưng không biết cụ thể như thế nào, nên nhờ bác có thể cho tôi đoạn code thực hiện chức năng trên ( dùng Resolution Functions hay cách nào khác cũng được), vì sách của bác perry không nói chi tiết nên tui không biết cách viết ?
                1. Synplify chỉ chuyên synthesize rồi đưa EDIF sang cho XST làm tiếp.

                2. Nếu cần thiết, bạn có thể dùng dual-data rate primitve như FDDRCPE, FDDRRSE. Không ai viết code dùng cả hai clock edges như vậy cả. Như bạn thấy, kiểu viết đó không được support bởi synthesizer. Resolution function cũng không giúp gì được cho bạn, vì resolution function không có khái niệm về clock edge. Tại sao lại tự làm khó mình khi bạn có thể nhân tần số clock lên gấp đôi?

                Ngay cả những memory controller cho DDR2 SRAM / SDRAM, mặc dù data được chuyển cho cả hai clock edges, nhưng trước khi dùng đều được synchronize lại với 1 clock edge thôi.

                Comment


                • #68
                  Nguyên văn bởi nemesis21 Xem bài viết
                  1. Synplify chỉ chuyên synthesize rồi đưa EDIF sang cho XST làm tiếp.

                  2. Nếu cần thiết, bạn có thể dùng dual-data rate primitve như FDDRCPE, FDDRRSE. Không ai viết code dùng cả hai clock edges như vậy cả. Như bạn thấy, kiểu viết đó không được support bởi synthesizer. Resolution function cũng không giúp gì được cho bạn, vì resolution function không có khái niệm về clock edge. Tại sao lại tự làm khó mình khi bạn có thể nhân tần số clock lên gấp đôi?

                  Ngay cả những memory controller cho DDR2 SRAM / SDRAM, mặc dù data được chuyển cho cả hai clock edges, nhưng trước khi dùng đều được synchronize lại với 1 clock edge thôi.



                  - Cảm ơn bác. Tui cũng nghĩ tời giải pháp nhân đôi tần số, nhưng cái mạch của tôi nó hoạt động như một bộ dò cạnh (detect edge), là một khối có 1 ngõ vào (input) và 1 ngõ ra (output), bất cứ khi nào có cạnh lên (rising) ở chân ngõ vào thì ngõ ra sẽ lên 1, còn khi nào có cạnh xuống (falling) thì ngõ ra xuống 0. Do đó nếu tăng tần số gấp 2 thì cũng không giải quyết được bởi vì xung (pulse) ngõ vào không tuần hoàn, ta không biết trước khi nào thì có xung vào ???
                  - Bản thân con CPLD tui dùng nó không hỗ trợ cạnh xuống, nên khi dùng cạnh xuống thì nó sẽ cho tín hiệu clock qua một cổng đảo (not) trước khi đưa vào chân clk của FF. Do đó tui đã cố gắng viết để làm sao xài tính năng này (như thế sẽ dùng được cả rising và falling) nhưng không thành công, Bác có thể góp ý cho tôi làm ra cái bộ dò cạnh như đã nói ở trên không ?

                  Comment


                  • #69
                    Nguyên văn bởi thavali Xem bài viết
                    - Cảm ơn bác. Tui cũng nghĩ tời giải pháp nhân đôi tần số, nhưng cái mạch của tôi nó hoạt động như một bộ dò cạnh (detect edge), là một khối có 1 ngõ vào (input) và 1 ngõ ra (output), bất cứ khi nào có cạnh lên (rising) ở chân ngõ vào thì ngõ ra sẽ lên 1, còn khi nào có cạnh xuống (falling) thì ngõ ra xuống 0. Do đó nếu tăng tần số gấp 2 thì cũng không giải quyết được bởi vì xung (pulse) ngõ vào không tuần hoàn, ta không biết trước khi nào thì có xung vào ???
                    - Bản thân con CPLD tui dùng nó không hỗ trợ cạnh xuống, nên khi dùng cạnh xuống thì nó sẽ cho tín hiệu clock qua một cổng đảo (not) trước khi đưa vào chân clk của FF. Do đó tui đã cố gắng viết để làm sao xài tính năng này (như thế sẽ dùng được cả rising và falling) nhưng không thành công, Bác có thể góp ý cho tôi làm ra cái bộ dò cạnh như đã nói ở trên không ?
                    Bạn muốn làm edge detection, vậy có lẽ signal mà bạn theo dõi sẽ toggle với một tần số thấp hơn tần số clock của bạn. Edge detector căn bản nhất là delay input signal một clock cycle.

                    in_d <= in when rising_edge(clk);

                    if (in = '0' and in_d = '1') then
                    ? edge

                    hoặc:

                    if (in = '1' and in_d = '0') then
                    ? edge


                    Nhưng như bạn diễn tả, mạch bạn làm không phải là edge detector. Nếu rising_edge(in), out = 1 ... nhưng nếu rising_edge(in), cũng có nghĩa là in = 1 = out. Tương tự như vậy cho falling_edge(in), in = 0 = out. Đây đơn giản chỉ là một mạch delay thôi, out <= in after X.

                    Comment


                    • #70
                      Vâng, có vẻ bác rất kinh nghiệm về VHDL , đúng là tui cần một delay như bác nói, nhưng nếu dùng after như bác nói ( out <= in after X.) thì mạch chỉ để mô phỏng chứ không thể tổng hợp được, do đó tạo ra delay thực tế trong mạch theo ý không phải dễ (vì tui chưa có kinh nghiệm )

                      Comment


                      • #71
                        Nguyên văn bởi thavali Xem bài viết
                        Vâng, có vẻ bác rất kinh nghiệm về VHDL , đúng là tui cần một delay như bác nói, nhưng nếu dùng after như bác nói ( out <= in after X.) thì mạch chỉ để mô phỏng chứ không thể tổng hợp được, do đó tạo ra delay thực tế trong mạch theo ý không phải dễ (vì tui chưa có kinh nghiệm )
                        "after" chỉ là nói bóng thôi, thực tế thì out = in sau 0, 1, ... clock cycles, tùy theo cách làm của bạn.

                        Comment


                        • #72
                          Nguyên văn bởi thavali Xem bài viết
                          Vâng, có vẻ bác rất kinh nghiệm về VHDL , đúng là tui cần một delay như bác nói, nhưng nếu dùng after như bác nói ( out <= in after X.) thì mạch chỉ để mô phỏng chứ không thể tổng hợp được, do đó tạo ra delay thực tế trong mạch theo ý không phải dễ (vì tui chưa có kinh nghiệm )
                          Việc tạo delay thường được thực hiện ở bước làm layout thông qua việc dùng các bộ đệm trễ. Thông thường nhà sản xuất (foundary) sẽ cũng cấp cho bạn một thư viện ports và trong đó có các buffer này. Ngoài ra, việc tạo trễ trong quá trình làm layout đòi hỏi người làm layout phải chèn nhiều constraints để sao cho quá trình làm layout tự động đáp ứng được yêu cầu của mình đưa ra.


                          Comment


                          • #73
                            Lần trước tui có hỏi là trong ISE, khi mô phỏng không thể xem dạng sóng của các tín hiệu (signal) được. Xin đính chính lại là ta vẫn có thể xem được các signal trong ISE bằng cách kéo thả các signal (bên trái) vào cửa sổ dạng sóng (bên phải) là xem được. Lỗi này là do tui tìm hiểu chưa kĩ .

                            Comment


                            • #74
                              Nguyên văn bởi yesme@ Xem bài viết
                              Việc tạo delay thường được thực hiện ở bước làm layout thông qua việc dùng các bộ đệm trễ. Thông thường nhà sản xuất (foundary) sẽ cũng cấp cho bạn một thư viện ports và trong đó có các buffer này. Ngoài ra, việc tạo trễ trong quá trình làm layout đòi hỏi người làm layout phải chèn nhiều constraints để sao cho quá trình làm layout tự động đáp ứng được yêu cầu của mình đưa ra.
                              Vấn đề này bạn nói rất khó hiểu, bạn có thể nói rõ hơn?

                              Nếu "làm layout" là quá trình "place and route", tôi nghĩ rằng ở bước này, chúng ta dùng contraints để khắc phục hậu quả của hardware delay thay vì "tạo trễ" (?). Đại khái thì delay gồm hai phần, logic delay và routing delay.

                              Lấy thí dụ:
                              A <= ~X;
                              B <= A and J; C <= A and K; D <= A and L;
                              ... fanout của A = 3 ... fanout càng cao, routing delay càng cao. Ta có thể dùng max_fanout constraint để khắc phục.

                              Hoặc ta có thể tự sửa code để control fanout (và dùng constraints để preserve A1 ... vì A1 = A, synthesizer có thể bỏ A1 và chỉ dùng A):
                              A <= ~X; A1 <= ~X;
                              B <= A and J; C <= A and K;
                              D <= A1 and L;
                              ... fanout của A = 2, fan out của A1 = 1.

                              Comment


                              • #75
                                Đúng là thông thường chúng ta dùng các constraints để đạt được một P&R tối ưu nhất (tối ưu theo nghĩa chúng ta cần). Tuy nhiên, trong một số trường hợp chúng ta có thể dùng các constraints này đề ép tool đưa ra một số thông số phần cứng mà chúng ta mong muốn. Ví dụ, nếu có hai đường tín hiệu A và B, bạn có thể xây dựng các ràng buộc sao cho trễ ở A luôn luôn lớn hơn trễ ở B.


                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                • mèomướp
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi mèomướp
                                  Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                                  hôm nay, 13:11
                                • tuyennhan
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi tuyennhan
                                  Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                                  hôm nay, 09:25
                                • tuyennhan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi tuyennhan
                                  Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                                  Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                                  hôm nay, 09:10
                                • Ng.Phuong.5
                                  Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                                  bởi Ng.Phuong.5
                                  Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                                  Mấy con...
                                  Hôm qua, 19:44
                                • viettinh
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi viettinh
                                  Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                                  Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                                  Hôm qua, 18:12
                                • nguyendinhvan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi nguyendinhvan
                                  Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                                  Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                                  Cách đơn giản...
                                  Hôm qua, 00:04
                                • mèomướp
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi mèomướp
                                  Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                                  08-01-2025, 19:02
                                • tuyennhan
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi tuyennhan
                                  Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                                  08-01-2025, 15:43
                                • tuyennhan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi tuyennhan
                                  Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                                  08-01-2025, 15:28
                                • mèomướp
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi mèomướp
                                  Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                                  08-01-2025, 11:44
                                Đang tải...
                                X