Một số chế độ hoạt động

Một phần của tài liệu kl huynh hoai nam 910624d (Trang 47 - 51)

Chương 4: Điều khiển cấp nguồn cho led ma trận

5.1.1. Một số chế độ hoạt động

• BOTTOM : Counter tới BOTTOM khi nó có dạng 0x0000.

• MAX : Counter tới MAX khi nó có dạng 0xFFFF.

• TOP : khi Counter tới TOP khi giá trị của nó bằng giá trị cao nhất trong hàng đếm. Giá trị TOP có thểđược gán là 1 trong các giá trị cố định khác sau : 0x00FF, 0x01FF, 0x03FF hoặc là giá trị lưu trong OCR1A hoặc thanh ghi ICR1. Việc gán giá trị TOP phụ thuộc vào chế độ hoạt động.

a) Chế độ thông thường :

Chế độ hoạt động đơn giản nhất của Timer là chế độ thường (WGM13:0 = 0). Trong chế độ này bộ đếm luôn đếm lên và không được xóa. Bộ đếm tràn khi đếm qua giá trị max (MAX= 0xFFF) và trở lại BOTTOM (0x0000). Trong chế độ này Timer/Counter Overflow Flag (TOV1) sẽ được thiết lập ngay khi TCNT1 trở về 0. Trong trường hợp này cờ TOV1 hoạt dộng như bit thứ 17 của bộ đếm nên nó không tự xóa. Tuy nhiên khi kết hợp với ngắt tràn Timer cờ này có thể tự động xóa, độ phân giải của Timer có thể tăng lên bởi phần mềm.

Khối bắt tín hiệu đầu vào khá dễ sử dụng ở chế độ thường nhưng cần phải chú ý tới khoảng thời gian lớn nhất giữa các sự kiện ngoài, khoảng thời gian này phải không vượt quá độ phân giải của bộ đếm. Nếu khoảng thời gian giữa các sự kiện quá dài ta có thể dùng ngắt tràn hay tăng độ rộng xung đếm để có thể mở rộng độ phân giải cho khối này .

b) Chế độ CTC ( clear timer on compare) :

THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M

48 Trong chế độ CTC (WGM13:0 = 4 hoặc 12), thanh ghi ICR1 hoặc OCR1A được sử dụng tạo độ phân giải cho bộ đếm. Trong chế độ CTC bộ đếm bị xóa về 0 khi giá trị bộ đếm (TCTN1) trùng với giá trị của thanh ghi OCR1A (WGM13:0 = 4) hoặc ICR1 (WGM13:0 = 12). Thanh ghi OCR1A hoặc ICR1 định nghĩa giá trị đỉnh cho bộ đếm.

Hình 5 - 1 Giản đồ thời gian chế độ CTC

Một ngắt có thể phát ra khi giá trị bộ đếm đạt tới giá trị TOP bởi cùng sử dụng cờ OCF1A hoặc ICF1. Nếu ngắt được cho phép, thủ tụcđiều khiển ngắt có thể được sử dụng để cập nhập lại giá trị TOP. Thay đổi TOP bằng giá trị gần với BOTTOM khi bộ đếm đang chạy với độ rộng xung lớn phải thực hiện cẩn thận . Nếu giá trị mới ghi cho OCR1A hoặc ICR1 thấp hơn so với giá trị của TCNT, bộ đếm sẽ không bắtđược thời điểm đạt giá trị TOP. Do đó nó sẽ đếm tới giá trị MAX (0xFFF) rồi quay về0x0000 trước khi có thể có thể gặp đượcgiá trị TOP. Để có thể tạo sóng đầu ra trong chế độCTC, đầu ra OC1A có thể lật mức logic của nó mỗi khi bắt gặp giá trị top bằng cách thiết lập các bit chọn chế độ so sánh đầu ra COM1A1:0

= 01. Giá trị của chân OC1A sẽ không được cập nhật nếu ta không thiết lập nó là đầu ra (DDR_OC1A=1). Sóng phát ra từ chân OCA1 sẽ có tần số cực đại của

1

fOC A= fclk I O_ / khi OCR1A được lập về 0x0000. Tần số củasóng được tính như sau:

Công thức 5 - 1 Quan hệ giữa tần số đầu ra với tần số timer ở chế dộ CTC

_ /

2. .(1 )

clk I O OCnA

f

N OCRnA

f =

+

N thể hiện độ chia tần ,có thể là các giá trị sau : 1, 8, 64, 256, 1024

THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M

49 c) Chế độ fast PWM :

Fast Pulse Width Modulation hoặc chế độ fast PWM ( WGM13:0 = 5,6,7,14,15) có chức năng tạo ra nhiều dạng sóng tần số cao. Fast PWM khác với chức năng PWM bởi nó chế độ hoạt động sườn đơn. Bộ đếm đếm từ BOTTOM tới TOP sau đó lập tức quay về BOTTOM. Trong chế độ so sánh không đảo đầu ra thì đầu ra OC1x được thiết lập khi TCNT1 và OCR1x bằng nhau, và xóa khi đạt giá trị TOP. Trong chế độ so sánh đảo đầu ra thì chân OC1x được xóa khi ICNT1 và OCR1x bằng nhau, và được thiết lập khi đạt giá trị TOP. Do chỉ dùng sườn đơn nên tần số hoạt động của fast PWM cao gấp 2 lần so với các chế độ Phase correct và Phase and Frequency corect PWM ( các chế độ này khi hoạt động dùng 2 sườn). Tần số cao làm chế độ fast PWM phù hợp với điều chỉnh công suất, chỉnh lưu và ứng dụng DAC. Độ phân giải cho fast PWM có thể cố định 8, 9 hoặc 10 bit, hoặc định nghĩa bởi ICR1 hoặc OCR1A. Độ phân giải nhỏ nhất cho phép là 2 bit (ICR1, OCR1A lập lên 0x0003), lớn nhất là 16 bit (ICR1 hoặc OCR1A khi được gán giá trị MAX). Độ phân giải PWM trong các bit có thể tính theo hàm :

Công thức 5 - 2 Độ phân giải PWM

log( 1)

log(2)

FPWM

R TOP +

=

Hình 5 - 2 Giản đồ thời gian chế độ Fast PWM

THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M

50 Cờ tràn Timer/Counter (TOV1) được lập mỗi khi Counter tới giá trị TOP.

Ngoài ra chân OC1A hoặc ICF1 được thiết lập trong cùng một chu kỳ xung với thời điểm TOV1 được thiết lập. Nếu ngắt được cho phép, thủ tục điều khiển ngắt có thể được sử dụng để cập nhập lại TOP và các giá trị so sánh. Khi thay đổi các giá trị TOP ta phải chắc chắn giá trị TOP mới lớn hơn hoặc bằng giá trị của tất cả các thanh ghi so sánh nếu không sẽ không có sự gặp nhau giữa TCNT1 và OCR1x .

Thủ tục cậpđể nhập lại ICR1 khác với 0CR1A khi sử dụngđểđịnh nghĩa giá trị TOP. Thanh ghi ICR1 không có 2 bộ đệm. Nếu ICR1 thay đổi tới 1 giá trị thấp hơn TCNT1 khi bộ đếm đang chạy thì nó sẽ đếm tớ giá trị MAX (0xFFFF) và quay lại giá trị 0x0000 . OCR1A có bộ đẹm kép nên có thể ghi lên nó bất kỳ lúc nào. Khi OCR1A I/O được ghi, giá trị ghi sẽ được đưa vào trong thanh ghi đệm OCR1A.

Thanh ghi so sánh OCR1A sẽ cập nhập lại ghía trị trong thanh ghi đệm tại chu kỳ sau khi TCNT1 đạt giá trị TOP.

Trong chế độ fast PWM, khối so sánh cho phép tạo ra 1 dạng sóng tại chân OC1x. Thiết lập các bit COM1x1:0 tới 2 có thể tạo ra một dạng PWM không đảo và một PWM đảo bằng cách thiết lập COM1x1:0 lên 3. Giá trị tại chân OC1x chỉ quan sát được nếu chân này được thiết lập là đầu ra (DDR_OC1x). Dạng sóng PWM được sinh ra khi thiết lập (xóa) chân OC1x tại thời điểm OCR1x = TCNT1 và xóa (thiết lập) OC1x tại thời điểm bộ đếm bị xóa ( từ TOP về BOTTOM).

Tần số PWM tại đầu ra có thể được tính theo hàm:

Công thức 5 - 3 Quan hệ giữa tần số đầu ra với tần số timer ở chế độ Fast PWM

log( 1)

log(2)

OCnxPWM

f = TOP +

N thể hiện độ chia tần ,có thể là các giá trị sau : 1, 8, 64, 256, 1024 d) Chế độ Phase Correct PWM

Chế độ này hoạt động dựa trên hai sườn lên xuống.Bộ đếm sẽ đếm liên tục từ giá trị BOTTOM đến giá trị MAX và sau đó từ giá trị MAX đến giá t rị BOTTOM.Trong chế độ so sánh không đảo chân so sánh (OCx) sẽ bị xóa khi giá trị TCNTx bằng giá trị OCRx trong quá trình đếm lên và sẽ được thiết lập bằng 1 khi giá trị so sánh xuất hiện trong quá trình đếm xuống.Chế độ so sánh đảo thì các giá trị là ngược lại.Với hoạt động hai sườn xung này thì chế độ này không tạo ra được tần số nhỏ như chế độ một sườn xung. Nhưng do tính cân đối của hai sườn xung thì nó tốt hơn cho điều khiển động cơ .

THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M

51 Chế độ phase correct PWM hoạt động cố định là 8 bít.Trong chế độ này bộ đếm sẽ tăng cho đến khi đạt giá trị MAX, khi đó nó sẽ đổi chiều đếm. Biểu đồ thời gian sau đây mô tả hoạt động của hoạt động quá trình:

Hình 5 - 3 Giản đồ thời gian chế độ Phase Corect PWM

Từ biểu đồ thời gian ta nhận thấy việc thay đổi tần số trong hoạt động của phase correct PWM có thể thay thế bằng hai giá trị là MAX và BOTTOM. Nó linh hoạt hơn so với chế độ Fast PWM.

Một phần của tài liệu kl huynh hoai nam 910624d (Trang 47 - 51)

Tải bản đầy đủ (PDF)

(101 trang)