Bộ biến đổi ADC của AVR 908535:

Một phần của tài liệu thiết kế và chế tạo rơle bảo vệ sa thải tải theo tần số (Trang 38 - 41)

II. Thiết kế phần cứng

2.10Bộ biến đổi ADC của AVR 908535:

2. Khối xử lý và điều khiển

2.10Bộ biến đổi ADC của AVR 908535:

Các đặc trưng của ADC này là: Độ phân giải 10 bit.

Độ phi tuyến 0.5 LSB

Sai số tuyệt đối là xấp xỉ 2 LSB. Thời gian biến đổi là 65 – 260 µS. 8 kênh vào.

chế độ chạy tự do hoặc biến đổi đơn. Khi biến đổi xong sẽ gây ra ngắt. Chống nhiễu và không gây ra nhiễu.

AT90S8535 gồm ADC 10 sử dụng phương pháp biến đổi xấp xỉ liên tiếp. 8 kênh vào của ADC được nối qua cổng A tới một bộ dồn kênh. Phải đảm bảo rằng mức điện áp trên kênh không thay đổi trong quá trình biến đổi. ADC có hai nguồn điện áp tương tự riêng đó là AVCC và AGND. AGND phi được nối với

GND và AVCC= Vcc±0.3V. Điện áp chuẩn bên ngoài nối qua chân AREF. Điện áp này phải nằm trong dải 2V tới AVCC.

ADC biến đổi điện áp tương tự vào thành giá trị số 10 bit qua phương pháp xấp xỉ liên tiếp. Giá trị nhỏ nhất là AGND và giá trị lớn nhất là điện áp trên AREF – 1LSB. Các kênh được lựa chọn nhờ MUX bit trong thanh ghi ADMUX. ADC có hai chế độ hoạt độnglà Free running và Single conversion. ở chế độ Single conversion mỗi lần biến đổi phải được khởi tạo bởi người dùng. Còn ở chế độ Free running ADC lấy mẫu liên tục và ghi vào thanh ghi dữ liệu ADC. Bit ADFR trong thanh ghi ADCSR chọn chế độ hoạt động cho ADC. Việc set bit ADEN trong ADCSR cho phép ADC hoạt động. Kênh được chọn vào sẽ chưa được biến đổi ngay nếu chưa set bit này. ADC sẽ không tiêu thụ công suất nếu bit ADEN bị xóa do đó cần phải tắt ADC trước khi chuyển sang chế độ ngủ tiết kiệm công suất. Việc biến đổi bắt đầu bằng việc viết giá trị 1 vào bit khởi động ADC (ADSC). Bit này giữ giá trị cao trong suốt quá trình biến đổi và bị xóa bởi phần cứng khi quá trình biến đổi hoàn thành. Nếu có kênh dữ liệu khác được lựa chọn trong khi đang thực hiện biến đổi thì ADC sẽ thực hiện nốt quá trình đang làm và sau đó mới thực hiện sự thay đổi. Vì dữ liệu ra của ADC là 10 bit nên phải sử dụng hai thanh ghi ADCH và ADCL để cất kết quả. Khi đọc dữ liệu ta đọc ADCL trước rồi mới tới ADCH. Khi ADCL được đọc thì sự truy nhập vào thanh ghi bị đóng lại, có nghĩa là nếu thanh ghi ADCL được đọc và quá trình biến đổi xong trước khi ADCH được đọc thì kết qu bị sai. Sau đó ADCH được đọc thì sự truy nhập các thanh ghi ADC lại được cho phép. ADC có nguồn ngắt riêng sinh ra khi quá trình biến đổi hoàn thành hay khi truy nhập dữ liệu bị cấm trong lúc đang đọc ADCH và ADCL ngắt sinh ra khi bị mất dữ liệu. Mạch xấp xỉ liên tiếp cần xung vào có tần số từ 50kHz tới 200kHz để đạt được độ phân giải lớn nhất. Nếu độ phân giải nhỏ hơn 10 bit thì cần xung với tần số cao hn 200 kHz để có tần số lấy mẫu lớn hơn. Các bit ADPS2..0 trong thanh ghi ADCSR dùng để tạo ra tần số phù hợp từ tần số của đồng hồ hệ thống đến trên 100kHz. Bộ chia tần của ADC bắt đầu đếm từ thời điểm ADC bật lên

và bit ADEN trong ADCSR đặt bằng 1. Bộ chia tần chạy cho tới khi ADEN trở về thấp thì được Reset. Khi set bit ADSC trong ADCSR để bắt đầu quá trình biến đổi thì quá trình biến đổi được bắt đầu tại sườn lên của chu kỳ đồng hồ ADC. Bình thường quá trình biến đổi hết 13 chu kỳ đồng hồ. Quá trình trích và giữ mẫu hết 1.5 chu kỳ, và quá trình biến đổi hết 13.5 chu kỳ. Khi quá trình biến đổi hoàn thành dữ liệu được ghi vào thanh ghi dữ liệu ADC và cờ ADIF được set. Trong chế độ single thì bit ADSC bị xóa khi thực hiện xong quá trình biến đổi và các chương trình phần mềm có thể set lại ADSC để bắt đầu quá trình biến đổi khác. Còn ở chế độ Free running quá trình biến đổi mới được thực hiện ngay sau khi sự biến đổi trước kết thúc, trong khi đó ADSC vẫn ở mức cao. Trong chế độ Free running với tần số 200kHz thì thời gian biến đổi là ngắn nhất (65µS) và độ phân giải cao nhất. ADC có kh năng loại bớt nhiễu trong quá trình nghỉ của CPU. Để thực hiện chức năng này ta phải theo thủ tục sau:

ADC được cho phép và không biến đổi. Chế độ của ADC là Single và ngắt được cho phép. ADEN=1, ADSC=0, ADFR=0, ADIE=1.

Vào chế độ nghỉ. ADC bắt đầu biến đổi 1 lần khi CPU được dừng.

Nếu không có ngắt khác xảy ra trước khi quá trình biến đổi hoàn thành, ngắt ADC sẽ đánh thức MCU và thực hiện chương trình phục vụ ngắt.

Thanh ghi ADMUX cho phép lựa chọn kênh đầu vào.

- - - MUX2 MUX1 MUX0

Thanh ghi trạng thái và điều khiển ADC - ADCSR

ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0

Bit 7 – ADEN : ADC enable. Bit này set bằng 1 thì cho phép ADC. Xóa bit này là tắt ADC. Việc tắt ADC khi đang trong quá trình biến đổi sẽ kết thúc ngay quá trình biến đổi đó.

Bit 6 – ADSC : ADC start conversion. bit này bằng 1 bắt đầu quá trình biến đổi. Khi quá trình biến đổi hoàn thành bit này bị xóa bởi phần cứng, việc viết 0 vào bit này sẽ không có tác dụng.

Bit 5 – ADFR :ADC Free running select. Bit này bằng 1 ADC hoạt động ở chế độ free running . xóa bit này sẽ kết thúc chế độ này.

Bit 4 – ADIF : ADC interupt flag. Set 1 khi quá trình biến đổi kết thúc và dữ liệu được ghi vào thanh ghi dữ liệu. Bit này được set khi bit ADIE =1 và bit I trong SREG bằng 1. ADIF bị xóa bởi phần cứng khi thực hiện xong chưng trình phục vụ ngắt.

Bit 3 – ADIE : ADC interupt enable. Cùng với bít I trong SREG sẽ cho phép ngắt khi biến đổi xong.

Bit 2..0 – ADPS2..ADPS0: bit lựa chọn số chia cho bộ chia tần của ADC. Với các số chia 2, 2, 4, 8, 16, 32, 64, 128.

Thanh ghi dữ liệu ADC ADCL và ADCH chứa kết quả của quá trình biến đổi.

3. Khối ngoại vi ( Phím, LCD, RTC, EEPROM)3.1 Phím:

Một phần của tài liệu thiết kế và chế tạo rơle bảo vệ sa thải tải theo tần số (Trang 38 - 41)