Mình có câu hỏi hơi chuối một chút mong các bạn phân tích giùm :
+) Theo Datasheet của Atamega8 . thì bộ ADC cần một nguồn xung nhịp để hoạt động nguồn này lấy từ chính nguồn xung CPU (đã được scale).
+) Tần số theo mặc định nên nằm trong khoảng (50 Khz -- > 200 Khz) .
+) Tương ứng với nó là thời gian chuyển đổi sẽ nằm trong khoảng tư (65 -- > 260 us) .== > cái này là datasheet nói và mình cũng tinh theo công thức và chính xác ra như thế ( với điều kiện bỏ qua lần chuyển đổi đầu tiên tức các lần kế tiếp việc chuyển đổi sẽ mất 13 chu kì xung ADC # chu kỳ lệnh CPU) .
==> Nhìn lại Datasheet của adc0809 thì thời gian chuyển đổi trung bình cũng nằm trong khoảng 100us.
==> Vậy câu hỏi đặt ra ở đây là 1 lần biến đổi mất "13" chu kỳ xung nhịp ADC vậy cứ tăng tần số lên thì sẽ có thể thu được nhiều mẫu biến đổi trên một đơn vị thời gian với một tín hiệu biến dổi theo thời gian đưa vào ADC. (lý thuyết).
+) Nhưng rõ ràng là nếu F_adc này (tần số xung nhịp cấp cho ADC) lớn hơn ngưỡng cho phép thì chắc chắn sẽ xảy ra hai trường hợp không biết cái nào sẽ xảy ra ( ADC không hoạt động hoặc sẽ cho kết quả chuyển đổi sai)..
==> Vậy bạn nào biết cái F_adc max này là bao nhiêu không với độ phân giải 10 bit. .( " By Default, the successive apro......50 KHz and 200 khz ... page 194 datasheet _atmega8).
và theo như datasheet thì với độ phân giải nhỏ hơn 10 bit thì tần số có thể cao hơn 200Khz vậy có thể cao hơn bao nhiêu nhỉ ?). - page 194 of Datasheet.
==> Khi khai báo cho codevision chọn tần sỗ chip là 16MHz --> mục ADC thì nó lại cho phép mình có thể chọn 1000 Khz mặc dù không tick vào cái mục 8 bít ==> theo datasheet có phi lý không . Và nếu chọn như vậy có oke không ? by my teacher F_ADC = 200Khz it won't work ).
+) Một ý khác mình hỏi thêm khi mình chọn tần số xung cho chip là 20mhz -- > vào mục khai báo cho ADC thì tần số max cho ADC lúc này chỉ được chọn là 650 Khz điều này lý giải sao nhỉ ?)
+) Từ viết tắt trong câu này là gì vậy " kSPS "
cám ơn các bạn !
+) Theo Datasheet của Atamega8 . thì bộ ADC cần một nguồn xung nhịp để hoạt động nguồn này lấy từ chính nguồn xung CPU (đã được scale).
+) Tần số theo mặc định nên nằm trong khoảng (50 Khz -- > 200 Khz) .
+) Tương ứng với nó là thời gian chuyển đổi sẽ nằm trong khoảng tư (65 -- > 260 us) .== > cái này là datasheet nói và mình cũng tinh theo công thức và chính xác ra như thế ( với điều kiện bỏ qua lần chuyển đổi đầu tiên tức các lần kế tiếp việc chuyển đổi sẽ mất 13 chu kì xung ADC # chu kỳ lệnh CPU) .
==> Nhìn lại Datasheet của adc0809 thì thời gian chuyển đổi trung bình cũng nằm trong khoảng 100us.
==> Vậy câu hỏi đặt ra ở đây là 1 lần biến đổi mất "13" chu kỳ xung nhịp ADC vậy cứ tăng tần số lên thì sẽ có thể thu được nhiều mẫu biến đổi trên một đơn vị thời gian với một tín hiệu biến dổi theo thời gian đưa vào ADC. (lý thuyết).
+) Nhưng rõ ràng là nếu F_adc này (tần số xung nhịp cấp cho ADC) lớn hơn ngưỡng cho phép thì chắc chắn sẽ xảy ra hai trường hợp không biết cái nào sẽ xảy ra ( ADC không hoạt động hoặc sẽ cho kết quả chuyển đổi sai)..
==> Vậy bạn nào biết cái F_adc max này là bao nhiêu không với độ phân giải 10 bit. .( " By Default, the successive apro......50 KHz and 200 khz ... page 194 datasheet _atmega8).
và theo như datasheet thì với độ phân giải nhỏ hơn 10 bit thì tần số có thể cao hơn 200Khz vậy có thể cao hơn bao nhiêu nhỉ ?). - page 194 of Datasheet.
Code:
By default, the successive approximation circuitry requires an input clock frequency
between 50 kHz and 200 kHz to get maximum resolution. If a lower resolution than 10
bits is needed, the input clock frequency to the ADC can be higher than 200 kHz to get a
higher sample rate.
+) Một ý khác mình hỏi thêm khi mình chọn tần số xung cho chip là 20mhz -- > vào mục khai báo cho ADC thì tần số max cho ADC lúc này chỉ được chọn là 650 Khz điều này lý giải sao nhỉ ?)
+) Từ viết tắt trong câu này là gì vậy " kSPS "
Code:
Up to 15 kSPS at Maximum Resolution
Comment