no_mercy9080

New Member

Download miễn phí Tài liệu về Thiết bị PSoC





Tại thời điểm khởi động chíp, WDT khởi đầu là bị đóng. Bit PORS trong thanh
ghi điềukhiển hệ thống sẽ điều khiển mở WDT. Tại lúc khởi động bit PORS khởi đầu
được đặt là1, nó chỉ rõrằng hoặcsựkiện POR hay XRESđãxảy ra. WDTđược mở
bằng cách xóa bit PORS. Một khi bit này được xóa vàbộ định thời watchdog đi vào
hoạt động thì nó sẽ không thể bị đóng (vì bit PORS không thể được set lên 1 bởivi
chương trình, nó chỉ có thể bị xóa). Cách duy nhất để vôhiệu hóa chức năng watchdog
sau khi nó đã được mở là thông qua POR hay XRES. Mặc dù WDT bị vôhiệu hóa từ
lúc POR hay XRES cho đến hết mãkhởi đầu, nhưng toànbộ mã chương trình nên được
viết nhưthểlà nó đang được mở. (WDT cần được xóa một cách định kỳ). Lý do là
vì trong mãkhởi đầu sau sự kiện WDR (watchdog reset), bộ định thời watchdog được
mở và tất cả các mã chương trình cần biết điều này



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

o động thạch anh bên ngoài thì bit 7 của thanh ghi điều khiển bộ dao
động OSC_CR0 cần đ−ợc đặt = 1 (mặc định là 0). Thành phần bên ngoài chỉ là
một thạch anh và 2 tụ nhỏ nối với Vcc. (xem hình vẽ). Chuyển đổi giữa bộ dao động
ngoài và bộ dao động trong có thể làm cho bus hệ thống không đồng bộ.
Trong tiến trình kích hoạt bộ ECO, nó cần một khoảng thời gian tách rời tr−ớc
khi đ−ợc sử dụng nh− là một nguồn xung nhịp 32 kHz. Khoảng thời gian tách rời này
đ−ợc bổ xung vào phần cứng bằng Sleep Timer. Vi ch−ơng trình (Firmware - phần
mềm đ−ợc nạp cố định trong chíp) cần đ−ợc thiết lập thời gian nghỉ khoảng 1 giây
(khoảng thời gian lớn nhất của ECO), và sau đó cho phép ECO bằng thanh ghi
70
Tài liệu về PSoC – Bản quyền thuộc Nguyễn Xuân Sơn – ĐKTĐ1 – K44 – ĐHBKHN
OSC_CR0. Tại thời gian nghỉ 1 giây (ngắt của Sleep Timer), chuyển mạch sang ECO
đ−ợc tạo ra bởi phần cứng. Nếu sau đó ECO không hoạt động thì ILO sẽ đ−ợc kích
hoạt lại và chuyển mạch sẽ chuyển lại với ILO ngay lập tức.
Các b−ớc của vi ch−ơng trình cần thực hiện trong việc chuyển đổi giữa bộ phát
xung nhịp chậm nội tại sang bộ phát xung nhịp thạch anh 32kHz nh− sau:
1. Tại thời điểm reset, chip bắt đầu hoạt động và nó sử dụng bộ phát xung nhịp
chậm nội tại.
2. Lựa chọn khoảng thời gian nghỉ 1 giây bằng bit[4] trong thanh ghi OSC_CRO
nh− là khoảng thời gian để ổn định bộ phát xung nhịp.
3. Cho phép bộ pháp xung nhịp thạch anh 32kHz bằng cách đặt bit 7 trong thanh
ghi OSC_CR0 lên 1.
4. Bộ phát xung nhịp thạch anh 32kHz trở thành nguồn xung nhịp đ−ợc lựa chọn
tại điểm kết thúc của một giây nghỉ nói trên. Khoảng thời gian nghỉ cho phép bộ
phát xung nhịp có thời gian để ổn định tr−ớc khi nó trở thành nguồn cung cấp
xung nhịp. Ngắt Sleep không đ−ợc mở trong khi việc chuyển đổi đang diễn ra.
Reset lại Sleep Timer để đảm bảo khoảng thời gian nghỉ cần thiết (nếu nh− nó
không giao tiếp với bất cứ một hệ thống thời gian thực nào). L−u ý rằng bộ phát
xung nhịp tốc độ thấp vẫn tiếp tục chạy cho đến khi chuyển hẳn sang bộ phát
xung nhịp ngoài nhờ vào ngắt của Sleep Timer.
5. Một lời khuyên là nên đợi hết một giây để bộ phát xung nhịp ổn định rồi mới
cho phép chế độ PLL chốt tần số bộ phát xung nhịp nội tại với tần số của bộ
phát xung nhịp thạch anh 32kHz.
L−u ý:
a. Bộ phát xung nhịp nội tại sẽ đ−ợc chuyển trở lại ngay lập tức bằng cách viết giá
trị 0 vào bit điều khiển [32k Select].
b. Nếu thiết lập thích hợp đ−ợc lựa chọn trong PSoC Designer thì những b−ớc trên
sẽ đ−ợc thực hiện tự động trong file boot.asm
c. Chuyển đổi phạm vi hai bộ phát xung nhịp có thể làm cho xung nhịp bus hệ
thống không đồng bộ. Những chức năng yêu cầu xung nhịp 32k nên mở sau khi
đã chuyển đổi xong.
4.4. Vòng chốt pha - Phase Locked Loop (PLL)
Bảng 4 - 30: Thanh ghi của Phase Locked Loop
Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Access
1,E0h OSC_CR0 32k Select PLL Mode No Buzz Sleep[1] CPU Speed [2] RW:00
1,E2h OSC_CR2 PLLGAIN EXTCLKEN IMODIS SYSCCKX2DIS RW:00
Chức năng PLL sẽ phát ra xung nhịp hệ thống với độ chính xác của thạch anh. Nó
đ−ợc thiết kế để cung cấp một bộ phát xung nhịp 23.986 MHz khi sử dụng với thạch
anh 32.768 kHz
Mặc dù PLL ăn theo độ chính xác của thạch anh. Nó vẫn yêu cầu thời gian để
chốt vào tần số chíp khi khởi động lần đầu. Độ dài của thời gian phụ thuộc vào
PLLGAIN đ−ợc điều khiển bởi bit 7 trong thanh OSC_CR2. Nếu bit này đ−ợc giữ ở
mức thấp thì thời gian chốt sẽ nhỏ hơn 10ms. Nếu bit này đ−ợc giữ ở mức cao thì thời
gian chốt sẽ lớn hơn 50ms. Sau khi việc chốt hoàn tất thì bit này đ−ợc khuyến cáo là
71
Tài liệu PSoC – biên dịch từ Datasheet bởi Nguyễn Xuân Sơn ĐKTĐ1 – K44 - ĐHBKHN
nên giữ ở mức cao để giảm sự bất ổn ở đầu ra. Nếu có thể v−ợt qua đ−ợc thời gian chốt
dài hơn thì bit PLLGAIN có thể đ−ợc giữ ở mức cao trong suốt thời gian còn lại.
Sau khi bộ phát xung nhịp thach anh bên ngoài đ−ợc lựa chọn và hoạt động thì
những thủ tục sau đây sẽ cho phép chế độ PLL và cho phép chốt tần số thích hợp
a. Chọn tần số CPU là 3 MHz hay nhỏ hơn
b. Mở chế độ PLL
c. Đợi 10 ms hay 50ms, phụ thuộc vào bit 7 trong thanh ghi OSC_CR2
d. Đặt tần số CPU lên cao hơn nếu muốn. Để làm việc này thì ta thay đổi
giá trị các bit CPU Speed trong thanh ghi OSC_CR0. Tần số của CPU sẽ
đ−ợc thay đổi ngay lập tức khi những bit này đ−ợc set.
Nếu những thiết lập thích hợp đ−ợc lựa chọn trong PSoC Designer thì những b−ớc
trên sẽ đ−ợc thực hiện tự động trong file boot.asm
4.5. Sleep and Watchdog
Bảng 4 - 31: Những thanh ghi của Sleep và Watchdog.
Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Access
0,E0h INT_MSK0 VC3 Sleep GPIO Analog3 Analog2 Analog1 Analog0 V Monitor RW:00
0,E3h RES_WDT WDSL_Clear[7] W:00
x,FEh CPU_SCR1 IRAMDIS RW:00
1,E0h OSC_CR0 32k Select PLL Mode No Buzz Sleep[1] CPU Speed [2] RW:00
1,E9h ILO_TR Bias Trim[1] Freq Trim[3] W:00
1,EBh ECO_TR PSSDC[1] W:00
x,FFh CPU_SCR0 GIES WDRS PORS Sleep STOP RW:XX
Chỉ dẫn:
X: Giá trị sau khi reset nguồn là không rõ
x, Ký tự ‘x’ đứng tr−ớc dấu phẩy trong tr−ờng địa chỉ chỉ rõ rằng thanh ghi này có thể đ−ợc
truy nhập mà không cần biết là dãy thanh ghi nào đang đ−ợc sử dụng
Mục đích của chế độ nghỉ là để giảm năng l−ợng tiêu thụ trung bình của hệ thống
đến mức có thể. Hệ thống đi vào chế độ nghỉ đ−ợc khởi tạo và điều khiển bởi vi ch−ơng
trình. Trong trạng thái này, CPU đ−ợc dừng lại ở một biên giới lệnh và bộ phát xung
nhịp 24/48 MHz, modun bộ nhớ Flash và điện áp tham chiếu band-gap giảm năng
l−ợng tiêu thụ. Khối PSoC duy nhất còn hoạt động là bộ phát xung nhịp 32 kHz (bên
ngoài hay bên trong). Khối PSoC bấm giờ từ sự lựa chọn xung nhịp 32kHz và mạch
theo dõi điện áp cung cấp.
Các khối PSoC t−ơng tự có hai chế độ giảm nguồn đ−ợc điều khiển bởi vi ch−ơng
trình và độc lập với trạng thái nghỉ. Khối continuous time analog có thể vẫn hoạt động,
từ khi chúng không yêu cầu nguồn xung nhịp. Tuy nhiên, khối analog SC sẽ không
hoạt động từ lúc nguồn xung nhịp nội tại cung cấp cho chúng ngừng hoạt động.
Hệ thống có thể chỉ đ−ợc đánh thức khỏi chế độ nghỉ bằng một yêu cầu ngắt hay
sự kiện reset hệ thống. Đồng hồ nghỉ cung cấp những ngắt định kỳ để cho phép hệ
thống thức dậy, thăm dò ngoại vi, thực hiện chức năng thời gian thực và sau đó lại đi
vào chế độ nghỉ lần nữa. Ngắt của chân GPIO, ngắt theo dõi nguồn, ngắt của cột khối
t−ơng tự, và nguồn xung nhịp ngoài hay xung nhịp 32k ở bên trong đ−ợc sử dụng làm
mẫu để đồng bộ hóa những ngắt có thể đ−ợc dùng để đánh thức hệ thống dậy.
Mạch định thời Watchdog đ−ợc thiết kế để sinh ra một ngắt cứng tới chíp sau một
khoảng thời gian đ−ợc lập trình tr−ớc, trừ khi nó đ−ợc phục vụ một cách định kỳ trong
vi ch−ơng trình. Chức năng này sẽ reset hệ thống nếu nh− CPU hoạt động sai. Nó cũng
có thể reset nếu nh− hệ thống bị treo.
72
Tài liệu về PSoC – Bản quyền thuộc Nguy
 

Các chủ đề có liên quan khác

Top