L ời cả mơ n
1.2.7. Module chuyển đổi tưong tự sang số 10 bit (A/D)
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)
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 .
Thanh ghi ADCON1
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:
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 110 = 16 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 toỏ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 toỏ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 .
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ố