Cỏc chip DSPIC cú module ADC thuộc một trong hai dạng: 10-bit với tốc độ lờn đến 1 MSPS (triệu mẫu/giõy) hay 12-bit với tốc độ lờn đến 200 ksps (nghỡn mẫu/giõy). Cỏc module ADC đƣợc thiết kế nhằm phục vụ cho cỏc mục đớch khỏc nhau. Trong cỏc DSPIC thuộc dũng điều khiển động cơ, module ADC là loại 10-bit với tốc độ cao, nhằm đỏp ứng yờu cầu về tốc độ lấy mẫu của cỏc bộ điều khiển truyền động điện. Cỏc bộ ADC trong cỏc DSPIC sử dụng thuật toỏn chuyển đổi successive approximation register - sar, do đú cú thời gian chuyển đổi đó đƣợc xỏc định trƣớc. Việc chuyển đổi tớn hiệu từ dạng tƣơng tự sang dạng số bao gồm hai giai
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn
đoạn: giai đoạn lấy mẫu tớn hiệu và giai đoạn chuyển đổi, cú thể bắt đầu giai đoạn lấy mẫu bằng tay hay tự động. Thời điểm chấm dứt lấy mẫu (và bắt đầu chuyển đổi) cú thể do ngƣời dựng xỏc định (bằng cỏch tắt bit SAMP) hay đƣợc một ngoại vi nào đú xỏc định (một timer dành riờng, module MCPPWM, Timer 3, hay chõn INT(0). Nhƣ vậy thời gian lấy mẫu là khỏc nhau với cỏc thiết lập khỏc nhau. Giai đoạn chuyển đổi dữ liệu cần cú 12 xung clock cho module ADC, với một chu kỳ xung clock TAD cú thể đƣợc chọn là từ Tcy/2 đến 32Tcy. Tcy chớnh là thời gian của một chu kỳ mỏy.
Module ADC của DSPIC30F4011 cú 4 bộ khuếch đại s/h (sample and hold), đƣợc đỏnh địa chỉ là kờnh 0 đến kờnh 3. Cú thể chỉ dựng kờnh 0, hay dựng kờnh 0 và 1, và cũng cú thể dựng cả 4 kờnh cho việc thu thập dữ liệu. Kờnh 0 là kờnh linh hoạt nhất trong việc chọn lựa cỏc ngừ vào tƣơng tự. Bộ đệm của module ADC cú thể chứa đƣợc tối đa 16 kết quả.
Module ADC của DSPIC30F4011 cú 6 thanh ghi 16 bit:
- A/D CONTROL REGISTER - ADCONx với x là số thứ tự từ 1 đến 3. Thanh ghi này điều khiển hoạt động của ADC.
- A/D INPUT SELECT REGISTER - ADCHS cú nhiệm vụ chọn kờnh cần chuyển đổi.
- A/D PORT CONFIGURAITON REGISTER - ADPCFG cấu hỡnh cho cỏc PORT là đầu vào tƣơng tự hay đầu vào số.
- A/D INPUT SCAN SELETION REGISTER (ADCSSL) chọn đầu vào để quột
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn
Hỡnh 2.8: Cấu trỳc của module ADC 10bit trong DSPIC30F4011
Sau khi chuyển đổi, kết quả sẽ đƣợc lƣu vào cỏc bộ đệm tờn là ADCBUF0 đến ADCBUFF.
Hoạt động chuyển đổi của ADC module cần phải thiết lập theo cỏc bƣớc sau: - Chọn cỏc chõn dựng làm ngừ vào analog bằng cỏc bit ADPCFG<15:0> - Chọn nguồn điện ỏp chuẩn bằng cỏc bit ADCON2<15:13>
- Chọn tốc độ xung clock cho module ADC phự hợp với tốc độ dữ liệu và tốc độ của bộ xử lý bằng cỏc bit ADCON3<5:0>
- Xỏc định bao nhiờu kờnh S/H sẽ đƣợc dựng bằng cỏc bit ADCON2<9:8> và ADPCFG<15:0>
- Xỏc định cỏch thức lấy mẫu bằng cỏc bit ADCON1<3> và ADCSS1<15:0> - Chọn thứ tự lấy mẫu/chuyển đổi thớch hợp bằng cỏc bit ADCON1<7:0> và
ADCON3<12:8>
- Chọn cỏch biểu diễn kết quả chuyển đổi trong bộ đệm bằng cỏc bit ADCON1<9:8>
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn
- Chọn tốc độ tạo ngắt bằng cỏc bit ADCON2<5:9> - Bật module ADC bằng bit ADCON1<15>
- Nếu cú sử dụng ngắt, cần thiết lập thờm cấu hỡnh cho ngắt A/D - Xúa bit ADIF
- Chọn độ ƣu tiờn cho ngắt A/D
Cỏc bit ADCS<5:0> (ADCON3<5:0>) đƣợc dựng để thiết lập tốc độ xung clock cho module ADC. Giỏ trị của ADCS<5:0> đƣợc xỏc định từ cụng thức:
1 2 CY AD T T ADCS
Giỏ trị đƣợc chọn của TAD khụng đƣợc phộp nhỏ hơn 83.33 ns.