Thông báo

Collapse
No announcement yet.

AVR dao động trong và ngoài!

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

  • AVR dao động trong và ngoài!

    Như mọi người đã biết, hầu hết các AVR đều có thể dùng dao động bên trong để chạy. Như vậy thì khi nào ta mới phải dùng đến dao động bên ngoài? liệu dùng luôn dao động trong một cách lâu dài có ảnh hưởng đến chức năng của IC hay không? Có anh em nào đã từng ghi nhận sự khác nhau giữa chúng chưa?
    !e

  • #2
    hầu hết các dòng AVR từ thấp đến cao đều hỗ trợ dao động nội. Tuy nhiên tần số dao động được cố định theo các mức, bạn chỉ có thể chọn một trong các tần số đó bằng cách đặt fuse bit. Chẳng hạn như 1MHz, 2MHz, 4MHz, 8Mhz.

    Nếu bạn cần sử dụng AVR ở một tần số lẻ, để sử dụng UART mà không có sai số chẳng hạn (ví dụ như tần số 7.3728MHz) thì bạn sẽ cần đến dao động ngoài.

    Dao động nội thường không được chính xác, tần số biến đổi theo nhiệt độ chip. Thông thường trong các bài toán đơn giản mà tần số dao động không ảnh hưởng nhiều tới yêu cầu thực thi thì nên sử dụng dao động nội. Mạch sẽ gọn hơn và giảm được giá thành (mua thạch anh chẳng hạn).

    Sử dụng dao động nội hoàn toàn không ảnh hưởng gì đến chức năng của chip.
    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


    • #3
      Nếu cần xài thêm chân PORTB6,7 của ATmega8/88 thì tốt nhất là xài bộ dao động trong của chip !

      NVT2
      Tín đồ AVR giáo.

      Comment


      • #4
        Nguyên văn bởi nvt2 Xem bài viết
        Nếu cần xài thêm chân PORTB6,7 của ATmega8/88 thì tốt nhất là xài bộ dao động trong của chip !

        NVT2
        Ý nvt2 nói PORTB6,7 dùng để làm gì vậy? Sao trong trường hợp này lại dùng dao đông bên trong hả bạn?

        Mình đang dùng 1 con mega32, dao động trong 1MHz. Trong đó, có sử dụng ADC, thỉnh thoảng, khi cho chạy khá lâu (>2g) mình ghi nhận thấy giá trị ADC đọc được bị tụt xuống. Nếu không cho chạy nữa, để một hồi chạy lại, thì kết quả mới tăng trở lại giá trị ban đầu. Vậy là sao? có phải là do chạy lâu, nóng ic, dao động bên trong bị ảnh hưởng => kết quả adc sai chăng?
        !e

        Comment


        • #5
          Nguyên văn bởi zemen Xem bài viết
          Ý nvt2 nói PORTB6,7 dùng để làm gì vậy? Sao trong trường hợp này lại dùng dao đông bên trong hả bạn?

          Mình đang dùng 1 con mega32, dao động trong 1MHz. Trong đó, có sử dụng ADC, thỉnh thoảng, khi cho chạy khá lâu (>2g) mình ghi nhận thấy giá trị ADC đọc được bị tụt xuống. Nếu không cho chạy nữa, để một hồi chạy lại, thì kết quả mới tăng trở lại giá trị ban đầu. Vậy là sao? có phải là do chạy lâu, nóng ic, dao động bên trong bị ảnh hưởng => kết quả adc sai chăng?
          Vì PORT6,7 của Mega8/88 cũng là 2 chân Thạch anh luôn.
          Nỏ biết chữ mần răng ký được??!! Thôi nhé.

          Comment


          • #6
            Nguyên văn bởi nvt2 Xem bài viết
            Nếu cần xài thêm chân PORTB6,7 của ATmega8/88 thì tốt nhất là xài bộ dao động trong của chip !

            NVT2
            Nếu dùng TA trong cho Mega88 thì fuse bit như thế nào ấy bác nhỉ? ( Em đang dùng CodeVision)
            Nỏ biết chữ mần răng ký được??!! Thôi nhé.

            Comment


            • #7
              Nguyên văn bởi zemen Xem bài viết
              Ý nvt2 nói PORTB6,7 dùng để làm gì vậy? Sao trong trường hợp này lại dùng dao đông bên trong hả bạn?

              Mình đang dùng 1 con mega32, dao động trong 1MHz. Trong đó, có sử dụng ADC, thỉnh thoảng, khi cho chạy khá lâu (>2g) mình ghi nhận thấy giá trị ADC đọc được bị tụt xuống. Nếu không cho chạy nữa, để một hồi chạy lại, thì kết quả mới tăng trở lại giá trị ban đầu. Vậy là sao? có phải là do chạy lâu, nóng ic, dao động bên trong bị ảnh hưởng => kết quả adc sai chăng?
              Vấn đề về ADC, bạn không thể đổi tội hoàn toàn cho chip được. Có thể vấn đề nằm ở chính phần nguồn của bạn. Nếu nguồn không tốt, có ripple, hoặc bị trôi nhiệt thì tất nhiên sau khi mạch nóng lên, giá trị ADC đọc về sẽ bị trô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


              • #8
                nếu sử dụng thạch anh trong thì có giao tiếp với máy tính không hả các bác

                Comment


                • #9
                  Nguyên văn bởi ntuan Xem bài viết
                  nếu sử dụng thạch anh trong thì có giao tiếp với máy tính không hả các bác
                  Tu dùng dao động trong f= 1MHz giao tiếp với máy tính (qua cổng COM 9600) khá tốt. Sai số truyền 0,2%, chấp nhận được!
                  !e

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X