Saturday, March 7, 2015

BÀI 5: (MSP430 - BASIC) - TIMER



Tổng quát về Timer_A


• Thanh ghi Timer/Counter 16 bit cùng với 2 thanh ghi Capture/Compare.
• Có thể hoạt động ở 4 chế độ khác nhau.
• Hỗ trợ đa chức năng:Capture /Compare,ngõ ra PWM và định thì từng khoảng thời gian.
• Có các chế độ ngắt Timer/Counter và Capture/Compare.
• Có thể lựa chọn để hoạt động với các nguồn xung Clock khác nhau.

Các chức năng cụ thể của Timer A như sau:
1. Nguồn xung Clock:Timer A có thể hoạt động với 1 trong 4 nguồn xung clock sau, tùy thuộc vào yêu cầu của ứng dụng mà bạn cần thực hiện.
• TACLK (Timer A clock): Là một nguồn xung clock ngoại
• ACLK (Auxiliary clock): Là một nguồn clock bổ sung cho Timer A, chỉ được cấp nguồn từ LFXTCL, thường dùng cho hệ thống phụ với clock hoạt động thấp để tiết kiệm năng lượng.
• SMCLK (Submaster clock): thường dùng cho ngoại vi, lấy nguồn từ DCO hoặc XT2.

2. Timer/Counter:Các chế độ hoạt động:
Stop : tắt Timer A.

Up : Chế độ đếm lên của Timer A. Giá trị của thanh ghi TAR (Timer A register) sẽ tăng liên tục từ 0 cho đến một giá trị được định sẵng trong thanh ghi TACCR0 rồi reset về giá trị 0,quá trình hoạt động cứ tiếp tục như vậy.




Continous: Chế độ đếm lên liên tục của Timer A.Trong một chu kỳ hoạt động giá trị của thanh ghi TARsẽ tăng liên tục từ 0 cho đến 0FFFFh rồi reset về giá trị 0.




Up/Down: Chế độ đếm lên/xuống của Timer A. Trong một chu kỳ hoạt động giá trị của thanh ghi TAR sẽ tăng liên tục từ 0 cho đến TACCR0 rồi giảm dần về giá trị 0.




2. Các phương pháp reset Timer_A
- Ghi 0 vào thanh ghi TAR
- Ghi 0 vào thanh ghi TACCR0
- Thiết lập Bit TACLR trong thanh ghi điều khiển Timer (TACTL)

3.Chế độ Capture
Được sử dụng cho sự đo lường chu kỳ thời gian của các sự kiện với các sự can thiệp rất nhỏ của CPU
- Set Bit CAP để lựa chọn chế độ này
- Set Bit SCS đề đồng hồ Capture với khối Timer kế tiếp
- Tín hiệu vào được lấy mẫu bởi CCIxA, được lựa chọn bởi Bit CCISx trong thanh ghi TACCTLx
- Thiết lập Bit CMx để lựa chọn các chế độ Capture
- Khi một xung hợp lệ được phát hiện trên ngã vào thì giá trị trong TAR được chốt trong thanh ghi TACCRx cung cấp một mốc thời gian cho sự kiện
- Cờ ngắt CCIFG được Set
- Bit COV = 1 điều khiển sự tràn sự kiện khi một capture thứ 2 được sử dụng, trước khi giá trị từ capture đầu tiên được đọc

4. Chế độ Compare
Sử dụng để tạo ra những xung ngã ra và điều chỉnh độ rộng xung ngã ra
- Reset Bit CAP để lựa chọn chế độ Compare
- TAR đếm lên đến giá trị được lập trình trong thanh ghi TACCRx
- Khi giá trị Timer bằng giá trị trong thanh ghi TACCRx thì ngắt được sinh ra. Cờ ngắt CCIFG thì Set, EQUx=1
- EQUx có tác dụng so sánh tín hiệu ngã ra OUTx phù hợp với OUTMODx
- Tín hiệu vào CCI được chốt trong SCCI

5. Hoạt động ngã ra




Các thanh ghi Timer_A



1. TACTL, Timer_A control

- TASSELx: Lựa chọn nguồn xung clock Timer_A

  • 00 TACLK
  • 01 ACLK
  • 10 SMCLK
  • 11 INCLK

- IDx: Bộ chia tín hiệu vào

  • 00   /1
  • 01   /2
  • 10   /4
  • 11   /8

- MCx: Bit điều khiển

  • 00 STOP
  • 01 UP
  • 10 CONTINUOUS
  • 11 UP/DOWN
- TACLR: Xóa Timer_A. Set bit này sẽ reset TAR, IDx
- TAIE: Cho phép ngắt Timer_A
  • 0  Không cho phép ngắt
  • 1  Cho phép ngắt
- TAIFG: Cờ ngắt Timer_A
  • 0  Không có trì hoãn ngắt
  • 1  Có trì hoãn ngắt
2. TAR, Timer_A counter

3. TACCTLx, Capture/Compare control

- CMx: Chế độ Capture
  • 00  Không Capture
  • 01  Capture trên cạnh lên
  • 10  Capture trên cạnh xuống
  • 11 Capture trên cả 2 cạnh lên và xuống
- CCisx: Lựa chọn ngã vào Capture/Compare
  • 00  CCIxA
  • 01  CCIxB
  • 10  GND
  • 11  VCC
- SCS: Đồng bộ nguồn Capture
  • 0  Không đồng bộ
  • 1  Đồng bộ
- SCCI: Đồng bồ ngã vào Capture/Compare. Lựa chọn tín hiệu vào CCI thì được chốt với tín hiệu EQUx và có thể đọc thông qua bit SCCI

- CAP: Chọn chế độ
  • 0  Compare
  • 1  Capture
- OUTMODx: Chọn chế độ ngã ra
  • 000  Out
  • 001  Set
  • 010  Toggle/Reset
  • 011  Set/Reset
  • 100  Toggle
  • 101  Reset
  • 110  Toggle/Set
  • 111  Reset/Set
- CCIE: Cho phép ngắt Capture/Compare.
  • 0  Không cho phép ngắt
  • 1  Cho phép ngắt
- CCI: Ngã vào Capture/Compare có thể đọc bới bit này
- OUT: Ngã ra
  • 0  Mức thấp
  • 1  Mức cao
- COV: Sự tràn Capture
  • 0  Không xuất hiện tràn Capture
  • 1  Xuất hiện tràn Capture
- CCIFG: Cờ ngắt Capture/Compare
  • 0  Không có trì hoãn ngắt
  • 1  Có trì hoãn ngắt
4. TACCRx, Timer_A Capture/Compare
TACCRx: là thanh ghi Timer_A Capture/Compare
- Chế độ Capture: TAR được copy vào thanh ghi TACCRx khi Capture được sử dụng
- Chế độ Compare: Thanh ghi TACCRx chứa dữ liệu của sự so sánh giá trị Timer trong TAR

5. TAIV, Timer_A interrupt vector
TAIVx: Giá trị vector ngắt Timer_A
  • 00h  Không có trì hoãn ngắt
  • 02h  Cờ TACCR1 CCIFG
  • 04h  Cờ TACCR2 CCIFG
  • 06h  Được dự trữ
  • 08h  Được dự trữ
  • 0Ah Cờ TAIFG
  • 0Ch Được dự trữ
  • 0Eh Được dự trữ

Video hướng dẫn Timer_A



0 nhận xét :

Post a Comment

Note: Only a member of this blog may post a comment.