Bài giảng Vi xử lý - Chương 8 Các chức năng đặc biệt
Chế độ Sec_idle
• Tắt nguồn tạo clock chính -> chuyển qua
nguồn tạo clock của Timer1.
• Và chế độ Sec_idle
– Set bit IDLEN
– SCS1:SCS0 = 01
– Thực hiện lệnh SLEEP
Bạn đang xem trước 20 trang tài liệu Bài giảng Vi xử lý - Chương 8 Các chức năng đặc biệt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BK
TP.HCM
2009
dce
Chương 8:
Các chức năng đặc biệt
©2009, CE Department
2009
dce
©2009, CE Department
Các chức năng đặc biệt
• Chuyển đổi A-D.
• Bộ lấy mẫu, so sánh và điều chế độ rộng
xung.
• Bộ phát hiện điện áp thấp.
• Chế độ tiết kiệm năng lượng và bộ WDT.
2009
dce
Bộ chuyển đổi A-D
• PIC18F2X20 : 10 bit ADC
• PIC18F4X20 : 13 bit ADC
– Mục đích: Chuyển đổi một tín hiệu analog sang
một số10 bit.
©2009, CE Department
2009
dce
Bộ chuyển đổi A-D
• Module ADC có 5 thanh ghi:
– ADRESH : A/D Result High Register
– ADRESL : A/D Result Low Register
– ADCON0 : A/D Control Register 0
– ADCON1 : A/D Control Register 1
– ADCON2 : A/D Control Register 2
©2009, CE Department
2009
dce
Bộ chuyển đổi A-D
• Thanh ghi ADCON0
©2009, CE Department
CHS3:CHS0: Analog Channel Select bits
Ví dụ :
0000 = Channel 0 (AN0)
0001 = Channel 1 (AN1)
1010 = Channel 10 (AN10)
1100 = Channel 12 (AN12)
GO/DONE: A/D Conversion Status bit
When ADON = 1:
1 = A/D conversion in progress
0 = A/D Idle
ADON: A/D On bit
1 = A/D converter module is enabled
0 = A/D converter module is disabled
2009
dce
Bộ chuyển đổi A-D
• Thanh ghi ADCON1
©2009, CE Department
PCFG3:PCFG0: A/D Port Configuration
Control bits
VCFG1: Voltage Reference Configuration bit,
VREFL Source
1 = VREF- (AN2)
0 = AVSSv
VCFG0: Voltage Reference Configuration bit,
VREFH Source
1 = VREF+ (AN3)
0 = AVDD
2009
dce
Bộ chuyển đổi A-D
• Thanh ghi ADCON3
©2009, CE Department
ACQT2:ACQT0: A/D Acquisition Time Select bits
Ví dụ:
111 = 20 TAD
110 = 16 TAD
101 = 12 TAD
100 = 8 TAD
ADCS1:ADCS0: A/D Conversion Clock Select bits
Ví dụ:
111 = FRC (clock derived from A/D RC oscillator)
110 = FOSC/64
101 = FOSC/16
100 = FOSC/4
011 = FRC (clock derived from A/D RC oscillator)
ADFM: A/D Result Format Select bit
1 = Right justified
0 = Left justified
2009
dce
Bộ chuyển đổi A-D
• Điện áp tham khảo (Analog reference voltage)
được chọn bằng phần mềm.
• ADC là chức năng duy nhất có thể hoạt động
ở chế độ SLEEP (sử dụng bộ dao động RC
bên trong).
• Reset: các thanh ghi chuyển về trạng thái
reset.
– ADC : tắt
– Các quá trình biến đổi AD bị bỏ qua.
©2009, CE Department
2009
dce
Bộ chuyển đổi A-D
©2009, CE Department
2009
dce
Các bước thực hiện chuyển đổi A/D
• Bước 1: Cấu hình cho module A/D
– Cấu hình các pin analog, điện áp tham
khảo(voltage reference) và các I/O digital
(ADCON1)
– Chọn các kênh A/D (ADCON0)
– Chọn acquisition time (ADCON2)
– Chọn clock (ADCON2)
– Bật module A/D (ADCON0)
©2009, CE Department
2009
dce
Các bước thực hiện chuyển đổi A/D
• Bước 2: Cấu hình ngắt (interrupt) A/D (nếu
cần thiết):
– Xóa bit ADIF.
– Set bit ADIE.
– Set bit GIE.
©2009, CE Department
2009
dce
Các bước thực hiện chuyển đổi A/D
• Bước 3: Đợi yêu cầu acquisition time (nếu có)
©2009, CE Department
2009
dce
Các bước thực hiện chuyển đổi A/D
• Bước 4: Bắt đầu chuyển đổi
– Set bit GO/DONE (ADCON0).
©2009, CE Department
2009
dce
Các bước thực hiện chuyển đổi A/D
• Bước 5: Đợi quá trình chuyển đổi hoàn thành
bằng một trong 2 cách :
– Đợi bit GO/DONE được xóa.
– Đợi ngắt A/D.
©2009, CE Department
2009
dce
Các bước thực hiện chuyển đổi A/D
• Bước 6: Đọc kết quả từ thanh ghi
(ADRESH:ADRESL). Sau đó xóa bit ADIF nếu
như sử dụng ngắt.
©2009, CE Department
2009
dce
Mô hình chân analog
©2009, CE Department
2009
dce
Acquisition time
©2009, CE Department
2009
dce
Điện áp tham khảo
• Internal : AVDD và AVSS
• External: VREF+ và VREF-
©2009, CE Department
2009
dce
©2009, CE Department
Các chức năng đặc biệt
• Chuyển đổi A-D.
• Bộ lấy mẫu, so sánh và điều chế độ rộng
xung.
• Bộ phát hiện điện áp thấp.
• Chế độ tiết kiệm năng lượng và bộ WDT.
2009
dce
Bộ lấy mẫu, so sánh và điều chế độ rộng xung.
• Bộ lấy mẫu : Capture
• Bộ so sánh : Compare
• Bộ điều chế độ rộng xung: Pulse Width
Modulation (PWM).
©2009, CE Department
2009
dce
Bộ lấy mẫu (Capture mode)
• Event: pin RC2/CCP1/P1A
– TMR1H: TMR1L CCPR1H:CCPR1L
– TMR3H: TMR3L CCPR1H:CCPR1L
• Event: (CCP1CON)
– Mỗi cạnh xuống (every falling edge)
– Mỗi cạnh lên (every rising edge)
– Mỗi 4 cạnh lên (every 4th rising edge)
– Mỗi 16 cạnh lên (every 16th rising edge)
©2009, CE Department
2009
dce
Bộ lấy mẫu (Capture mode)
• Khi một sự kiện xảy ra, cờ ngắt (CCP1IF
(PIR1)) sẽ được bật lên 1. Bít này phải
được xóa bởi software.
• Nếu một sự kiện xảy ra trước khi giá trị
CCPR1 được đọc thì giá trị cũ sẽ bị ghi đè bởi
giá trị mới.
©2009, CE Department
2009
dce
Cấu hình pin CCP
• RC2/CCP1/P1A : set bit TRISC.
©2009, CE Department
2009
dce
Lựa chọn timer1 hoặc timer3
• Timer được sử dụng trong chế độ capture thì
phải chạy trong mode Timer hoặc
Synchronized Counter . Trong chế độ
Asynchronous Counter, chế độ capture có thể
không hoạt động.
• Sử dụng thanh ghi T3CON để cấu hình cho
module CCP.
©2009, CE Department
2009
dce
CCP PRESCALER
• Có 4 chế độ prescale được chọn trong 4 bit
CCP1M3:CCP1M0
©2009, CE Department
2009
dce
Block Diagram
©2009, CE Department
2009
dce
Bộ so sánh (Compare mode)
• 16-bit trong thanh ghi CCPR1 (CCPR2) sẽ so sánh
với giá trị trong TMR1 hoặc TMR3.
• Khi 2 giá trị giống nhau thì pin RC2/CCP1/P1A
(RC1/T1OSI/CCP2) sẽ :
– Is driven High
– Is driven Low
– Toggles output (High to Low or Low to High)
– Remains unchanged (interrupt only)
• Các hoạt động của 2 pin RC2/CCP1/P1A
(RC1/T1OSI/CCP2) sẽ được điều khiển bởi
CCP1M3:CCP1M0 (CCP2M3:CCP2M0).
©2009, CE Department
2009
dce
Cấu hình CCP pin
• Cấu hình CCPx pin là output bằng cách clear
TRISB bit tương ứng.
©2009, CE Department
2009
dce
Chọn Timer1/Timer3
• Timer1 và/hoặc Timer3 phải chạy trong chế độ
Timer hoặc Synchronized Counter khi CCP
module sử dụng chức năng compare. Trong
chế độ Asynchronous Counter, hoạt động
compare có thể không hoạt động được.
©2009, CE Department
2009
dce
SOFTWARE INTERRUPT MODE
• Khi sử dụng interrupt thì pin CCP1 không có
tác dụng. Chỉ có ngắt CCP được tạo ra.
©2009, CE Department
2009
dce
Block diagram
©2009, CE Department
2009
dce
Bộ điều chế độ rộng xung
• Pin CCP1 output 10-bit resolution PWM.
• Khi pin CCP1 pin được dồn kênh (multiplexer)
với PORTC.
• Bit TRISC bit phải được xóa để CCP1 là
output.
©2009, CE Department
2009
dce
Block diagram
©2009, CE Department
2009
dce
PWM output
©2009, CE Department
2009
dce
Chu kì PWM
• Fpwm = 1/ PWM Period
• Khi TMR2 = PR2 thì có 3 sự kiện xảy ra
– TMR2 được xóa.
– Pin CCP1 được set (if PWM duty cycle = 0%, thì pin CCP1 pin sẽ
không bao giờ được set).
– The PWM duty cycle được copy từ CCPR1L tớiCCPR1H
©2009, CE Department
2009
dce
PWM duty cycle
©2009, CE Department
2009
dce
SETUP FOR PWM OPERATION
1. Set PWM period bằng cách ghi vào thanh
ghi PR2 .
2. Set PWM duty cycle bằng cách ghi vào
thanh ghi CCPR1L và CCP1CON.
3. Clear bit TRISC để CCP1 là output
4. Set giá trị TMR2 prescale và enable Timer2
bằng cách ghi vào thanh ghi T2CON.
5. Cấu hình CCP1 cho hoạt động PWM.
©2009, CE Department
2009
dce
©2009, CE Department
Các chức năng đặc biệt
• Chuyển đổi A-D.
• Bộ lấy mẫu, so sánh và điều chế độ rộng
xung.
• Bộ phát hiện điện áp thấp.
• Chế độ tiết kiệm năng lượng và bộ WDT.
2009
dce
Bộ phát hiện điện áp thấp
• Low-voltage detect
• Có thể được lập trình bằng software
• Tối thiểu tiêu thụ năng lượng của IC
©2009, CE Department
2009
dce
Bộ phát hiện điện áp thấp (tt)
©2009, CE Department
2009
dce
Block diagram
©2009, CE Department
2009
dce
Bộ phát hiện điện áp thấp (tt)
• 4 bit LVDL3:LVDL0 (LVDCON) để chọn
các mức điện áp.
• LVDL3:LVDL0 = 1111 chọn LVDIN
©2009, CE Department
2009
dce
Block diagram
©2009, CE Department
2009
dce
Bộ phát hiện điện áp thấp (tt)
• Thanh ghi LVDCON
©2009, CE Department
IRVST: Internal Reference Voltage Stable Flag bit
1 = Indicates that the Low-Voltage Detect logic will generate the
interrupt flag at the specified
voltage range
0 = Indicates that the Low-Voltage Detect logic will not generate
the interrupt flag at the
specified voltage range and the LVD interrupt should not be
enabled
LVDEN: Low-Voltage Detect Power Enable
bit
1 = Enables LVD, powers up LVD circuit
0 = Disables LVD, powers down LVD circuit
LVDL3:LVDL0: Low-Voltage Detection Limit bits
Ví dụ:
1111 = External analog input is used (input comes
from the LVDIN pin)
1110 = 4.50V-4.78V
1101 = 4.20V-4.46V
1100 = 4.00V-4.26V
1011 = 3.80V-4.04V
2009
dce
Hoạt động
• Thiết lập giá trị cho các bit LVDL3:LVDL0 để chọn
giá trị điện áp so sánh mong muốn.
• Đảm bảo ngắt LVD đã được disabled (xóa bit LVDIE
hoặc xóa bít GIE).
• Enable module LVD module (set bit LVDEN
(LVDCON)).
• Đợi module LVD ổn định (kiểm tra bit IRVST đã set
lên chưa).
• Xóa cờ ngắt LVD bằng cách xóa bit LVDIF.
• Enable ngắt LVD bằng cách set bit LVDIE và bit GIE.
©2009, CE Department
2009
dce
©2009, CE Department
Các chức năng đặc biệt
• Chuyển đổi A-D.
• Bộ lấy mẫu, so sánh và điều chế độ rộng
xung.
• Bộ phát hiện điện áp thấp.
• Chế độ tiết kiệm năng lượng và bộ WDT.
2009
dce
Chế độ tiết kiệm năng lượng
• Chế độ Sleep,
• Chế độ Idle.
©2009, CE Department
2009
dce
Chế độ Sleep
• Bit IDLEN và SCS1:SCS0 được xóa (default).
• Thực hiện lệnh SLEEP
Vào chế độ SLEEP
2009
dce
Giản đồ thời gian vào chế độ SLEEP
2009
dce
Chế độ Sleep
• Thoát khỏi chế độ Sleep
– Interrupt
– Reset
– WDT time-out
2009
dce
Giản độ thời gian thoát chế độ SLEEP
2009
dce
Chế độ IDLE
• Chế độ Pri_idle
• Chế độ Sec_idle
• Chế độ Rc_idle
2009
dce
Chế độ Pri_idle
• Không tắt nguồn tạo clock chính (the primary
system clock).
• Vào chế độ Pri_idle
– Set bit IDLEN
– Clear SCS bít
– Thực hiện lệnh SLEEP
2009
dce
Giản đồ thời igan vào chế độ Pri_idle
2009
dce
Chế độ Pri_idle
• Thoát khỏi chế độ Pri_idle
– Interrupt
– Reset
– WDT time-out
2009
dce
Giản đồ thời gian thoát chế độ Pri_idle
2009
dce
Chế độ Sec_idle
• Tắt nguồn tạo clock chính -> chuyển qua
nguồn tạo clock của Timer1.
• Và chế độ Sec_idle
– Set bit IDLEN
– SCS1:SCS0 = 01
– Thực hiện lệnh SLEEP
2009
dce
Giản đồ thời gian vào chế độ Sec_idle
2009
dce
Chế độ Sec_idle
• Thoát khỏi chế độ Sec_idle
– Interrupt
– Reset
– WDT time-out
2009
dce
Giản đồ thời gian thoát chế độ Sec_idle
2009
dce
Chế độ RC_idle
• Tắt CPU
• Thiết bị ngoại vi được cấp clock bởi bộ tạo
xung bên trong sự dụng INTOSC.
• Vào chế độ Rc_idle
– Set bit IDLEN
– Set bit SCS1
– Thực hiện lệnh SLEEP
2009
dce
Giản đồ thời gian vào chế độ Rc_idle
2009
dce
Giản đồ thời gian thoát chế độ Rc_idle
2009
dce
Tóm tắt chế độ tiết kiệm năng lượng
Các file đính kèm theo tài liệu này:
- slide_vi_xu_li_chuong_8_5483.pdf