Module chuyển đổi tương tự sang số (A/D) cĩ 10 đầu vào trong thiết bị 28 chân và cĩ 13 đầu vào trong thiết bị 40/44 chân . Chế độ này cho phép trao đổi tín hiệu tương tự đầu vào tương đương với 10 bit số.
Module cĩ năm thanh ghi:
• A/D Thanh ghi kết quả cao (ADRESH) • A/D Thanh ghi kết quả thấp (ADRESL) • A/D Thanh ghi điều khiển 0 (ADCON0) • A/D Thanh ghi kết quả thấp 1 (ADCON1) • A/D Thanh ghi điều khiển 2 (ADCON2)
Thanh ghi ADCON0 trong thanh ghi 19-1, điều khiển hoạt động của module A/D. Thanh ghi ADCON1 trong thanh ghi 19-2,cấu hình chức năng của các chân ở cổng.
Thanh ghi ADCON2 chỉ ra trong thanh ghi 19-3, cấu hình cho nguồn xung A/D , phần mền sẽ thu thập thời gian và hiệu chỉnh.
Thanh ghi ADCON0
bit 7-6 Unimplemented: mang giá trị „0‟ bit 5-2 CHS3:CHS0: bit lựa chọn kenh tương tự 0000 = Channel 0 (AN0) 0001 = Channel 1 (AN1) 0010 = Channel 2 (AN2) 0011 = Channel 3 (AN3) 0100 = Channel 4 (AN4) 0101 = Channel 5 (AN5) (1,2) 0110 = Channel 6 (AN6) (1,2) 0111 = Channel 7 (AN7)(1,2) 1000 = Channel 8 (AN8) 1001 = Channel 9 (AN9) 1010 = Channel 10 (AN10) 1011 = Channel 11 (AN11) 1100 = Channel 12 (AN12) 1101 = Khơng xác định(2) 1110 = Khơng xác định (2) 1111 = Khơng xác định (2) bit 1 GO/DONE: A/D trạng thái bit chuyển đổi Khi bit ADON = 1:
1 = A/D đang trong quá trình chuyển đổi. 0 = A/D Idle
bit 0 ADON: bit hoạt động A/D
1 = A/D Module chuyển đổi được cho phép.
0 = A/D Module chuyển đổi khơng cho phép .
bit 7-6 Unimplemented: mang giá trị „0‟ bit 5 VCFG1: Bit cấu hình điện áp chuẩn (VREF- source)
1 = VREF- (AN2)
0 = VSS bit 4 VCFG0: bit cấu hình điên áp chuẩn (VREF+ source)
1 = VREF+ (AN3)
0 = VDD bit 3-0 PCFG3:PCFG0: A/D Những bít cấu hình điều khiển cổng:
Thanh ghi ADCON2
bit 7 ADFM: bit chọn định dạng cho A/D
1 = Căn chỉnh bên phải 0 = Căn chỉnh bên trái bit 6 Unimplementedânmng giá trị „0‟
bit 5-3 ACQT2:ACQT0:bit lựa chịn thời gian thu nhận A/D 111 = 20 TAD
101 = 12 TAD 100 = 8 TAD 011 = 6 TAD 010 = 4 TAD 001 = 2 TAD 000 = 0 TAD
bit 2-0 ADCS2:ADCS0: bít lựa chọn xung chuyển đổi A/D 111 = FRC ( xung dẫn xuất từ bộ dao động A/D RC ) 110 = FOSC/64 101 = FOSC/16 100 = FOSC/4 011 = FRC 010 = FOSC/32 001 = FOSC/8 000 = FOSC/2
Điện áp chuẩn tương tự được chọn bởi phần mềm là một trong hai mức tích cưc của thiết bị cung cấp điện áp là tích cực dương và tích cực âm (VDD và VSS), hoặc mức điện áp trên các RA3/AN3/ VREF+ và các chân RA2/AN2/VREF-/CVREF .
Bộ biến đổi tương tự số A/D cĩ đặc điểm là cĩ thể hoạt động khi thiết bị ở chế độ Sleep . Hoạt động trong chế đơ Sleep, xung nhịp chuyển đổi A/D cĩ thể được lấy từ bộ dao động RC bên ngồi của bộ chuyển đổi A/D.
Đầu ra của mẫu và giá trị giữ được lấy từ đâu vào của bộ chuyển đổi, mà nĩ đưa ra thơng qua việc lấy xấp xỉ.
Mơt thiết bị được reset thì buộc phải reset tất cả các thanh ghi trạng thái của nĩ .Khi module A/D module bị tắt và bất cứ quá trình chuyển đổi nào cũng bị bỏ . Mỗi cổng được nối với bộ biến đổi A/D cĩ thể cấu hình như một đầu vào tương tự hoặc như cổng và ra số. Thanh ghi ADRESH và thanh ghi ADRESL chứa kết quả của chuyển đổi A/D.Khi chuyển đổi A/D hồn thành kết quả được nạp vào cặp thanh ghi ADRESH:ADRESL ,bit GO/DONE ( thanh ghi ADCON0 ) được xĩa và bit cờ ngắt A/D ( ADIF) được set. Sơ đồ khối của module trong hình 19-1.
•Yêu cầu khi sử dụng bộ thu nhận A/D
Đối với bộ A/D để đảm bảo độ chính xác tụ nạp điên phải được cho phép nạp đầy mức điện áp đầu vào . Module vào tương tự trong hình 19-3. Trở kháng nguồn (RS) và trở kháng bên trong cơng tắc lấy mẫu (RSS) ảnh hưởng trực tiếp đến thời gian nạp CHOLD. Trở kháng trên các cơng tắc lấy mẫu (RSS) thay đổi khác nhau trên thiết điên áp khác nhau (VDD). Trở kháng nguồn ảnh hưởng trực tiếp đến điện áp offset ( điện áp lệch) ở đầu vào tương tự (rị điện trên chân ). Giá trị trở kháng lớn nhất cho phép của nguồn tương tự là 2.5 kΩ . Sau khi kênh đầu vào tương tự được chọn ( thay đổi ), kênh này phải lấy mẫu trong thời gian nhỏ nhất yêu cầu trước khi bắt đầu chuyển đổi .
Tính tốn thời gian nhỏ nhất yêu cầu To calculate the minimum acquisition time, Cơng thức 19-1 cĩ thể được sử dụng . Trong cơng thức này cho rằng 1/2 bit cĩ trọng số lớn ( LSb error ) được sử dụng (1024 bước cho A/D). 1/2 bit cĩ trọng số lớn lỗi là lỗi lớn nhất cho phép của A/D đáp ứng độ phân giải đã định . Ví dụ 19-3 chỉ ra cách tính thời gian bé nhất cần thiết TACQ. Tính tốn này dựa trên các giả thiết thơng số hệ thống sau:
− CHOLD = 25 pF
− Rs = 2.5 kΩ
− Conversion Error ≤ 1/2 LSb
− VDD =5V → Rss = 2 kΩ
− Temperature = 85°C (system max.)
EQUATION:ACQUISITION TIME
EQUATION:A/D MINIMUM CHARGING TIME
EQUATION:CALCULATING THE MINIMUM REQUIRED ACQUISITION TIME
•Chọn và cấu hình thời gian cần thiết .
Thanh ghi ADCON2 cho phép cho phép người sử dụng chọn được thời gian cần thiết và thời gian này xảy ra mỗi lần bit GO/DONE được set . Nĩ cũng cho người sử dụng lựa chọn sử dụng tự động xác định thời gian cần thiết . Thời gian nhận được phải được đặt với bit ACQT2:ACQT0
( ADCON2 <5:3>), nĩ cung cấp một dải của 2 đến 20 TAD. Khi bit GO/DONE được set, module A/D tiếp tục lấy mẫu đầu vào để chọn thời gian ,sau đĩ tự động bắt đầu quá trình chuyển đổi .
Khi thời gian thu nhận được lập trình , cĩ thể khơng cần đợi một thời gian thu nhận từ lúc chọn kênh đến lúc set bit GO/DONE .
Chế độ chọn thời gian thu nhận bằng tay được chọn khi ACQT2 :ACQT0 = 000. Khi bit GO/DONE được set, mẫu sẽ ngừng nhận và quá trình nhận được bắt đầu . Người sử phải cĩ trách nhiệm đảm bảo thời gian thu nhận cần thiết phải qua thời điểm chọn kênh và set bit GO/DONE . Sự lựa chọn này cũng mặc định thiết lập lại trạng thái của bit ACQT2:ACQT0 và tương thích với thiết bị mà khơng cung cấp cho lập trình thời gian thu nhận.
Trong cả hai trường hợp ,khi chuyển đổi hồn thành thì bit thì bit
GO/DONE được xĩa, cờ ADIF được set và A/D bắt đầu lấy mẫu được chọn một lần nữa . Nếu thời gian thu nhận được lập trình , khơng cĩ gì để xác định nếu thời gian thu nhận đã kết thúc nếu quá trình truyền đã bắt đầu .
• Chọn xung nhịp chuyển đổi A/D .
Thời gian A/D chuyển đổi một bit được xác định như là một TAD. Và thời gian A/D truyền 10-bit cần là 11 TAD.
Nguồn xung nhịp A/D chuyển được phần mềm chọn . Cĩ bảy thời gian lựa chọn cho TAD: •2 TOSC •4 TOSC •8 TOSC •16 TOSC •32 TOSC •64 TOSC • Bộ tạo dao động RC .
Kiểm tra bộ chuyển đổi A/D , xung nhịp bộ chuyển đổi A/D (TAD) phải ngắn nhất cĩ thể nhưng lớn hơn thời gian nhỏ nhất TAD ( xem tham số 130 để biết thêm thơng tin).
Bảng 19-1 chỉ ra rằng tổng thời gian TAD nhận được từ tần số thiết bị hoạt động và nguồn xung nhịp A/D được chọn.
• Hoạt động trong các chế độ quản lí nguồn.
Chọn chế độ thời gian thu nhận tự động và xung nhịp chuyển đổi A/D được xác định một phần từ xung nhịp nguồn và tần số trong chế độ quản lí nguồn .
Nếu bộ A/D phải hoạt động trong khi thiết bị trong chế độ quản lí nguồn thì bit ACQT2:ACQT0 và bit ADCS2:ADCS0 bits trong thanh ghi ADCON2 phải được cập nhập phù hợp với nguồn xung được sử dụng trong chế độ này . Sau khi nhập chế độ ,bộ A/D thu nhân hoặc chuyển đổi cĩ thể bắt bắt đầu hoạt động . Khi nĩ hoạt động xung nhịp của thiết bị nên tiếp tục giữ bằng xung nhịp của nguồn cho đến khi quá trình chuyển đổi được hồn thành .
Nếu muốn ,thiết bị cĩ thể đặt vào chế độ Idle tương ứng trong quá trình chuyển đổi. Nếu tần số xung nhịp thiết bị là thấp hơn 1 MHz, và nguồn xung nhịp RC của A/D được chọn .Hoạt động trong chế độ Sleep cần chọn nguồn xung nhịp FRC của
A/D . Nếu bit ACQT2:ACQT0 được set thành „000‟ và quá trình chuyển đổi được bắt đầu , thì quá trình chuyển đổi sẽ được trễ trong một chu kì lệnh cho phép thực hiện lệnh SLEEP để đi vào chế độ Sleep . Bit IDLEN(OSCCON<7>) phải đã được xĩa trước khi quá trình chuyển đổi.
• Cấu hình các chân của cổng tương tự.
Các thanh ghi ADCON1, TRISA, TRISB và TRISE dùng để cấu hình cho các chân của cổng tương tự số A/D . Các chân khi mà làm việc như cổng vào cần phải set các bit TRIS tương ứng (đầu vào). Nếu bit TRIS bị xĩa ,mức cổng ra số ( VOH hoặc VOL ) sẽ được bị biến đổi . Hoạt động của A/D độc lập với trạng thái của bit CHS3:CHS0 và bit TRIS .
• Sự biến đổi A/D
Hình 19-4 minh họa hoạt động của bộ biến đổi A/D sau khi bit GO/DONE được set và bit ACQT2:ACQT0 được xĩa. Một sự biến đổi được bắt đầu sau khi lệnh cho phép đi vào chế độ Sleep . Hình 19-5 minh họa hoạt động của bộ biến đổi sau khi bit GO/DONE đã được set và bit ACQT2:ACQT0 được set thành „010‟, và chọn thời gian thu nhận bằng 4TAD trước khi chuyển đổi bắt đầu .
Xĩa bit GO/DONE trong quá trình chuyển đổi sẽ bỏ qua dịng chuyển đổi . Cặp thanh ghi kết quả của chuyển đổi A/D sẽ khơng được cập nhật khi mẫu chuyển đổi mới hồn thành một phần . Điều này cĩ nghĩa rằng thanh ghi ADRESH:ADRESL sẽ tiếp tục chứa giá trị của lần chuyển đổi trước (hoặc giá trị đã ghi vào thanh ghi ADRESH:ADRESL ).
Sau khi chuyển đổi A/D được hồn thành hoặc hủy bỏ , thời gian chờ 2TAD là cần thiết trước lần thu nhận tiếp theo cĩ thể bắt đầu . Sau thời gian chờ này , kênh thu nhận được chọn thì tự động bắt đầu hoạt động .
• Phĩng điện
Giai đoạn phĩng điện được sử dụng để khởi tạo giá trị cho dãy tụ điện.Dãy tụ điện này được phĩng điện trước tất cả các mẫu . Đặc điểm này giúp tối ưu hĩa bộ khuếch đại,như là mạch cần để nạp mảng tụ điện ,chứ khơng phải nạp /phĩng điện dựa trên sự đo lường giá trị .
• Sử dụng Trigger CCP2
Một bộ chuyển đổi A/D cĩ thể được khởi động bằng cách kích hoạt sự kiện đặc biệt của module CCP2 . Sự kiện này cần các bit CCP2M3:CCP2M0 (CCP2CON<3:0>) được lập trình bằng „1011‟và module A/D được cho phép (bit ADON được set ). Khi kích hoạt xảy ra ,bit GO/DONE sẽ được set , bắt đầu quá trình nhận và chuyển đổi , bộ đếm của Timer1 (hoặc Timer3) được reset về khơng. Timer1 (hoặc Timer3) được reset tự động lặp lại chu kì chuyển đổi với mục đích tối ưu hĩa phần mềm(chuyển ADRESH:ADRESL đến vị trí mong muốn ). Kênh đầu vào tương tự tương ứng phải được chọn và chu kì chuyển đổi nhỏ nhất cũng được đặt bởi người sử dụng, thời gianTACQ tương ứng được chọn trước khi sự kiện kích hoạt đặc biệt set bit GO/DONE (bắt đầu quá trình chuyển đổi ).
Nếu module A/D khơng được cho phép hoạt động (bit ADON được xĩa), sự kiện kích hoạt ngắt đặc biệt sẽ bị bỏ qua bởi module A/D, nhưng vẫn reset bộ đếm của Timer1 (hoặc Timer3) .
Chương 2: Thiết kế bộ điều khiển PID số