Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,02 MB
Nội dung
Vi Điều Khiển 6.01 Chương 06 Mô đun chuyển đổi tín hiệu tương tự - số (Analog-to-Digital Converter) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 6.02 GIỚI THIỆU VỀ MODULE ADC (1) Module ADC cho phép chuyển đổi tín hiệu tương tự đầu vào thành biểu diễn dạng tín hiệu số 10 bit ● Module ADC chuyển tín hiệu tương tự vào mạch lấy mẫu giữ mẫu đơn ● Ngõ mạch lấy giữ mẫu làm ngõ vào chuyển đổi ADC ● Bộ chuyển đổi ADC tạo giá trị số 10 bit phương pháp gần liên tiếp lưu giá trị vào ghi ADRESL ADRESH HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 6.03 GIỚI THIỆU VỀ MODULE ADC (2) ● Giá trị điện áp đưa vào module ADC lựa chọn phần mềm, giá trị VDD, giá trị điện áp đưa vào chân điện áp tham chiếu ● Module ADC tạo ngắt sau hồn thành phép biến đổi Ngắt dùng để đánh thức VĐK khỏi trạng thái Sleep HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.04 Chương SƠ ĐỒ KHỐI MODULE ADC HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 6.05 KHAI BÁO MODULE ADC Trước sử dụng module ADC cần khai báo chức sau: ● Port configuration: Khai báo chân sử dụng ● Channel selection: Lựa chọn kênh ● ADC voltage reference selection: Lựa chọn điện áp tham chiếu cho module ADC ● ADC conversion clock source: Nguồn xung clock dùng cho module ADC ● Interrupt control: Điều khiển ngắt ● Results formatting: Định dạng kết HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.06 Chương PORT CONFIGURATION ● Khi tín hiệu vào tín hiệu tương tự, phải khai báo chân I/O thích hợp để khơng bị nhần lẫn với tín hiệu vào tín hiệu số ● Các ghi: TRISA, TRISB, ANSEL, ANSELH HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.07 Chương CHANNEL SELECTION ● Các bit CHS ghi ADCON0 định kênh đưa vào mạch lấy mẫu giữ mẫu ● Khi thay đổi kênh có khoảng trễ trước thực việc chuyển đổi HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 6.08 ADC VOLTAGE REFERENCE ● Các bit VCFG ghi ADCON0 cung cấp điều khiển độc lập điện áp tham chiếu âm dương ● Điện áp tham chiếu dương VDD hay nguồn điện áp bên ngồi ● Điện áp tham chiếu âm VSS hay nguồn điện áp bên HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.09 Chương CONVERSION CLOCK (1) Nguồn xung clock chuyển đổi lựa chọn phần mềm từ bit ADCS ghi ADCON0 Có tần số lựa chọn ● FOSC/2 ● FOSC/8 ● FOSC/32 ● FRC HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.10 Chương CONVERSION CLOCK (2) ● Thời gian để thực việc chuyển đổi bit TAD ● Để thực việc chuyển đổi 10 bit cần chu kỳ 11 TAD HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.12 Chương RESULT FORMATTING ● Kết chuyển đổi ADC 10 bit chia thành định dạng: canh lề trái hay canh lề phải ● Bit ADFM ghi ADCON0 điều khiển định dạng ngõ HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.13 Chương CÁC BƯỚC SỬ DỤNG MODULE ADC (1) Khai báo thông số chân ● Chọn chân input ● Chọn cấu hình chân analog Khai báo thơng số module ADC ● Lựa chọn xung clock chuyển đổi cho ADC ● Khai báo điện áp tham chiếu ● Lựa chọn kênh vào cho ADC ● Lựa chọn định dạng kết ● Bật module ADC Khai báo ngắt ADC ● Xóa cờ ngắt ADC ● Cho phép ngắt ADC HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.14 Chương CÁC BƯỚC SỬ DỤNG MODULE ADC (2) ● Cho phép ngắt ngoại vi ● Cho phép tất ngắt Chờ đợi thời gian nhận liệu Bắt đầu chuyển đổi cách set bit GO/DONE Chờ đợi chuyển đổi ADC hoàn thành ● Set bit GO/DONE ● Chờ đợi ngắt ADC Đọc kết ADC Xóa cờ ngắt ADC HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.15 Chương BẮT ĐẦU ADC ● Để cho phép thực module ADC, bit ADON ghi ADCON0 phải set lên “1” ● Set bit GO/DONE ghi ADCON0 lên “1” bắt đầu thực chuyển đổi A/D HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.16 Chương HỒN THÀNH ADC Khi hồn thành việc chuyển đổi ADC module ADC ● Xóa bit GO/DONE ● Set bit cờ ngắt ADIF ● Cập nhật kết chuyển đổi vào ghi ADRESH ADRESL HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 6.17 KẾT THÚC ADC ● Nếu chuyển đổi phải kết thúc trước hồn thành, ta xóa bit GO/DONE phần mềm ● Cặp ghi ADRESH:ADRESL không cập nhật kết phép chuyển đổi dang dở mà lưu giá trị phép chuyển đổi trước ● Một khoảng thời gian trễ 2TAD xuất trước nhận tín hiệu vào HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.18 Chương THANH GHI ADCON0 (1) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.19 Chương THANH GHI ADCON0 (2) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.20 Chương THANH GHI ADCON1 HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.21 Chương THANH GHI ADRESH HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.22 Chương THANH GHI ADRESL HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.23 Chương MỘT SỐ LỆNH TRÊN CCS ● Setup_ADC ( mode ) ADC_OFF : not use ADC ADC_CLOCK_INTERNAL: sampling time = MCU clock (2-6 us) ADC_CLOCK_DIV_2: sampling time = MCU clock/ (0.4 us when using OSC 20MHz ) ADC_CLOCK_DIV_8 : sampling time = MCU clock/ (1.6 us ) ADC_CLOCK_DIV_32 : sampling time = MCU clock/ 32 (6.4 us) ● Setup_ADC_ports ( value ) ALL_ANALOGS ; NO_ANALOG ; AN0_AN1_AN3 ● Set_ADC_channel ( channel ) ● Read_ADC ( mode ) ADC_START_AND_READ : default ADC_START_ONLY HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 6.24 Chương KHAI BÁO ADC // ADC bit , ADC : 0-255 #device *= 16 ADC = Int8 adc Main( ) { Delay_ms (100 ); Setup_ADC ( ADC_CLOCK_INTERNAL) ; Setup_ADC_ports (AN0); Set_ADC_channel ( ) ; Delay_us (10 ); While (true ) { adc = read_adc ( ) ; } } HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 6.25 VÍ DỤ 1: SỬ DỤNG ADC (1) Thiết kế mạch điện sử dụng module ADC chuyển đổi mức điện áp từ tương tự sang số khoảng 0-2.5V ? VCC D1 R1 1k DIODE-LED R3 U1 R2 10k 14 13 33 34 35 36 37 38 39 40 X1 CRYSTAL FREQ=20MHz RE3/MCLR/VPP RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RA0/AN0/ULPWU/C12IN0RC2/P1A/CCP1 RA1/AN1/C12IN1RC3/SCK/SCL RA2/AN2/VREF-/CVREF/C2IN+ RC4/SDI/SDA RA3/AN3/VREF+/C1IN+ RC5/SDO RA4/T0CKI/C1OUT RC6/TX/CK RA5/AN4/SS/C2OUT RC7/RX/DT RA6/OSC2/CLKOUT RA7/OSC1/CLKIN RD0 RD1 RB0/AN12/INT RD2 RB1/AN10/C12IN3RD3 RB2/AN8 RD4 RB3/AN9/PGM/C12IN2RD5/P1B RB4/AN11 RD6/P1C RB5/AN13/T1G RD7/P1D RB6/ICSPCLK RB7/ICSPDAT RE0/AN5 RE1/AN6 RE2/AN7 PIC16F887 C1 C2 22p 22p 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 10 D2 330R R4 LED-RED D3 330R R5 LED-RED D6 330R R6 LED-RED D8 330R R7 LED-RED D5 330R R8 LED-RED D4 330R R9 LED-RED D7 330R R10 LED-RED D9 330R LED-RED VCC RV2 100% 2.5V cịn 0% 0V POT-HG R11 R12 D10 10k 330R LED-RED 38% 10k HCM City Univ of Technology, Faculty of Mechanical Engineering R13 D11 330R LED-RED Phung Tri Cong ... Khiển 6.11 Chương INTERRUPTS ● Module ADC cho phép tạo ngắt sau hoàn thành việc chuyển đổi Analog- to- Digital ● Cờ ngắt ADC bit ADIF ghi PIR1 ● Cho phép ngắt ADC bit ADIE ghi PIE1 ● Bit ADIF phải... ADC_CLOCK_DIV_32 : sampling time = MCU clock/ 32 (6.4 us) ● Setup_ADC_ports ( value ) ALL_ANALOGS ; NO _ANALOG ; AN0_AN1_AN3 ● Set_ADC_channel ( channel ) ● Read_ADC ( mode ) ADC_START_AND_READ... Chương CÁC BƯỚC SỬ DỤNG MODULE ADC (1) Khai báo thông số chân ● Chọn chân input ● Chọn cấu hình chân analog Khai báo thông số module ADC ● Lựa chọn xung clock chuyển đổi cho ADC ● Khai báo điện áp