ADC~ ADC~ Bởi: Khoa CNTT ĐHSP KT Hưng Yên ADC (Analog to Digital Converter) Nguyên tắc hoạt động biến đổi tương tự - số 1111101011000111100010 Hình 4-1: Đồ thị biến đổi ADC bit (FS-Full Scale)Bộ biến đổi tương tự số DAC đóng vai trị quan trọng xử lý thơng tin mà luồng tín hiệu đưa vào hệ vi xử lí tín hiệu dạng tương tự Các chuyển đổi ADC thực chức lượng tử hoá mã hoá Lượng tử hoá gán giá trị tín hiệu tương tự vào vùng giá trị rời rạc xảy q trình lượng tử hố Mã hoá gán giá trị nhị phân cho giá trị rời rạc sinh trình lượng tử hoá Đối với DAC ta dùng loại mã số nhị phân, BCD bù 2, bù Hình 4-1 cho biết đặc tính ADC 3bit làm việc với mã nhị phân tự nhiên ADC n bit có 2n tổ hợp mã khác nhau, chúng biếu diễn trục tung đồ thị thời gian Trên trục hoành biểu diễn giá trị điện áp vào tương tự Độ lớn đơn vị lấy mẫu phép lượng tử hoá quy định : Q=FS/2n Điểm giữ "mẫu" giá trị điện áp tương tự biểu diễn mã nhị phân tương ứng với mẫu Thí dụ 161 FS 163 FS điểm 18 FS giá trị điện áp vào tương tự khoảng từ 161 FS đến 163 FS chuyển sang mã số 001 ưng với giá trị điện áp vào 18 FS Như phép lượng tử hố tự bao hàm sai số + Q2 trường hợp lí tưởng, giá trị M nối cho biết gía trị M Q +2 ? ? nối vào (M + nFS+ ) Như giảm sai số cách tăng số ?2 bit cho ADC Trong thực tiễn có sai số sai số độ lệch.sai số phi tuyên nên việc xác định điểm giá trị điện áp vào khơng xác Đồng thời sai số toàn ADC bao gồm sai số lượng tử hố nên khơng thể tăng số bit nên nhiều, tới mức sai số lượng tử hoá so sánh với sai số kể Một ADC n bit xây dựng theo phương pháp phương pháp trực tiếp phương pháp gian tiếp Trong pháp trực tiếp, điện áp tương tự cần chuyển đổi 1/7 ADC~ so sánh liên tục với điện áp DAC mã nhị phân nối vào liên tục thay đổi, có cân giữ hai điện áp này, mã nhị phân nối vào DAC kết Trong phương pháp chuyển đổi gián tiếp, điện áp cần chuyển đổi trước hết chuyển đổi sang đại lượng trung gian, sau đại lượng chuyển đổi sang mã số Phương pháp nói chung có tốc đọ chuyển đổi chậm nhiều so với phương pháp trực tiếp Vì phương pháp chuyển đổi trực tiếp sử dụng phổ biến Có hai phương pháp chuyển đổi trực tiếp phương pháp ADC có đếm (counting ADC) phương pháp ADC xấp xỉ liên tiếp Trong thực tế thường sử dụng loại ADC xấp xỉ liên tiếp Trong phương pháp có ưu điểm lớn thời gian chuyển đổi tỉ lệ thuận với số lượng bit mã số thời gian ghi xấp xỉ liên tiếp không phụ thuộc vào độ lớn điện áp cần chuyển đổi Để thực trình chuyển đổi, người ta cần đặt bit mã số lên một, bit cao (MSB) Sơ đồ mô tả ADC kiểu mơ tả hình 4-2 Thanh ghi SAR (xấp xỉ liên tiếp) điều khiển nối vào DAC theo thụât toán sau: Đặt bit cao (MSB) Nếu nối mạch so sánh bit bị xố 0, khơng phải giá trị giữ ngun Bit cao đạt nên 1rồi lặp lại bước 2, tất bit xét trình chuyển đổi dược thực xong Successive Appoximation Register (SAR)DACCLKTín hiệu vào tương tựMạch so sánhTín hiệu số đầu raEOCHình 4-2: Sơ đồ ADC theo phương pháp xấp xỉThuật toán trước hết cần kiểm tra xem điện áp vần chuyển đổi lớn hay nhỏ FS/2, lớn hơn, MSB ta có điện áp logic 0,ta giữ nguyên MSB=1 xét tiếpbit cao xem điện áp vào lớn hay nhỏ 3/4 FS ta xét đến bit cuối (LSB), lúc nội dung ghi SAR mã số kết Đồng thời thời điểm đàu SAR đưa tín hiệu EOC (End Of Converter) báo chuyển đổi xong Thanh ghi xấp xỉ liên tiếp tổ chức dạng vi mạchvới tất phần tử điều khiển cần thiết đẻ xây dựng DAC với tốc độ cao.Trong thực tiễn có ghi xấp xỉ liên tiếp với cấu theo mã số sử dụng khác Bộ biến đổi ADC Bit 0809 Bộ biến đổi ADC bit 0809 ADC thông dụng xử dụng rộng rãi có đầu vào tương tự đầu bit số, chuyển đổi theo phương pháp xấp xỉ liên tiếp đặc trưng ADC 08089 là: 2/7 ADC~ • Đầu có đệm trạng thái để ghép trực tiếp vào kênh giữ liệu hệ Vi xử lí • Giải tín hiệu nối vào tương tự 5v nguồn nuôi +5v, mở rộng đo giải pháp kĩ thuật cho mạch cụ thể • Khơng địi hi iu chnh"0" ã Thi gian bin i 100às ã Sai số tổng cộng ±1/2LSB • Sử dụng nguồn ni đơn +5v, hiệu suất cao • đảm bảo sai số tuyến tính dải nhiệt độ từ -40 đến +850c Sơ đồ chức ADC 0809 (hình 4-3) chanel MUX analog switchesAddress Latched coderSARSwitch treeSwitch treeTriState Output latch buferControl and Timing8 Signal Analog8 bit Digital outputRef(+)Ref(-)Vcc GNDStart ClockEOCHình 4-3: Sơ đồ khối chuyển đổi ADC Ghép tín hiệu vào ADC 0809 Tạo xung nhịp+5VVref(+)CLKVccEOCStartALEA,B,COE0-5vAnalog Input RangeDB0-DB7GNDVref(-)Hình 4-4: Hoạt động ADC 0809 đầu vào đơn cực Trong chu trình chuyển đổi dịng đầu vào tín hiệu giữ nhịp 500KHZ dùng cho ADC 0809 tạo từ bên đưu đến chân clock (bộ chuyển đổi ADC0809 sử dụng tần số Clock có th gii 200KHzữ1MHz) ã Ghộp tớn hiu n cc đến đầu vào ADC 0809 Tạo xung nhịp+EcVref(+)CLKVccEOCStartALEA,B,COE0-5vAnalog Input RangeDB0-DB7GNDVref(-)Hình 4-5: Hoạt động ADC 0809 đầu vào lưỡng cực Khi tín hiệu đầu vào chuyển đổi ADC đơn cực (một cực tính),sơ đồ nguyên lí lúc lắp hình 4-4 Trong trường hợp đo tương ứng 5v cho đầu vào(tức đại lượng cần đo qua cảm biến phải đưa giải từ 0v đén 5v, tương ứng với mức0v đầu vào tổ hợp nhị phân0000 0000 đầu ra.) • Ghép tín hiệu lưỡng cực đến đầu vào ADC0809 Trong thực tế khảo xát đại lượng cần miến đổi thường tín hiệu xoay chiều(tín hiệu vào có hai cực tính) với trường hợp cần mở rộng đo thích hợp với tín hiệu Sơ đồ nguyên lí mạch thể dạng hình 4-5 Để mở rộng thang đo, điện áp so sánh đưa qua tầng lặp lại để dưa đến chân 12 (chân Ref(+)) ADC0809.Các kênh nối vào tương tự dẫn đến chân Vin0 đến Vin7 3/7 ADC~ Nếu chọn Vref(+)=+2.5v từ đầu cảm biến phải đưu giải đến 2.5v (cho phép đo giải ±2.5v) Khi cận thang đo (+2.49V) tương ứng với tổ hợp mã nhị phân đầu 1111 1111 Cận thang đo (-2.49V) ứng với tổ hợp mã nhị phân đầu 0000 0000 mức "0"của thang đo ứng với tổ hợp: 0111 1111 • Đồ thị thời gian ADC 0809 Các bit địa lối vàoA.B.C từ giải mã địa chốt xác định kênh đầu vào lựa chọn.Tương ứng với kênh đầu vào xác định có xung dương đặt vào chân số (start) với độ rộng tối thiểu ( TWS=200ns) sau thời gian TOEC (Tính từ sườn trước xung Sart) Bộ chuyển đổi bắt đầu thực chuyển đổi suốt thời gian chân tín hiêui EOC ln mức thấp Đồng thời đầu trạng thái ADC 0809 bị thả (ở trạng thái trở kháng cao) t Sau thời gian 0=100µs ADC0809 htực chuyển đổi xong liệu đầu vào đưa đến đệm đầu raba trạng thái, đồng thới chân tín hiệu EOC chuyển nên mức cao báo hiệu cho hệ VXL biết để đọc kết vào Ghép ADC 0809 với hệ Vi xử lí Giải mã địa chỉEOCOEStartALEA B CCSIORDIORWD0-D7BUS hệ thốngBáo cho hệ VXL biết biến đổi xongHình 4-6: Ghép ADC 0809 với hệ VXL Ghép ADC0809 với hệ vi xử lí thể hình 4-6, kênh vào analag nối với đầu vào tương ứng ADC (có kênh vậy) Mỗi kênh có địa riêng tổ hợp bit địa ADC quy định Các dãy địa xử dụng trực tiếp dãy địa kênh địa hệ vi xử lí Thường ABC ADC 0809 nối với A0A1A2 hệ VXL Các dãy địa cao hệ VXL để tạo tín hiệu chọn chip CS cho ADC 0809.Tín hiệu CS đưa tới đầu vào mạch OR để khởi động ADC (Start) có tín hiệu IOWR đồng thời chốt địa (ALE) kênh hành có giá trị ba bit A,B,C Tín hiệu CS đưa tới đầu vào mạch OR thứ để tạo tín hiệu OE với IORD nhằm chốt liệu biến đổi xong đầu Khi biến đổi xong, ADC 0809 dùng tín hiệu OEC để báo cho hệ VXL biết mã nhị phân tương ứng với mức tín hiệu đầu vào đuwọc tạo OEC thường nối với đầu vào ngắt CPU hay PIC8259A Trong số trường hợp, người ta dùng trễ thời gian để khẳng định q trình biến đổi hồn tất khơng cần sử dụng tín hiệu EOC Sau chương trình minh hoạ cho sơ đồ ghép nối hình 4-6 sử dụng phương pháp tạo trễ để khẳng định trình biến đổi ADC thủ tục Delay_100_Microsec Chương trình Read_ADC gọi điều khiển kênh vào Analog theo phương pháp quét vòng thực lấy 256 mẫu cho kênh Dữ liệu lưu trữ vùng đệm BUF_ADC có dung lượng 8x256byte Địa sở kênh 300h (ứng với kênh đầu tiên) 4/7 ADC~ CODE_SEG SEGMENT ASSUME CS:CODE_SEG ORG 100H ;Tạo file COM ;Khai báo liệu cho chương trình chot EQU 300h ;cổng chốt kênh cổng vào liệu size_of_buf EQU 256 ;kích thước đệm cho kênh 256 byte buf_ADC DB 2048 DUP(?) ;dung lượng đệm kênh ;Chương trình MAIN PROC CALL read_ADC ;Các lệnh khác (nếu cần thiết) MAIN ENDP ;Chương trình read_ADC read_ADC PROC PUSH AX;Đẩy thành ghi AX,BX,CX,DX,DI vào ngăn xếp PUSH BX PUSH CX PUSH DX PUSH DI MOV DI,0 ;Khởi tạo vùng đệm MOV BX,OFFSET buf_ADC;Địa đệm kênh L1: 5/7 ADC~ ADD BX,DI ;BX trỏ tới ngăn nhớ MOV DX,chot;lấy địa chốt kênh MOV CX,08h;lặp cho kênh L2: OUT DX,AL;khởi động kênh hành CALL delay_100_microsec ;trễ 100 micro giây IN AL,DX;nội dung kênh hành đọc vào hệ MOV [BX],AL;chuyển vào đệm tương ứng ADD BX,size_of_buf ;nhảy tới đệm INC DX;tăng địa kênh đơn vị LOOP L2 ;lặp lại kênh INC DI ;trỏ tới byte CMP DI,256 ;cho hết 256 byte JNZ L1 ;và lặp lại trình POP DI ;Lấy từ ngăn xếp POP DX POP CX POP BX POP AX read_ADC ENDP ;Chương trình tạo trễ 100 micro giây việc thực 100 lần lệnh NOP ;Mỗi lệnh NOP (Khơng hành động) có khoảng thời gian để thực chúng 6/7 ADC~ delay_100_microsec PROC MOV CX,100 L3: NOP LOOP L3 delay_100_microsec PROC END MAIN 7/7 ... biến đổi ADC Bit 0809 Bộ biến đổi ADC bit 0809 ADC thông dụng xử dụng rộng rãi có đầu vào tương tự đầu bit số, chuyển đổi theo phương pháp xấp xỉ liên tiếp đặc trưng ADC 08089 là: 2/7 ADC~ • Đầu... hai phương pháp chuyển đổi trực tiếp phương pháp ADC có đếm (counting ADC) phương pháp ADC xấp xỉ liên tiếp Trong thực tế thường sử dụng loại ADC xấp xỉ liên tiếp Trong phương pháp có ưu điểm... +850c Sơ đồ chức ADC 0809 (hình 4-3) chanel MUX analog switchesAddress Latched coderSARSwitch treeSwitch treeTriState Output latch buferControl and Timing8 Signal Analog8 bit Digital outputRef(+)Ref(-)Vcc