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

pdf64 trang | Chia sẻ: truongthinh92 | Ngày: 26/07/2016 | Lượt xem: 744 | Lượt tải: 0download
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:

  • pdfslide_vi_xu_li_chuong_8_5483.pdf
Tài liệu liên quan