Thông báo

Collapse
No announcement yet.

Chế độ nghỉ trong MSP430

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Chế độ nghỉ trong MSP430

    Cho tui hỏi là cách chuyển đổi qua lại giữa các chế độ nghỉ (Low Power) trong MSP430 là như thế nào? Tui muốn lập trình như thế này: khởi tạo---->đợi ngắt(cho MSP430 nghỉ)---> (xảy ra ngắt) làm chương trình ngắt--->cho MSP430 nghỉ và đợi ngắt tiếp tục. Nhưng lập trình quài mà vẫn không được, các bạn chỉ cho tui cách chuyển đổi giữa các chế độ nghỉ này đi? Cám ơn trước nge!

  • #2
    Bạn đọc thêm cái này để tham khảo:
    ACLK là Auxiliary clock tức xung phụ trợ. Và phần mềm có thể lựa chọn cho các modlue ngoại vi sử dụng. Xung ACLK đuơc dùng chủ yếu ở các mode low power.
    MCLK mà Master clock là clock chính cho MCU hoạt động từng dòng lệnh của e sẽ chạy bằng xung này.
    SMCLK là Sub -Main clock thường để dùng sử dụng cho các module ngoại vi.
    Còn về 5 mode cụ thể như sau.
    Truớc tiên nói về năng luợng tiêu thụ của MCU: Ta giả sử như all các port đều là input. vậy năng luợng tiêu thụ chính chính là năng luợng của xung chương trình mình đang thực thi, mà chuơng trình muốn thưc thi thì phải có xung clock. Xung clock lại có nhiều nguồn như: ACLK,MCLK,SMCLK,DCO. vậy nếu ta cứ tắt dần các nguồn clock thì sẽ chẳng tốn năng luợng gì nữa. thế là sinh ra các mode low power.
    Chi tiết các mode như sau:
    +Active mode là mode hoạt động bình thuờng xung đầu enable.
    +Low power mode 0(LPM0). là mode chỉ có MCLK disable. Nên MCU sẽ bị disable. Tức chuơng trình sẽ tạm dừng. Còn các ngoại vi vẫn hoạt động bt với tần số = với DCO là khoảng 1-16MHz.
    +LPM1: MCLK disable. DCO(nguồn dao động nội) disable. Mà DCO là nguồn cung cấp clock chính cho SMCLK. Nên nếu DCO đã bị disable thì vi điều khiển chỉ còn nuớc là dùng xung ACLK đề chạy ngoại vi, Mà xung này tần số thuờng là 32768Khz của thạch anh ngoài. Năng luợng lại tỷ lệ thuận với tần số thông thường với 2553 là 330uA/1MHz.
    Nói tóm lại vì thế nó tiết kiệm hơn thằng mode 0.
    +LPM2: MCLK và SMCLK disable. ở mode này thì ngoại vi đều bị mất xung hết và MCU cũng tạm dừng và ngoại vi cũng chỉ dùng đựoc xung từ ACLK. chỉ còn DCO và ACLK hoạt động nên tiết kiệm hơn thằng trên 1 chút nữa.
    +LPM3:MCLK,SMCLK,DCO disable,chỉ còn mình thằng ACLK hoạt động.Nên còn tiết kiệm nữa luôn. Mode này thuờng dùng cho những ngoại vi chỉ sử dụng xung ACLK. Như những ứng dụng dùm watchdog hoặc timer để định kì làm việc. Thức dậy cái rồi ngủ luôn. .
    +LPM4: Cái này thì kinh khủng hơn nữa. All cả sẽ tắt hết luôn, Chỉ có duy nhất ngắt ngoại vi, tức ngắt IO cụ thể là ngắt từ các port mới đánh thức đuợc MCU. Mode này thuờng dùng trong những chuơng trình chỉ làm nhiệm vụ đọc dữ liệu từ IO nếu có thay đổi, rồi xử lý xong ngủ tiếp.

    Comment


    • #3
      Cám ơn anh Tranhieu_ece rất nhiều! Vấn đề về xung luôn làm cho em rối trí...Sẵn đây anh cho em hỏi luôn là nếu em sử dụng LMP4 thì xung mà CPU sử dụng là ACLK phải không? Nếu em không gắn thạch anh ngoài thì tần số tần số làm việc của MCU là 32768KHz có đúng không?

      Comment

      Về tác giả

      Collapse

      butterfly007 Tìm hiểu thêm về butterfly007

      Bài viết mới nhất

      Collapse

      Đang tải...
      X