Bộ chuyển đổi ADC

Một phần của tài liệu Nghiên cứu thiết kế và chế tạo thiết bị đo và giám sát nồng độ bụi thông minh có tích hợp truyền thông không dây (Trang 45 - 49)

Vi điều khiển ATmega8 có một bộ biến đổi ADC tích hợp trong chip. Có các đặc điểm:

Độ phân giải bit.

Sai số tuyến tính:0.5LSB. Độ chính xác +/-2LSB.

Thời gian chuyển đổi:65-260μs. 8 Kênh đầu vào có thể đƣợc lựa chọn. Có hai chế độ chuyển đổi.

Hình 3.8. Bộ chuyển đổi ADC Từ sơ đồ khối ta có thể thấy:

Tám đầu vào của ADC là tám chân của PORTA và chúng đƣợc chọn thông qua một MUX.

Để điều khiển hoạt động vào ra dữ liệu của ADC và CPU chúng ta có 3 thanh ghi:ADMUX đây là thanh ghi điều khiển lựa chọn kênh đầu vào cho ADC. ADCSR Đây là thanh ghi điều khiển và thanh ghi trạng thái của ADC. ADCD:Đây là thanh ghi dữ liệu.

1. ADMUX: Multiplexer select register Đây là thanh ghi điều khiển 8 bit:

Với 3 bit đƣợc định nghĩa là MUX2, MUX1 và MUX0.Ứng với các tổ hợp logic ta có thể chọn kênh đầu vào.Cụ thể:

Chú ý: Nếu nhƣ ta thay đổi kênh trong thời điểm mà ADC đang chuyển đổi thì khi quá trình chuyển đổi đã hoàn thành thì khên vào mới đƣợc thay đổi.

2. ADCSR:ADC control and status register

Bit 7-ADEN:ADC enable

Đây là bit điều khiển hoạt động của ADC.Khi bit này đƣợc set 1 thì ADC có thể hoạt động và ngƣợc lại.Nếu nhƣ ta ngừng hoạt động của ADC trong khi nó đang chuyển đổi thì nó sẽ kết thúc quá trình chuyển đổi.Mặc dù chƣa chuyển đổi xong.

Bit 6-ADSC: ADC start conversion

Trong chế độ chuyển đổi đơn thì bit này phải đƣợc set lên 1 để bắt đầu chuyển đổi.Trong chế độ chuyển đổi tự do thì bit này cần đƣợc set lên 1 để bắt đầu lần chuyển đổi đầu tiên.Bit này đƣợc giữ sốt trong quá trình chuyển đổi và đƣợc xóa khi mà chuyển đổi xong.

Bit 5-ADRR:ADC Free Running select

Khi bit này đƣợc set thì ADC hoạt động theo chế độ chuyển đổi tự do. Đây là chế độ mà ADC tự động lấy mẫu và chuyển đổi (khi nó đƣợc phép chuyển đổi)từ một kênh đã định sẵn. Khi xóa bit này thì chế độ này lập tức ngừng hoạt động.

Bit 4-ADIF:ADC interrupt Flag

Bit này đƣợc set lên 1 bởi phần cứng khi mà quá trình chuyển đổi đã hoang thành và thanh ghi dữ liệu đã đƣợc update.Bit này đƣợc xóa bằng phần cứng nhếu nhƣ ngắt này đƣợc phép và đƣợc phục vụ.Hoặc nó có thể đƣợc xóa bằng cách ghi giá trị logic “0”vào cờ này.Cụ thể khi ngắt bị cấm ta có thể sử dụng các lệnh sbi và cbi để tác dụng lên bit này.

Bit 3-ADIE:ACD interrupt Enable

Nếu bit này set 1 và ngắt toàn cục đƣợc cho phép thì ngắt này đƣợc phép phục vụ (Khi chuyển đổi xong dữ liệu), nếu bị xóa thì ngƣợc lại.

Bit 2.1.0-ADPS2…ADPS0: Bit lựa chọn xung nhịp(Tốc độ)

Sơ qua về nguồn xung:Nguồn xung đƣợc lấy từ nguồn xung của VĐK (XTAL)và đƣợc chia tần thông qua bộ chia tần: Các bit ADSP có nhiệm vụ chọn số chia cho bộ chia tần theo bảng sau:

3. Thanh ghi dữ liệu ACDDR:

Khi khởi tạo chúng có giá trị 0.Sau khi chuyển đổi thì dữ liệu số đƣợc đƣa vào thanh ghi này.

4. Các chân đầu vào:

Các chân đầu vào của ADC là 8 chân của PORTA

Để định nghĩa một cổng là cổng vào cho ADC thì cổng đó phải đƣợc định nghĩa là một cổng vào và loại bổ điện trở treo.

5. Nguyên tắc hoạt động và lập trình điều khiển:

ADC có nhiệm vụ chuyển đổi tín hiệu điện áp tƣơng tự thành tín hiệu số có độ phân giải 10 bit.Với giá trị nhỏ nhất của điện áp đặt ở chân AGND và giá trị cực đại của điện áp tƣơng tự đƣợc mắc vào chân AREF.Tám kênh tƣơng tự đầu vào đƣợc chọn lựa thông qua ADMUX và ADMUX này đƣợc điều khiển bởi thanh ghi ADMUX.

ADC này có thể hoạt động đƣợc ở hai chế độ. Đó là chuyển đổi đơn: chỉ chuyển đổi một lần khi có lệnh chuyển đổi và chế độ tự chuyển đổi (Free mode) đây là chế độ mà ADC tự động chuyển đổi khi đƣợc hoạt động và công việc chuyển đổi có tính tuần hoàn (chỉ cần khởi động một lần).

ADC đƣợc phép hoạt động nhờ thiết lập bit ADEN. Quá trình chuyển đổi đƣợc bắt đầu bằng việc ghi vào bit ADSC mức logic 1 và trong suốt quá trình chuyển đổi bit này luôn đƣợc giữ ở mức cao. Khi quá trình chuyển đổi hoàn thành thì bit này đƣợc xóa bằng phần cứng và cờ AIDF đƣợc bật lên.

Dữ liệu sau khi chuyển đổi đƣợc đƣa ra thanh ghi dữ liệu ADCL và ADCH, nhƣng chú ý khi đọc dữ liệu từ hai thanh ghi này thì đọc ADCL trƣớc rồi mới đọc ADCH. Nếu đọc ADCH trƣớc thì dữ liệu update có thể ghi đè lên ADCL (VĐK nghĩ rằng đã đọc xong dữ liệu).

Điều khiển vào ra dữ liệu với ADC: Các bƣớc thực hiện:

Bƣớc 1: Định nghĩa các cổng vào cho tín hiệu tƣơng tự

Xóa bit tƣơng ứng với chân đó trong thanh ghi DDAR. Sau đó loại bỏ điện trở treo bằng chách xóa bit tƣơng ứng ở thanh ghi PORTA.

Bƣớc 2: Chọn kênh tƣơng tự vào (chọn chân vào cho ADC) thông qua thanh ghi ADMUX (có thể thay đổi trong quá trình hoạt động).

Tốc độ chuyển đổi thông qua xung nhip chuyển đổi. Chế độ chuyển đổi: đơn hoặc tự động.

Sử dụng ngắt hoặc không.

Bƣớc4: Bắt đầu chuyển đổi và đọc dữ liệu.

Một phần của tài liệu Nghiên cứu thiết kế và chế tạo thiết bị đo và giám sát nồng độ bụi thông minh có tích hợp truyền thông không dây (Trang 45 - 49)

Tải bản đầy đủ (PDF)

(99 trang)