Thông báo

Collapse
No announcement yet.

Adc/dac cơ bản

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

  • #16
    Nguyên văn bởi phamthaihoa
    bps: bit per second
    sps: sample per second.
    Tốc độ của ADC phụ thuộc 2 yếu tố: nguyên lý và xiền.
    Tùy theo nguyên lý của ADC mà tốc độ lấy mẫu nhanh hay chậm. Các ADC hiện nay chủ yếu dùng phương pháp xấp xỉ dần, tốc độ lên đến bao nhiêu thì có trời mới biết được. Còn mấy con tích phân hai sườn xung thì chậm như rùa nhưng chống nhiễu tốt và chính xác.
    Còn xiền, nếu bác có đủ xiền thì bọn "nó" có thể làm cho bác những con ADC với thông số "ngất ngưởng" hehe...
    ADC xấp xỉ có tốc độ max chứ xem kỹ là tính đc hết kô cần nhờ đến trời đâu.
    Vẫn biết mỗi lần xa là một lần về lại...

    Comment


    • #17
      Hơ hơ tớ chả dùng cái timer nhỏ hơn thời gian biến đổi nào để đọc cả. Chắc Trang chưa làm AVR hở? Nó chỉ cần tăng tần số clock cấp cho ADC lên là xong thôi. 10bit chính xác thì max lấy mẫu là 15ksps, tần số cấp cho ADC (được chia từ clock hệ thống) max=200khz. Nếu tăng clock cho ADC lên---> giảm thời gian chuyển đổi và hệ quả là số bít tin tưởng được sẽ giảm đi, kết quả vẫn là 10bit, nhưng chỉ còn 8 hoặc 9 bít là tin tưởng chẳng hạn. Thế thôi!

      Việc đọc kết quả là tự động do ngắt ADC thực hiện (có chế độ free running, lấy mẫu liên tục, cứ chuyển đổi xong lại làm tiếp, phần mềm không cần can thiệp. Chỉ mỗi một đoạn ngắt cập nhật data thôi).

      Cậu đề cập đến vấn đề đọc trước thời gian chuyển đổi làm tớ ngạc nhiên đấy

      Tớ chưa làm PIC, không biết PIC có prescale clock cho ADC của nó không? Nếu có thì chắc cũng giống AVR thôi.
      PNLab
      Mạch nạp/debug ULink2, Jlink ARM USB
      Mạch nạp AVR, PIC, 8051, MSP430 USB
      Mạch phát triển STM32, ARM9, ARM11
      more...www.pnlabvn.com

      Comment


      • #18
        ADC của PIC cũng như avr là đều phục thuộc clk đưa vào.

        Hihi.. tớ phân tích đây:
        +Cách của bạn người ta ko có nói là tăng clk cho adc sẽ giảm chính xác đến cấp độ nào-->Vì mình ko làm chủ được sai số(mình căn cứ vào PIC mà nói). Người ta chỉ nói là ko giới hạn clk <clkmax. Nếu lớn hơn thì ko có cơ sở lý thuyết chứng minh là thưc tế là còn bao nhiêu bit. Bởi vậy thường phải thử thực tế,nhưng công việc đó cũng khó khăn, hơn nữa tớ cảm giác ko làm chủ được điều đó.
        +Cách của mình: có cơ sở đàng hoàng, theo nguyên lý xấp xỉ dần, thì điện áp lối vào lần lượt so sánh với giá trị chia đôi dần.
        Ví dụ một điện áp gần 0 sẽ so sánh với các điện áp như sau: Vref/2, Vref/4,Vref/8,vref/16...Vref/2^8,Vref/2^9,Vref/2^10.
        Vậy đến thời điểm Vref/2^8 minh đọc thì sẽ được 8bit đúng.
        Vậy đến thời điểm Vref/2^7 minh đọc thì sẽ được 7bit đúng.
        Vậy có lý ko?

        Comment


        • #19
          Cái này AN của Atmel có đề cập, tớ đã in ra và đọc rồi! Nếu không thì tớ cũng không biết đâu.
          Nè, cậu đang nói đến cách so sánh nào vậy, có phải phương pháp so sánh tạo ADC đơn giản không? Nếu đúng thì phương pháp ấy có quá nhiều nhược điểm! Còn không phải thì cậu nói rõ hơn có được không?
          PNLab
          Mạch nạp/debug ULink2, Jlink ARM USB
          Mạch nạp AVR, PIC, 8051, MSP430 USB
          Mạch phát triển STM32, ARM9, ARM11
          more...www.pnlabvn.com

          Comment


          • #20
            Nguyên văn bởi sphinx
            Cái này AN của Atmel có đề cập, tớ đã in ra và đọc rồi! Nếu không thì tớ cũng không biết đâu.
            Nè, cậu đang nói đến cách so sánh nào vậy, có phải phương pháp so sánh tạo ADC đơn giản không? Nếu đúng thì phương pháp ấy có quá nhiều nhược điểm! Còn không phải thì cậu nói rõ hơn có được không?
            Nguyên lý ADC xấp xỉ liên tiến(xấp xỉ dần đó).
            Có thể coi nó là 1 bộ DAC+ bộ so sánh+một số phần tử logic khác.
            ADC 10 bit thì nó sẽ có (x+10) xung clk.
            x là các xung như giữ mẫu, chuẩn bị biến đổi, chốt...
            10 là số xung theo giải thuật xấp xỉ dần.

            DAC sẽ xuất ra các điện áp sao cho tiệm cận đến tín hiệu một cách nhanh nhất, nó dùng thuật toán xuất điện áp theo kiểu chia đôi cung ấy.
            Ví dụ tín hiệu là 3V, vref là 5V
            -Bước 1: DAC xuất ra điện áp 2.5 V, nó so sánh với tín hiệu,lối ra bộ so sánh =0.
            -Bước 2: do =0 nên DAC nó xuất ra áp là (2.5+5)/2=3.37--lối ra so sánh là 1
            -Bước 3: do =1 nên DAC xuất ra áp là (3.37+2.5)/2.....
            ...
            -Bước 10: cho ra kết quả cuối cùng.

            Comment


            • #21
              thế không có mạch sample & hold thì nếu bạn đi đến BK mà tín hiệu nó lại đến giáp bát thì sao hả 3T

              Comment


              • #22
                Nguyên văn bởi thaithutrang
                Có thể coi nó là 1 bộ DAC+ bộ so sánh+một số phần tử logic khác.
                ADC 10 bit thì nó sẽ có (x+10) xung clk.
                x là các xung như giữ mẫu, chuẩn bị biến đổi, chốt...
                10 là số xung theo giải thuật xấp xỉ dần.
                Chữ đậm đó bạn. Bạn toàn đọc sót chữ trong bài của mình...
                Nếu trình bày đầy đủ thì dài nữa.

                Comment


                • #23
                  ồ xin lỗi nhé ! Mắt mình đợt này hơi kém hì hì hì

                  Comment


                  • #24
                    Bít bít, cái này tớ học rùi!!! Ý là cậu dùng timer để đọc trước ở 1 bước nào đó đúng không? Không để cho nó dò hết 10 bít à? Thế có sao không nhỉ?

                    Cách này cũng hay đấy, nhưng sẽ phức tạp thêm phần firmware, giả sử tớ dùng hết timer rồi thì sao?

                    Việc tính độ chính xác cũng không khó, cứ chuyển đổi bình thường, sau đó tăng clock ADC lên rồi chuyển đổi tiếp và so sánh kết quả. Cái này tớ nghĩ chẳng cần làm vì trong tài liệu của AVRFreaks nó nói kĩ rồi (không phải AN, tớ nhớ nhầm), nó lấy ví dụ tăng clock lên gấp 3 lần và độ chính xác còn 9 bít.

                    Nếu không phải làm gấp thì tớ cũng thử chuyển sang dùng dsPIC cho nó xịn, có sẵn mấy con mà không dùng cũng phí!
                    PNLab
                    Mạch nạp/debug ULink2, Jlink ARM USB
                    Mạch nạp AVR, PIC, 8051, MSP430 USB
                    Mạch phát triển STM32, ARM9, ARM11
                    more...www.pnlabvn.com

                    Comment


                    • #25
                      Gửi chú thái hòa !

                      Nguyên văn bởi phamthaihoa
                      bps: bit per second
                      sps: sample per second.
                      Tốc độ của ADC phụ thuộc 2 yếu tố: nguyên lý và xiền.
                      Tùy theo nguyên lý của ADC mà tốc độ lấy mẫu nhanh hay chậm. Các ADC hiện nay chủ yếu dùng phương pháp xấp xỉ dần, tốc độ lên đến bao nhiêu thì có trời mới biết được. Còn mấy con tích phân hai sườn xung thì chậm như rùa nhưng chống nhiễu tốt và chính xác.
                      Còn xiền, nếu bác có đủ xiền thì bọn "nó" có thể làm cho bác những con ADC với thông số "ngất ngưởng" hehe...
                      ADC anh biết rất ít nhưng có biết !!! Hiện nay laọi nào cũng nhiều cả chú ạ .Loại nhanh là loại biến dổi song song loại này dùng nhiều mạng điẹn trở cà Opam nên nó thwuwongf là số bit không cao.Các ADC cao bit giá rẻ như anh có thì nó dùng Delta -sicma(viét không đúng chính tả mong anh F đừng ý kiến)Muốn biết tốc độn cao nhất của twngf hãng các chú cứ vào hãng đó mà tìm ví như www.national.com Hãng này còn cho sample nữa cơ !!!(vào múc ADC để tìm theo tốc độ)

                      Comment


                      • #26
                        Gửi chú thái hòa !

                        Hai bài trùng nội dung !!!
                        Trình độ Post bài của mình gần sánh với 3T rồi
                        ha ha ha !!!

                        Comment


                        • #27
                          kiếp! Các bác viết nhanh quá, gõ xong đã thấy 3 bài rồi!
                          Tham khảo tài liệu:
                          Using the Built-in ADC in AVR
                          http://www.avrfreaks.net/index.php?m...ol&item_id=302
                          PNLab
                          Mạch nạp/debug ULink2, Jlink ARM USB
                          Mạch nạp AVR, PIC, 8051, MSP430 USB
                          Mạch phát triển STM32, ARM9, ARM11
                          more...www.pnlabvn.com

                          Comment


                          • #28
                            Gửi anh Spin mấy con ADC trong VDDK chỉ để hàn lâm thôi !!! Nghiên cứu nhiều cho mệt đầu !

                            Comment


                            • #29
                              Hihi, vui thật có thời gian mà thử mấy trò này! Đúng là hơi tủn mủn nhưng cũng thú vị đấy.
                              Vẫn biết mỗi lần xa là một lần về lại...

                              Comment


                              • #30
                                em cũng mới học được thôi !!! hì hì !!!

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X