Cơ sở dữ liệu - Chương 8: Các chức năng đặc biệt

pdf 64 trang vanle 1660
Bạn đang xem 20 trang mẫu của tài liệu "Cơ sở dữ liệu - Chương 8: Các chức năng đặc biệt", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfco_so_du_lieu_chuong_8_cac_chuc_nang_dac_biet.pdf

Nội dung text: Cơ sở dữ liệu - Chương 8: Các chức năng đặc biệt

  1. dce 2009 Chương 8: Các chức năng đặc biệt BK TP.HCM ©2009, CE Department
  2. dce 2009 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, CE Department
  3. dce 2009 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
  4. dce 2009 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
  5. dce 2009 Bộ chuyển đổi A-D • Thanh ghi ADCON0 CHS3:CHS0: Analog Channel Select bits GO/DONE: A/D Conversion Status bit Ví dụ : ADON: A/D On bit When ADON = 1: 0000 = Channel 0 (AN0) 1 = A/D converter module is enabled 1 = A/D conversion in progress 0001 = Channel 1 (AN1) 0 = A/D converter module is disabled 0 = A/D Idle 1010 = Channel 10 (AN10) 1100 = Channel 12 (AN12) ©2009, CE Department
  6. dce 2009 Bộ chuyển đổi A-D • Thanh ghi ADCON1 VCFG1: Voltage Reference Configuration bit, PCFG3:PCFG0: A/D Port Configuration VREFL Source Control bits 1 = VREF- (AN2) VCFG0: Voltage Reference Configuration bit, 0 = AVSSv VREFH Source 1 = VREF+ (AN3) 0 = AVDD ©2009, CE Department
  7. dce 2009 Bộ chuyển đổi A-D • Thanh ghi ADCON3 ACQT2:ACQT0: A/D Acquisition Time Select bits Ví dụ:ADFM: A/D Result Format Select bit ADCS1:ADCS0: A/D Conversion Clock Select bits 1 = Right111 = justified20 TAD Ví dụ: 0 = Left110 =justified 16 TAD 111 = FRC (clock derived from A/D RC oscillator) 101 = 12 TAD 110 = FOSC/64 100 = 8 TAD 101 = FOSC/16 100 = FOSC/4 011 = FRC (clock derived from A/D RC oscillator) ©2009, CE Department
  8. dce 2009 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
  9. dce 2009 Bộ chuyển đổi A-D ©2009, CE Department
  10. dce 2009 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
  11. dce 2009 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
  12. dce 2009 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
  13. dce 2009 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
  14. dce 2009 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
  15. dce 2009 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
  16. dce 2009 Mô hình chân analog ©2009, CE Department
  17. dce 2009 Acquisition time ©2009, CE Department
  18. dce 2009 Điện áp tham khảo • Internal : AVDD và AVSS • External: VREF+ và VREF- ©2009, CE Department
  19. dce 2009 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, CE Department
  20. dce 2009 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
  21. dce 2009 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
  22. dce 2009 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
  23. dce 2009 Cấu hình pin CCP • RC2/CCP1/P1A : set bit TRISC . ©2009, CE Department
  24. dce 2009 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
  25. dce 2009 CCP PRESCALER • Có 4 chế độ prescale được chọn trong 4 bit CCP1M3:CCP1M0 ©2009, CE Department
  26. dce 2009 Block Diagram ©2009, CE Department
  27. dce 2009 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
  28. dce 2009 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
  29. dce 2009 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
  30. dce 2009 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
  31. dce 2009 Block diagram ©2009, CE Department
  32. dce 2009 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
  33. dce 2009 Block diagram ©2009, CE Department
  34. dce 2009 PWM output ©2009, CE Department
  35. dce 2009 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
  36. dce 2009 PWM duty cycle ©2009, CE Department
  37. dce 2009 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
  38. dce 2009 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, CE Department
  39. dce 2009 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
  40. dce 2009 Bộ phát hiện điện áp thấp (tt) ©2009, CE Department
  41. dce 2009 Block diagram ©2009, CE Department
  42. dce 2009 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
  43. dce 2009 Block diagram ©2009, CE Department
  44. dce 2009 Bộ phát hiện điện áp thấp (tt) • Thanh ghi LVDCON LVDEN: LowLVDL3:LVDL0:-Voltage Detect Low Power-Voltage Enable Detection Limit bits bit Ví dụ: IRVST:1 Internal = Enables Reference LVD, powers Voltage up LVD Stable circuit Flag bit 1111 = External analog input is used (input comes 1 = Indicates0 = Disables that the LVD, Low powers-Voltage down Detect LVD logic circuit will generate the interrupt flag at thefrom specified the LVDIN pin) voltage range 1110 = 4.50V-4.78V 0 = Indicates that the Low-Voltage1101 = Detect 4.20V- logic4.46V will not generate the interrupt flag at the 1100 = 4.00V-4.26V specified voltage range and 1011the LVD = 3.80V interrupt-4.04V should not be enabled ©2009, CE Department
  45. dce 2009 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
  46. dce 2009 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, CE Department
  47. dce 2009 Chế độ tiết kiệm năng lượng • Chế độ Sleep, • Chế độ Idle. ©2009, CE Department
  48. dce 2009 Chế độ Sleep • Bit IDLEN và SCS1:SCS0 được xóa (default). • Thực hiện lệnh SLEEP Vào chế độ SLEEP
  49. dce 2009 Giản đồ thời gian vào chế độ SLEEP
  50. dce 2009 Chế độ Sleep • Thoát khỏi chế độ Sleep – Interrupt – Reset – WDT time-out
  51. dce 2009 Giản độ thời gian thoát chế độ SLEEP
  52. dce 2009 Chế độ IDLE • Chế độ Pri_idle • Chế độ Sec_idle • Chế độ Rc_idle
  53. dce 2009 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
  54. dce 2009 Giản đồ thời igan vào chế độ Pri_idle
  55. dce 2009 Chế độ Pri_idle • Thoát khỏi chế độ Pri_idle – Interrupt – Reset – WDT time-out
  56. dce 2009 Giản đồ thời gian thoát chế độ Pri_idle
  57. dce 2009 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
  58. dce 2009 Giản đồ thời gian vào chế độ Sec_idle
  59. dce 2009 Chế độ Sec_idle • Thoát khỏi chế độ Sec_idle – Interrupt – Reset – WDT time-out
  60. dce 2009 Giản đồ thời gian thoát chế độ Sec_idle
  61. dce 2009 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
  62. dce 2009 Giản đồ thời gian vào chế độ Rc_idle
  63. dce 2009 Giản đồ thời gian thoát chế độ Rc_idle
  64. dce 2009 Tóm tắt chế độ tiết kiệm năng lượng