Giới thiệu chung
Có tối thiểu hai bộ định thời trong một hệ thống ARM [8], mặc dù được định nghĩa như vậy nhưng có thể dễ dàng mở rộng thêm các bộ định thời. Cùng với nguyên tắc mở rộng đơn giản là tác động tới cấu trúc thanh ghi sẽ cung cấp thêm các bộ định thời cho sử dụng từ việc lập trình.
Mỗi một bộ định thời là một bộ đếm ngược rộng 16 bit, có thể lựa chọn phân chia tần số đầu vào. Mạch đếm cho phép xung hệ thống được sử dụng trực tiếp, hoặc xung được chia bởi 16, 256 hoặc 1024 tùy theo sử dụng. Việc phân chia này được cung cấp bởi các bậc 0, 4, 8 hoặc 10 của bộ chia tỉ lệ xung.
Bộ định thời có hai chế độ hoạt động: - Kiểu đếm tự do.
- Kiểu tuần hoàn.
Trong chế độ định thời tuần hoàn bộ đếm sẽ tạo ra một ngắt tại một khoảng thời gian. Trong chế độ định thời tự do, bộ định thời sẽ tràn bộ đếm sau khi đến giá trị 0 và tiếp tục đếm ngược từ giá trị cực đại.
Hoạt động của bộ định thời
Bộ định thời được nạp bởi việc ghi vào thanh ghi nạp, sau đó nếu như được cho phép, bộ định thời sẽ đếm ngược về 0. Trên một hành trình đếm về 0 như vậy, một ngắt sẽ được tạo ra. Ngắt sẽ được xóa bằng cách ghi vào thanh ghi xóa.
Sau hành trình đếm về 0, nếu bộ định thời đang hoạt động ở chế độ định thời tự do thì bộ định thời sẽ tiếp tục đếm giảm từ giá trị cực đại. Nếu đang ở trong chế độ tuần hoàn thì bộ định thời sẽ tải lại từ thanh ghi nạp và tiếp tục đếm giảm. Trong chế độ này bộ định thời sẽ tạo ra một chu kỳ ngắt (ngắt định kỳ). Các chế độ được lựa chọn bởi một bit trong thanh ghi điều khiển.
Ở bất kỳ điểm hiện hành nào thì giá trị bộ định thời cũng có thể đọc từ bộ đếm ngược, được mô tả trong hình 2.7.
Bộ định thời được kích hoạt bằng một bit trong thanh ghi điều khiển. Việc khởi động lại sẽ làm bộ định thời được xóa, ngắt sẽ được xóa và thanh ghi nạp sẽ không xác định. Các chế độ và giá trị trong bộ chia tỉ lệ cũng sẽ không xác định.
Hình 2.7: Giản đồ khối bộ định thời.
Xung nhịp bộ định thời được tạo ra bởi bộ chia tỉ lệ xung. Xung nhịp bộ định thời có thể là xung hệ thống, xung hệ thống được chia từ bộ chia 16, được tạo ra bởi 4 bit của bộ chia tỉ lệ, hoặc xung hệ thống được chia từ bộ chia 256 được tạo ra bởi tổng hợp 8 bit của bộ chia tỉ lệ, được mô tả trong hình 2.8.
Các thanh ghi trong bộ định thời
- Thanh ghi nạp:
Thanh ghi nạp có trạng thái thanh đọc hoặc ghi.
Thanh ghi nạp chứa giá trị khởi tạo của bộ định thời và dùng giá trị này để nạp lại trong chế độ định thời tuần hoàn. Khi ghi vào thanh ghi này, 16 bit trên cùng ghi vào là 0 và khi đọc 16 bit trên cùng đó sẽ không xác định.
- Thanh ghi giá trị:
Thanh ghi giá trị có trạng thái chỉ để đọc.
Vị trí thanh ghi giá trị cho biết giá trị hiện hành của bộ định thời. - Thanh ghi xóa:
Thanh ghi xóa có trạng thái chỉ ghi.
Khi ghi vào vị trí thanh ghi xóa sẽ xóa đi một ngắt đã được tạo ra bởi bộ đếm của bộ định thời.
- Thanh ghi điều khiển:
Thanh ghi điều khiển có trạng thái đọc hoặc ghi.
Thanh ghi điều khiển cung cấp việc cho phép hay loại bỏ các chế độ và cấu hình chia tỉ lệ cho bộ định thời.
- Vị trí các bit trong thanh ghi điều khiển cho bộ định thời được mô tả trong hình 2.9.
31 8 7 6 5 4 3 2 1 0
0 Cho phép Chọn chế độ 0 0 Bộ chia tỉ lệ 0 0
Hình 2.9: Vị trí các bit trong thanh ghi điều khiển.
- Chức năng các bit trong thanh ghi điều khiển được mô tả trong bảng 2.4.
Bảng 2.4: Mô tả các bit trong thanh ghi điều khiển cho bộ định thời.
Các bit 0 – 1, 4 – 5, 8 – 31:
không xác định Ghi giá trị 0 và được đọc như là không xác định Bit 2, 3 – Các bit dành cho
bộ chia tỉ lệ xung Được mô tả trong bảng 2.5 0 : Chế độ định thời tự do Bit 6 – Bit lựa chọn chế độ
1 : Chế độ định thời tuần hoàn
0 : Không cho phép bộ định thời hoạt động Bit 7 – Bit cho phép
1 : Cho phép bộ định thời hoạt động
- Chế độ các bit của bộ chia tỉ lệ xung trong thanh ghi điều khiển được mô tả trong bảng 2.5.
Bảng 2.5: Chế độ các bit của bộ chia tỉ lệ xung trong thanh ghi điều khiển.
Bit 3 Bit 2 Xung được chia Các bậc của bộ chia tỉ lệ xung
0 0 1 0
0 1 16 4
1 0 256 8
1 1 1024 10
- Bản đồ nhớ bộ định thời:
Địa chỉ cơ sở của bộ định thời không cố định và có thể khác đối với mỗi hệ thống xử lý cụ thể. Tuy nhiên, khoảng cách của các thanh ghi từ địa chỉ cơ sở được cố định như trong bảng 2.6.
Bảng 2.6: Bản đồ địa chỉ bộ định thời.