Timer/Counter của AVR 90

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 32 - 33)

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

2.4Timer/Counter của AVR 90

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

2.4Timer/Counter của AVR 90

AVR 908535 cung cấp 3 Timer trong đó có 2 timer/counter 8 bit và T1 và 1 Timer 16 bit. Timer/Counter2 có thể lựa chọn tín hiệu đồng hồ từ nguồn dao động ngoài. Nguồn dao động ngoài tối ưu cho T2 là có tần số 32.768 MHz, nó có thể cho phép T2 hoạt động như mạch đồng hồ thời gian thực (RTC). T0,T1 lựa chọn tần số chia trước từ cùng một bộ chia tần 10 bit. T2 sử dụng bộ chia tần riêng. Những Timer/Counter này có thể hoạt động như Timer với tín hiệu đồng hồ bên trong hoặc như những Counter với đầu vào tín hiệu bên ngoài.

Từ sơ đồ của mạch chia tần dùng cho T2 ta thấy nguồn tín hiệu cho bộ chia tần này là PKC2 mặc định nối với đồng hồ của hệ thống(CK). Để T2 hoạt động như mạch RTC thì ta set bit AS2 trong thanh ghi ASSR, khi đó bộ chia tần của T2 lấy xung clock để hoạt động từ chân PC6(TOSC1). Khi AS2=1 thì chân PC6 và PC7 được ngắt ra khỏi cổng C và được sử dụng để nối bộ dao động riêng cho T2. Bộ dao động này thường có tần số 32.768MHz.

8 bit-Timer/Counter 0:

Timer/Counter 0 8 bit có thể chọn tín hiệu clock từ đồng hồ hệ thống (CK), hay từ chân ngoài. Thanh ghi dùng để điều khiển T0 8 bit là TCCR0. Cờ báo tràn nằm trong thanh ghi cờ tràn TIFR. Việc cho phép và cấm ngắt đối với T0 được tìm thấy trong thanh ghi TIMSK. Khi T0 được giữ nhịp từ bên ngoài, thời gian cực tiểu giữa hai lần xảy ra sự chuyển mức tín hiệu đồng hồ ít nhất cũng phi bằng 1 chu kỳ xung đồng hồ bên trong CPU. Tín hiệu giữ nhịp bên ngoài được lấy mẫu theo sườn dương bằng xung đồng hồ bên trong CPU. Bộ Timer/Counter0 8 bit thể hiện cả độ phân giải cao lẫn độ chính xác cao và luôn ưu tiên số chia tần số thấp hơn.

16 bit-Timer/Counter 0:

Timer/Counter 16 bit có thể lựa chọn xung clock nguồn từ Ck hoặc từ chân bên ngoài. Các tín hiệu điều khiển T1 nằm trong thanh ghi TCCR1A và TCCR1B, các trạng thái khác cũng tìm thấy trong hai thanh ghi này như: cờ

tràn, compare match và capture event. Việc cho phép và cấm ngắt nằm trong thanh ghi interupt Mask register TIMSK. Khi T1 được giữ nhịp từ bên ngoài, tín hiệu bên ngoài được đồng bộ với tần số dao động của CPU, thời gian cực tiểu giữa hai lần xy ra sự chuyển mức tín hiệu đồng hồ ít nhất cũng phi bằng 1 chu kỳ xung đồng hồ bên trong CPU. Tín hiệu giữ nhịp bên ngoài được lấy mẫu theo sườn dưng bằng xung đồng hồ bên trong CPU. Bộ Timer/Counter1 16 bit thể hiện cả độ phân giải cao lẫn độ chính xác cao và luôn ưu tiên số chia tần số thấp hơn.

Timer/Counter1 16 bit còn có chức năng output compare sử dụng thanh ghi output compare register 1A và B (OCR1A ,OCR1B). dữ liệu nguồn nằm trong thanh ghi này được so sánh với nội dung của T1. T1 cũng có thể sử dụng các chế độ điều chế độ rộng xung 8,9,10 bit. Chức năng Input capture cho phép lấy nội dung của T1 vào thanh ghi ICR1. Thanh ghi điều khiển timer/counter 1 (TCCR1B) sẽ quy định các sự kiện capture

8 bit-Timer/Counter 2:

Nguồn xung clock của T2 là PCK2 hay bộ chia tần riêng của T2. Việc điều khiển hoạt động của T2 thông qua thanh ghi TCCR2. Cờ tràn và cờ compare match nằm trong thanh ghi trạng thái ngắt TIFR. Việc cho phép hay cấm ngắt thông qua thanh ghi TIMSK. Trong chế độ so sánh T2 dùng thanh ghi OCR2 làm nguồn dữ liệu để so sánh với nội dung của timer/counter. Timer/Counter 2 cũng có thể dùng ở chế độ điều chế độ rộng xung 8 bit.

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 32 - 33)