1 / 23

บทที่ 4 วงจร ADC

บทที่ 4 วงจร ADC. เทอดศักดิ์ ลิ่วหาทอง สาขาวิชาอิเล็กทรอนิกส์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง. Analog & Digital Signal. Analog Signal. Digital Signal. Digital Signal. Analog to Digital Converter. Quantize. Sampling and Hold. Sampling Rate Selection. Sampling Rate

faith
Download Presentation

บทที่ 4 วงจร ADC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 4วงจร ADC เทอดศักดิ์ ลิ่วหาทอง สาขาวิชาอิเล็กทรอนิกส์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง

  2. Analog & Digital Signal Analog Signal Digital Signal Digital Signal

  3. Analog to Digital Converter Quantize Sampling and Hold

  4. Sampling Rate Selection Sampling Rate fs >= 2 Bandwidth

  5. Sampling Rate Selection Resolution LSB = (Vref+-Vref-)/2k

  6. ADC ชนิด Successive Approximation

  7. ADC ของ PIC18F8722 • PIC18F8722 มีวงจร Analog to Digital Converter ขนาด 10 bit ทั้งหมด 16 วงจร (AN0-AN15)

  8. ADC ของ PIC18F8722

  9. ADC ของ PIC18F8722

  10. ADC ของ PIC18F8722

  11. Register ของ ADC • PIC มี Register ที่เกี่ยวกับ ADC ทั้งหมด 5 ตัวคือ • A/D Result High Register (ADRESH) • A/D Result Low Register (ADRESL) • A/D Control Register 0 (ADCON0) • A/D Control Register 1 (ADCON1) • A/D Control Register 2 (ADCON2)

  12. ADRESH และ ADRESL • ADRESH และ ADRESL เป็น Register ที่ใช้เก็บผลลัพธ์ของการแปลง ADC

  13. ADCON0 • ADCON0 เป็น Register ที่ใช้กำหนดว่าจะให้วงจร VAin ของวงจร ADC ต่อกับ AN ตัวที่เท่าใด (CHS3:0) • สั่งให้ ADC เริ่มทำงาน Go/DONE • และตรวจสอบว่า ADC ทำงานเสร็จหรือยัง ADON

  14. ADCON0

  15. ADCON1 • ADCON1 เป็น Register ที่ใช้กำหนดให้ AN ตัวใดทำงานเป็น Analog Input Port หรือทำงานเป็น Digital I/O Port (PCFG3:0) • และกำหนดให้ RA3/AN3 เป็น VRef+และ RA2/AN2 เป็น VRef-(VCFG1:0)

  16. ADCON1

  17. ADCON2 • ADCON2 เป็น Register ที่ใช้กำหนด Acquisition Time ของวงจร ADC

  18. Acquisition Time • สัญญาณ Analog จะถูกป้อนผ่านสวิทซ์ไปเข้าที่ขา VAinของวงจร ADC • จากนั้น CHOLDจะถูกชาร์จประจุให้มีแรงดันเท่ากับขา VAin

  19. Acquisition Time • เพื่อให้การแปลง ADC มีความถูกต้อง จะต้องให้แรงดันของ CHOLD เท่ากับ VAin • เนื่องจาก VAinชาร์จประจุ CHOLD ผ่าน RS, RSSดังนั้นจึงต้องใช้เวลาในการชาร์จประจุ เราเรียกเวลาดังกล่าวว่า Acquisition Time (TACQ)

  20. Acquisition Time

  21. เราสามารถตั้งค่า Acquisition Time ได้จาก ACQT<2:0> • เมื่อเซ็ทให้ GO/DONE = 1 PIC จะรอเป็นเท่ากับ Acquisition Time จากนั้นจึงเริ่มแปลง ADC • และเมื่อแปลง ADC เสร็จแล้ว GO/DONE จะเท่ากับ 0

  22. ขั้นตอนการแปลง ADC

  23. #include <p18f8722.h> #include <adc.h> #include <delays.h> #include <timers.h> #define NUMBER_OF_LEDS 8 #pragma code int result; int shift; void main(void) { TRISAbits.TRISA0=1; TRISD = 0; PORTD = 0; ADCON1 = 0b00001110; ADCON2 = 0b10001010; ADCON0bits.ADON = 1; while(1) { ADCON0bits.GO=1; while(ADCON0bits.GO); result = ADRES; result >>=2; if(result==0) result = 1; // PORTD = result; PORTD=1<<shift; shift++; shift %=8; Delay10KTCYx(20); } }

More Related